value-log

Crates.iovalue-log
lib.rsvalue-log
version
sourcesrc
created_at2024-03-12 19:42:24.836005
updated_at2025-01-05 17:02:56.884786
descriptionValue log implementation for key-value separated LSM storage
homepagehttps://github.com/fjall-rs/value-log
repositoryhttps://github.com/fjall-rs/value-log
max_upload_size
id1170927
Cargo.toml error:TOML parse error at line 24, column 1 | 24 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Marvin (marvin-j97)

documentation

README

CI docs.rs Crates.io MSRV dependency status

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.

bytes

Uses bytes as the underlying Slice type.

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

[1] https://github.com/facebook/rocksdb/wiki/BlobDB

[2] https://docs.pingcap.com/tidb/stable/titan-overview/

Commit count: 188

cargo fmt