in reply to BerkeleyDB and a very large file

BerkeleyDB does put a few limitations on you:
1) Not SQL. Should you decide you need to change databases for some reason, it will be more effort.
2) I am not sure if BerkeleyDB supports network access. As previously mentioned, network access is significantly slower, but it may be advantageous should you find a need to access the data from more than one system.
3) If you have lots of memory, and your record sizes are not too large, you can store the entire table in RAM, which makes MySQL much faster than using a disk table.
If you need to access the database very heavily, and the above are not important to you, BerkeleyDB is probably the way to go.

Replies are listed 'Best First'.
Re^2: BerkeleyDB and a very large file
by alexm (Chaplain) on Aug 22, 2008 at 01:06 UTC

    Another one, quite important: BerkeleyDB files are platform dependant, i.e. you cannot use a little-endian file on a big-endian platform and vice versa.

    On the other hand, BerkeleyDB doesn't provide network support, it's file based only.

        Well, you might think they can be used, but this notice on the Selecting a byte order shows that they're not actually so usable:

        It is important to note that the Berkeley DB access methods do no data conversion for application specified data. Key/data pairs written on a little-endian format architecture will be returned to the application exactly as they were written when retrieved on a big-endian format architecture.

        Thus, if I'm getting it right, you can actually read a BerkeleyDB file from a different platform, but first you'll have to convert both keys and data to native form in order to use them.