Awesome
Embeddable data storage engines
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. |