5 个版本

0.0.5 2024年2月24日
0.0.4 2023年11月28日
0.0.3 2023年9月12日
0.0.2 2023年3月19日
0.0.1 2023年3月19日

#6 in #lsm-tree

Download history 936/week @ 2024-04-22 1576/week @ 2024-04-29 955/week @ 2024-05-06 2333/week @ 2024-05-13 1359/week @ 2024-05-20 1238/week @ 2024-05-27 865/week @ 2024-06-03 671/week @ 2024-06-10 342/week @ 2024-06-17 422/week @ 2024-06-24 212/week @ 2024-07-01 311/week @ 2024-07-08 300/week @ 2024-07-15 201/week @ 2024-07-22 232/week @ 2024-07-29 216/week @ 2024-08-05

974 每月下载量
用于 9 个crate (5 个直接)

Apache-2.0

18MB
382K SLoC

C++ 356K SLoC // 0.1% comments Python 9K SLoC // 0.1% comments Rust 8K SLoC // 0.1% comments Shell 4K SLoC // 0.2% comments C 3K SLoC // 0.0% comments GNU Style Assembly 542 SLoC // 0.1% comments INI 430 SLoC // 0.1% comments PowerShell 312 SLoC // 0.2% comments Bitbake 167 SLoC // 0.2% comments Bazel 100 SLoC // 0.5% comments

rust-Speedb

RocksDB build crates.io documentation license Gitter chat rust 1.63.0 required

GitHub commits (since latest release)

要求

  • Clang 和 LLVM

贡献

欢迎反馈和pull requests!如果您认为RocksDB的某个特性很重要,请通过打开一个issue来告诉我,我会将其优先处理。

用法

此绑定与RocksDB的特定版本进行静态链接。如果您想自己构建它,请确保您已经克隆了RocksDB和压缩子模块

git submodule update --init --recursive

压缩支持

默认情况下,通过crate功能启用了Snappy、LZ4、Zstd、Zlib和Bzip2压缩的支持。如果不需要所有这些压缩算法的支持,可以禁用默认功能并启用特定的压缩算法。例如,要仅启用LZ4压缩支持,请对您的Cargo.toml文件进行以下修改

[dependencies.rocksdb]
default-features = false
features = ["lz4"]

多线程ColumnFamily交替

底层的RocksDB允许在多个线程中并发创建和删除列族。但此crate默认不允许,以保持兼容性。如果您需要并发修改列族,请启用名为 multi-threaded-cf 的crate功能,这将使此绑定默认使用RwLock。或者,您可以直接创建 DBWithThreadMode<MultiThreaded> 而无需启用crate功能。

依赖

~0.3–4.5MB
~77K SLoC