in reply to The POWER of flat files
in thread DBI vs MLDBM/GDBM_File, etc.

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:

  1. 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....
  2. 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.