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
- 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.

