Show HN: TidesDB – Fast, transactional storage optimized for flash and RAM
13 days ago
- #key-value-store
- #LSM-tree
- #database-library
- TidesDB is a fast and efficient key-value storage engine library written in C, based on LSM-tree.
- Supports ACID transactions with read committed isolation and serialized writers per column family.
- Non-blocking operations: writers don't block readers, and readers don't block other readers.
- Isolated key-value stores with individual configurations for each column family.
- Bidirectional iterators with heap-based merge-sort and efficient seek operations (O(log n)).
- Durability through WAL (write ahead log) and automatic recovery on startup.
- Optional features: background compaction, bloom filters, compression (Snappy, LZ4, ZSTD), TTL, custom comparators.
- Two sync modes: NONE (fastest) and FULL (most durable).
- Per-column-family configuration for memtable size, compaction, compression, bloom filters, etc.
- Clean C API with cross-platform support for Linux, macOS, and Windows.
- Optional succinct trie block indexes for fast sstable lookups with reduced memory footprint.
- Efficient deletion via tombstone markers and configurable LRU cache for open file handles.
- Storage engine thread pools for background flush and compaction.
- Licensed under Mozilla Public License Version 2.0, with dependencies under BSD and Apache 2.0 licenses.