seerdb
Research-grade LSM storage engine with learned data structures.
Embedded key-value storage integrating learned indexes (ALEX), key-value separation (WiscKey), and workload-aware compaction from recent systems research.
Installation
[]
= "0.0.4"
Requires nightly Rust:
Quick Start
use ;
Features
- Learned indexes (ALEX) for adaptive key distribution
- Key-value separation (WiscKey) for reduced write amplification
- Merge operators for atomic read-modify-write (counters, lists)
- OCC transactions with snapshot isolation
- Point-in-time snapshots
- Range queries and prefix scans
- Tiered storage with S3/GCS/Azure support
- Compression (ZSTD/LZ4) and SIMD optimizations
Architecture
seerdb is a 7-level LSM tree with:
- Memtable: Partitioned skip list (16 partitions) with lock-free reads via
ArcSwap - WAL: Write-ahead log with configurable sync policies
- SSTable: Two-level index with ALEX learned index for data blocks, bloom filters, LZ4/ZSTD compression
- VLog: Optional WiscKey-style value log for large values (reduces write amplification)
- Compaction: Dostoevsky-inspired tiered/leveled hybrid with lazy leveling
Benchmarks
Run benchmarks with:
Testing