Skip to content
SPECIFICTION
Get listed

Tkrzw

dbmx.net

WindowsmacOSLinuxSelf-hosted
Visit dbmx.net
Spec score 6.8 #26 of 30 in Embedded Databases

Spec sheet

Purpose
Tkrzw is a C++ library that implements DBM for storing key-value records in files.Read 8 Oct 2026 · dbmx.net
Platforms
The project README says Tkrzw is available on UNIX-like systems including Linux, Mac OS, FreeBSD, and Solaris, and on Windows.Read 8 Oct 2026 · github.com
License
The project repository identifies the license as Apache-2.0.Read 8 Oct 2026 · github.com
Build tools
The README specifies GCC 7.3 or later, Clang, GNU make, and standard tools for Unix-like builds, and Visual Studio 2019 with C++ components for Windows builds.Read 8 Oct 2026 · github.com
Compression and encryption
HashDBM documents record compression options ZLib, ZStd, LZ4, and LZMA, and cipher options RC4 and AES.Read 8 Oct 2026 · dbmx.net
Concurrency
The API documentation says all database classes are thread-safe for simultaneous access by multiple threads.Read 8 Oct 2026 · dbmx.net
Core operations
The shared database interface supports setting, retrieving, and removing records, and iterating through records.Read 8 Oct 2026 · dbmx.net
Data structures
It provides file based hash, B+ tree, and skip list databases, plus several in-memory database implementations.Read 8 Oct 2026 · dbmx.net
Indexes
Tkrzw includes file and in-memory secondary index implementations and adapters.Read 8 Oct 2026 · dbmx.net
Indexes and adapters
The library includes polymorphic and sharding database adapters, an asynchronous adapter, and file and in-memory secondary index implementations.Read 8 Oct 2026 · dbmx.net
Java requirement
The Java binding documentation requires JDK 9 or later and says to install Tkrzw beforehand.Read 8 Oct 2026 · dbmx.net
Language bindings
Official documentation pages provide interfaces for Python, Java, Ruby, and Go in addition to the C++ library.Read 8 Oct 2026 · dbmx.net
Operational requirement
Opened databases must be explicitly closed to avoid data corruption.Read 8 Oct 2026 · dbmx.net
Operations
The shared database interface supports setting, retrieving, and removing records, plus iterating through records.Read 8 Oct 2026 · dbmx.net
Python requirement
The Python binding requires Python 3.6 or later and requires Tkrzw to be installed first.Read 8 Oct 2026 · dbmx.net
Record protection options
HashDBM supports configurable record CRC checks and lists AES and RC4 cipher modes among its record compression options.Read 8 Oct 2026 · dbmx.net
Remote access
The separate Tkrzw-RPC project provides a server and gRPC library so multiple processes can access databases managed by the server.Read 8 Oct 2026 · dbmx.net
Storage types
It provides file-backed hash, B+ tree, and skip-list databases, as well as in-memory hash, B+ tree, cache, and standard-container databases.Read 8 Oct 2026 · dbmx.net
Support model
The repository provides contribution instructions and sample code, while the opened project pages do not state a commercial support offering.Read 8 Oct 2026 · github.com

Where Specifiction places it

Alternatives to TkrzwAll alternatives →