https://github.com/priitj/whitedb
WhiteDB memory database
https://github.com/priitj/whitedb
Last synced: 28 days ago
JSON representation
WhiteDB memory database
- Host: GitHub
- URL: https://github.com/priitj/whitedb
- Owner: priitj
- License: gpl-3.0
- Created: 2013-05-19T08:59:41.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2022-12-02T17:22:51.000Z (about 3 years ago)
- Last Synced: 2025-04-17T23:03:48.661Z (9 months ago)
- Language: C
- Homepage: http://whitedb.org/
- Size: 3.07 MB
- Stars: 603
- Watchers: 47
- Forks: 74
- Open Issues: 18
-
Metadata Files:
- Readme: README
- Changelog: ChangeLog
- License: COPYING
Awesome Lists containing this project
- awesome-c - WhiteDB - Lightweight database library, operating entirely in main memory. [GPL-3.0-or-later](https://spdx.org/licenses/GPL-3.0-or-later.html) (Database)
- awesome-c-zh - WhiteDB - 轻量级数据库库,完全在main中运行记忆。[](https://spdx.org/licenses/GPL-3.0-or-later.html) (数据库)
- awesome-c - WhiteDB - Lightweight database library, operating entirely in main memory. [GPL-3.0-or-later](https://spdx.org/licenses/GPL-3.0-or-later.html) (Database)
README
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.