Generic value log implementation for key-value separated storage, inspired by RocksDB's BlobDB [1] and Titan [2] and implemented in safe, stable Rust.
Note
This crate is intended as a building block for key-value separated storage. You probably want to use https://github.com/fjall-rs/fjall instead.
- Thread-safe API
- 100% safe & stable Rust
- Supports generic KV-index structures (LSM-tree, ...)
- Generic per-blob compression (optional)
- In-memory blob cache for hot data (can be shared between multiple value logs to cap memory usage)
- On-line garbage collection
Keys are limited to 65536 bytes, values are limited to 2^32 bytes.
Enables serde
derives.
Disabled by default.
Uses bytes
as the underlying Slice
type.
Disabled by default.
The disk format is stable as of 1.0.0.
All source code is licensed under MIT OR Apache-2.0.
All contributions are to be licensed as MIT OR Apache-2.0.