3个版本 (1个不稳定)
1.0.0-pre.1 | 2024年6月11日 |
---|---|
0.0.1 | 2024年3月12日 |
#341 in 数据库实现
78KB
1.5K SLoC
受RocksDB的BlobDB [1] 启发,在安全、稳定的Rust中实现的通用值日志实现。
该crate旨在作为键值分离存储的构建块。您可能希望使用 https://github.com/fjall-rs/fjall 代替。
特性
- 线程安全API
- 100%安全 & 稳定的Rust
- 支持通用的KV索引结构(LSM树等)
- 内置的按blob压缩(LZ4,Miniz)(可选)
- 内存中的blob缓存用于热数据 - 可在多个值日志之间共享以限制内存使用
- 在线垃圾回收
键限制为65536字节,值限制为2^32字节。
功能标志
lz4
允许使用由 lz4_flex
提供的 LZ4
压缩。
默认禁用。
miniz
允许使用由 miniz_oxide
提供的 DEFLATE/zlib
压缩。
默认禁用。
serde
启用 serde
derive。
默认禁用。
稳定的磁盘格式
自1.0.0起,磁盘格式是稳定的。未来的破坏性更改将导致主要版本号的增加和迁移路径。
许可证
所有源代码均受MIT OR Apache-2.0许可。
所有贡献都应按MIT OR Apache-2.0许可。
脚注
依赖项
~4–13MB
~149K SLoC