I have about 30 MB of text data, which are basic to the algorithms that I use in my web application.
On the one hand, data is part of the algorithm, and data changes can lead to the failure of the entire algorithm. This is why I save the data in text files in my original control, and all changes are automatically checked (pre-commit). I currently have a good level of control. Distributing data with the source as we create more web instances is not a problem because it contains tags along with the source. I currently have the following issues:
- I often develop specialized file management tools by replicating the functionality of a database access tool
- I would like to provide non-developers with controlled web access to this data.
On the other hand, it is data, and it “belongs” to the database. I would like to place it in the database, but then I will have the following problems:
- How do I sync this database with source code? The release contains both code and data.
- How to send it with data when I create a new web server instance?
- How do I set up data pre-validation?
Things I looked at this way:
- Sqlite (does not allow non-developer access)
- Building a carefully prepared database that data users will edit to create “patches” into a “real” database that developers will accept, test and commit. It sounds very complicated. I have not fully developed this yet, and I'm sure that I am reinventing the wheel here and some SO user will show me the error of my paths ...
BTW: I also have a “regular” database, with things that are not algorithmic data.
BTW2: I added the Python tag because I am currently using Python, Django, Apache and Nginx, Linux (and some lame developers use Windows).
Thanks in advance!
UPDATE
Some examples of data (algorithms are natural language):
- Cities of the world and their alternative names
- Currency Names
- Hotel coordinates
The list goes on, but imagine that you are trying to make out the sentence Romantic hotel for 2 in Rome arriving in Italy next monday if someone changes the coordinates that teach me that Rome is in Italy, or if someone adds “romance” as an alternative name for Las Vegas (yes, the example is lame, but I hope you get a drift).
source share