Skip to content

priitj/whitedb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Priit Järv
Dec 2, 2022
9d89810 · Dec 2, 2022
Jun 17, 2014
Dec 1, 2022
Dec 1, 2022
Dec 1, 2022
Dec 1, 2022
Oct 28, 2013
Oct 28, 2013
Dec 1, 2022
Aug 7, 2014
May 17, 2013
Oct 22, 2014
Dec 1, 2022
Dec 1, 2022
Aug 5, 2014
Jan 16, 2014
Dec 14, 2013
Dec 18, 2008
Oct 12, 2013
May 6, 2013
Dec 18, 2008
Oct 15, 2013
Oct 12, 2013
Sep 9, 2016
Oct 12, 2013
Jan 20, 2015
Nov 11, 2013
Apr 18, 2013
Aug 9, 2014
Oct 22, 2014
Nov 13, 2018
Nov 13, 2018
Dec 2, 2022
Oct 25, 2014
Oct 21, 2014
Nov 16, 2018
Sep 9, 2016

Repository files navigation

WhiteDB (wgdb) README

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.