Show HN: ToplingDB - A Persistent Key-Value Store for External Storage
10 months ago
- #rocksdb
- #database
- #performance
- ToplingDB is developed and maintained by Topling Inc. and built with RocksDB.
- ToplingDB's submodule rockside serves as the entry point.
- Key features include SidePlugin for DB configs via JSON/YAML, Embedded Http Server for DB info and online changes, and performance improvements over RocksDB.
- ToplingDB offers faster transaction lock management, MultiGet with concurrent IO, and de-virtualization for performance.
- Features like zero copy for searches, memtable as log index, and builtin SidePlugins enhance functionality.
- Includes Prometheus metrics support and bugfixes for RocksDB.
- Supports MyTopling (MySQL on ToplingDB) and Todis (Redis on ToplingDB).
- SidePlugin allows plugins to be compiled as dynamic libs and loaded at runtime without code changes.
- ToplingDB's structure includes public and private repositories for community and enterprise versions.
- Compilation requires C++17, with gcc 8.3 or newer recommended.
- Installation and setup instructions provided for Linux systems.
- Performance benchmarks show ToplingDB is faster than RocksDB, with options for community and enterprise configurations.
- Disabled RocksDB features by default for simplicity, with macros to enable them.
- License terms updated to remove restrictions on bytedance usage.
- RocksDB, the foundation of ToplingDB, is developed by Facebook and built on LevelDB, offering a fast key-value server for flash storage.