Estraier/tkrzw: a set of implementations of DBM

by byronheon 7/23/2020, 7:30 AMwith 1 comments

by byronheon 7/23/2020, 7:30 AM

https://dbmx.net/tkrzw/

DBM (Database Manager) is a concept of libraries to store an associative array on a permanent storage. In other words, DBM allows an application program to store key-value pairs in a file and reuse them later. Each of keys and values is a string or a sequence of bytes. The key of each record must be unique within the database and a value is associated to it. You can retrieve a stored record with its key very quickly. Thanks to simple structure of DBM, its performance can be extremely high.

Tkrzw is a C++ library implementing DBM with various algorithms. It features high degrees of performance, concurrency, scalability and durability. The following classes are provided.

HashDBM : File datatabase manager implementation based on hash table.

TreeDBM : File datatabase manager implementation based on B+ tree.

SkipDBM : File datatabase manager implementation based on skip list.

TinyDBM : On-memory datatabase manager implementation based on hash table.

BabyDBM : On-memory datatabase manager implementation based on B+ tree.

CacheDBM : On-memory datatabase manager implementation with LRU deletion.

Std(Hash|Tree)DBM : On-memory DBM implementations using std::unordered_map and std::map.

(Poly|Shard)DBM : Polymorphic and sharding datataba manager adapters.

(File|Mem)Index : Secondary index implementations.