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