Since everyone is coming down on flat-files, I figure its about
time for me to come to their defense.
Relational Databasese are great for most types of data
storage. Particilarly when the data will be accessed randomly,
when you need something that will maintain atomic transactions
and referential integrity for you, and having the physucal data-structure
abstracted for you.
However, there are several occasions when you can't
beat the speed and convenience of flat-files:
- data files that only need to be appended to
and are read infrequently or sequentially.
It is almost always faster to append a line to a
flat file than adding a row to a DB table; there is no
overhead of creating index entries, etc....
- data files that only need to be accessed sequentially
and completely, never randomly.
Also if your data is strongly heirarchical you could be
better off using a heirarchical datastore, such
as your computer's filesystem.