| Crates.io | lsm-tree |
| lib.rs | lsm-tree |
| version | 3.0.1 |
| created_at | 2023-12-10 14:40:11.280192+00 |
| updated_at | 2026-01-06 00:39:23.081758+00 |
| description | A K.I.S.S. implementation of log-structured merge trees (LSM-trees/LSMTs) |
| homepage | https://github.com/fjall-rs/lsm-tree |
| repository | https://github.com/fjall-rs/lsm-tree |
| max_upload_size | |
| id | 1064241 |
| size | 938,367 |
A K.I.S.S. implementation of log-structured merge trees (LSM-trees/LSMTs) in Rust.
[!NOTE] This crate only provides a primitive LSM-tree, not a full storage engine. For example, it does not ship with a write-ahead log. You probably want to use https://github.com/fjall-rs/fjall instead.
This is the most feature-rich LSM-tree implementation in Rust! It features:
BTreeMap-like APIKeys are limited to 65536 bytes, values are limited to 2^32 bytes. As is normal with any kind of storage engine, larger keys and values have a bigger performance impact.
Allows using LZ4 compression, powered by lz4_flex.
Disabled by default.
Uses bytes as the underlying Slice type.
Disabled by default.
cargo bench --features lz4
All source code is licensed under MIT OR Apache-2.0.
All contributions are to be licensed as MIT OR Apache-2.0.
[1] https://rocksdb.org/blog/2017/05/12/partitioned-index-filter.html
[2] https://github.com/facebook/rocksdb/wiki/BlobDB
[3] https://rocksdb.org/blog/2018/08/23/data-block-hash-index.html