Tkrzw
dbmx.net
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
- Embedded Databases#26 of 306.8