When/why should I start using a database?
I'm currently in the process of evaluating the design, and possible reimplementation of an in-house app our engineers use.
Although the application handles large amounts of data. Only two sets of values开发者_开发知识库 (floats) are saved along with a simple name and description of the data. In my opinion the current application is in overkill territory using a normalized access database to store what evaluates to 7 fields of strings and floats.
At what point do you start looking at transitioning from a flat file or serialized XML to a relational database or vice versa?
I would recommend using a lightweight database like SQLite which reduces a lot of the overhead of using a database.
http://sqlite.org
Databases can have huge advantages over flat files, even if you only have a single table with a few values.
They can dramatically improve query speed if you have a large amount of data - if you only need to find one value via a key, pulling this from a DB with an index prevents you from having to parse the entire file and search.
Databases are going to be better equipped to query the data. If you mean 7 values - use a flat file. If you mean 7 fields, where there could be hundreds or thousands of records (each containing 7 fields), then use a database - particularly if you need to sort or otherwise query those records.
You should use the db right away because of a key word: engineer s (the plural is key)
Trying to recreate the ACID principles of any worthwhile RDBMS, even for a small amount of data even for a few users, will clobber your chances for success. You also won't have backups, custom querying and a dozen of other abilities that an RDBMS provides "out of the box."
I start when I have to maintain a large set of related data entities.
When you a start having many-to-many or many-to-one type relationships within your data, it is time to think about using a relational database to maintain relational integrity.
精彩评论