On Mon, Jun 24, 2013 at 11:59 PM, Ian Malone <ibmalone at gmail.com> wrote: > Having followed this thread for a while I'm wondering why HDF5, which > seems geared towards large numerical datasets and rather specialist, > would be preferable to sqlite if a dedicated database library is > needed for application settings. > > > -- > imalone Having used sqlite in the past, I would say that sqlite would be a more clunkier fit for these purposes, although it can and has been used for those purposes in other contexts. I would say HDF5 was designed to take care of numerical datasets but it isn't necessarily so specialized as to do that alone, much like ext4 can handle an exabyte but is still quite happy being a root fs on common linux distros. A key feature of HDF5 is that it allows storing compound types aka POD structs and arrays and the library takes care of getting to/from disk via the description in the compound type the developer builds and which is present in an existing file. You may consider this an ORM layer that is built into an FS. Unlike sqlite however, not everything has to be a table and any object can have any number of attributes to store additional metadata. One thing both would share however is additive changes to the structures will not break anything in terms of backwards compatibility. Both approaches also allow one to only reference what is needed which helps minimize breakage when non-additive changes are made to structures. -Jsaon