HDF5 Extras  0.0.1
Convenience Functions for using HDF5 Better
sqlite3 vfs

Relational Databases

The realational database used is sqlite3. This database engine uses a single file to store all the tables and related data. It does not use a client/server structure, instead opting for a simpler C-library that does it all, and with no user names or passwords either. This design is exactly what is needed for an embedded database, such as what is needed by this project.

The major effort to get this to work with an internal HDF-5 Dataset was to write all the standard C I/O functions to work with a HDF-5 Dataset instead, to come up a with consistent naming scheme, and to then write a set of driver functions for sqlite3 to use. These driver functions are in the file demovfs.c and implement a standard interface that sqlite3 expects.

The spatialite spatial-relational database is implemented on top of sqlite3, and was also easily embedded into the hdf5-extras C-library with very little effort. The Vector object is implemented using these programs.

Spatialite

The spatialite spatial-relational database is full-featured, with many attributes needed for optimized spatial queries. The following summarizes this functionality.

[YET]

Other

Yet to discuss the differences between MetdataDatasets and also MetadataIFiles.

(yet) In order to make it possible for a function to optimize its function based on the available RAM, as well as the number of processors, the following functions are available:

The last two functions are a standard part of the OpenMP multi-core parallel processing library that is built-in to gcc. There are shown here to make it clear where they are used by processing functions.

There are also a variety of miscellaneous functions:

next: File Format