Tracking, Benchmarking and Sharing Information about an open source embedded data storage engines, internals, architectures, data storage and transaction processing.
If you would like to share a material or make a correction, please use GitHub or contact me by Email.
name | language | license | storage | description |
---|---|---|---|---|
Berkeley DB | C | AGPLv3 or Proprietary | B-Tree, Hash | Berkeley DB (BDB) is a software library that provides a high-performance embedded database for key/value data. |
Tokyo/Kyoto Cabinet | C++ | GPLv2.1 / GPLv3 w/ compatibility exceptions | B-Tree, Hash | Tokyo Cabinet and Kyoto Cabinet are two libraries of routines for managing key-value databases. |
SQLite | C | Public Domain | B-Tree, LSM | SQLite is a relational database management system contained in a C programming library. |
UnQLite | C | 2-Clause BSD (Simplified) | Hash | UnQLite is a in-process software library which implements a self-contained, serverless, zero-configuration, transactional NoSQL database engine. |
LevelDB | C++ | 3-Clause BSD (New/Revised) | LSM | LevelDB is an open source on-disk key-value store written by Google. |
LevelDB by Basho | C++ | 3-Clause BSD (New/Revised) | LSM | A fork of LevelDB modified to benefit the Riak environment. |
LevelDB by HyperDex | C++ | 3-Clause BSD (New/Revised) | LSM | A fork of LevelDB intended to meet the needs of HyperDex while remaining compatible with LevelDB. |
RocksDB | C++ | Apache v2 or GPLv2 | LSM | RocksDB is an embeddable persistent key-value store for fast storage from Facebook. (LevelDB by Facebook) |
Sophia | C | 2-Clause BSD (Simplified) | Sophia | Sophia is an advanced transactional MVCC key-value/row storage library. |
WiredTiger | C | GPLv2 or GPLv3 | B-Tree, LSM | WiredTiger is a high performance, scalable, production quality, NoSQL, Open Source extensible platform for data management. |
Percona/TokuFT | C++ | GPLv2 or AGPLv3 | Fractal Tree | PerconaFT is a high-performance, transactional key-value store. |
ForestDB | C++ | Apache v2 | HB+-Trie | Forestdb - A Fast Key-Value Storage Engine Based on Hierarchical B+-Tree Trie. |
Sparkey | C | Apache v2 | Hash | Simple constant key/value storage library, for read-heavy systems with infrequent large bulk inserts. |
MDBM | C | 3-Clause BSD (New/Revised) | Hash | MDBM is a fast memory-mapped DBM clone by Yahoo. |
LMDB | C | OpenLDAPv2.8 (BSD-style) | B-Tree | Lightning Memory-Mapped Database (LMDB) is a software library that provides a high-performance embedded transactional database in the form of a key-value store. |
MDBX | C | OpenLDAPv2.8 (BSD-style) | B-Tree | Modified version of LMDB (Symas Lightning Memory-Mapped Database) |
NessDB | C | "BSD" | Buffered-Tree | A very fast transactional key-value, embedded database storage engine. |
Vedis | C | Sleepycat (GPL-style) or Proprietary | Hash | Vedis is an embeddable datastore C library built with over 70 commands similar in concept to Redis but without the networking layer. |
Rlite | C | 2-Clause BSD (Simplified) | Hash | Self-contained, serverless, zero-configuration, transactional Redis-compatible database engine. |
SkipDB | C | 3-Clause BSD (New/Revised) | Skip List | Small, portable, ACID, C implemented BDB style database based on skiplists instead of b-trees. |
EJDB | C | LGPLv2.1 | B-Tree, Hash | Embedded JSON Database engine C library. |
UpscaleDB | C | Apache v2.0 | B-Tree | A very fast lightweight embedded database engine with built-in analytic functions. |
Eblob | C | LGPLv3 | Eblob is an append-only low-level IO library, which saves data in blob files. | |
WhiteDB | C | GPLv3 or Proprietary or Royalty Free w/ Conditions | Hash | WhiteDB is a lightweight NoSQL database library written in C, operating fully in main memory. |
Beringei | C++ | 3-Clause BSD (New/Revised) | TimeSeries | Beringei is a high performance, in-memory storage engine for time series data. |
IOWOW | C | MIT | Skip List | The C11 persistent key/value storage engine library based on skip list data structure. |
Benchmarking
name | description |
---|---|
IOArena | IOArena is an utility designed for evaluating performance of embedded databases. |