WhiteDB (wgdb) README
November 11, 2013 ยท View on GitHub
WhiteDB is a lightweight database library operating fully in main memory. Disk is used only for dumping/restoring database and logging.
Data is persistantly kept in the shared memory area: it is available simultaneously to all processes and is kept intact even if no processes are currently using the database.
WhiteDB has no server process. Data is read and written directly from/to memory, no sockets are used between WhiteDB and the application using WhiteDB.
WhiteDB keeps data as N-tuples: each database record is a tuple of N elements. Each element (record field) may have an arbitrary type amongst the types provided by WhiteDB. Each record field contains exactly one integer (4 bytes or 8 bytes). Datatypes which cannot be fit into one integer are allocated separately and the record field contains an (encoded) pointer to the real data.
WhiteDB is written in pure C in a portable manner and should compile and function without additional porting at least under Linux (gcc) and Windows (native Windows C compiler cl). It has Python and experimental Java bindings.
WhiteDB has several goals:
- speed
- portability
- small footprint and low memory usage
- usability as an rdf database
- usability as an extended rdf database, xml database and outside these scopes
- seamless integration with the Gandalf rule engine (work in progress)
See http://whitedb.org for up-to-date documentation and other information. This distribution also includes various documentation:
- Doc/Install.txt - the installation instructions
- Doc/Tutorial.txt - getting started with the database
- Doc/Manual.txt - full C API documentation
- Doc/Utilities.txt - command line utilities and other programs
- Doc/python.txt - Python API documentation
WhiteDB is licenced under GPL version 3.
NOTE: if you're looking for release packages, please don't use the ones Github generates automatically. Get them from http://whitedb.org/download.html instead.