3 releases (stable)
1.1.0 | Oct 1, 2024 |
---|---|
1.0.0 | Sep 20, 2024 |
1.0.0-pre.2 | Sep 14, 2024 |
1.0.0-pre.1 |
|
0.0.1 |
|
#314 in Database implementations
1,221 downloads per month
Used in 3 crates
(via lsm-tree)
94KB
2K
SLoC
Generic value log implementation for key-value separated storage, inspired by RocksDB's BlobDB [1] and Titan [2] and implemented in safe, stable Rust.
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.
Features
- 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.
Feature flags
serde
Enables serde
derives.
Disabled by default.
Stable disk format
The disk format is stable as of 1.0.0. Future breaking changes will result in a major version bump and a migration path.
License
All source code is licensed under MIT OR Apache-2.0.
All contributions are to be licensed as MIT OR Apache-2.0.
Footnotes
Dependencies
~3–12MB
~137K SLoC