#key-value-store #log #database #bitcask #log-level #ok #datadir

nightly bin+lib bitrust

Bitcask 的 Rust 实现,可以作为二进制文件或库使用

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2021 年 5 月 13 日

#237 in 数据库实现

自定义许可证

105KB
2.5K SLoC

Bitrust

这是 Bitcask 的 Rust 实现,Bitcask 是一种持久化键值存储,适用于键空间适合内存的情况。这不是一个分布式数据存储,但可以作为构建块使用。

这个软件包还没有经过压力测试。虽然它应该足够用于实验,但我们不对数据的持久性做出任何保证。

运行

$ mkdir /tmp/bitrust_data
$ cargo run -- --configfile ./example_configs/no-automerge.toml --loglevel debug
> put foo bar
> get foo
Ok(Some("bar"))
> put baz spam
> put lala baba
> put baz egg
> lst
lala
foo
baz
> get baz
Ok(Some("egg"))
> quit 
$ less /tmp/bitrust_data/bitrust.log

您可以通过在 datadir 中跟踪 bitrust.log 来在单独的窗口中查看日志。

$ tail -f /tmp/bitrust_data/bitrust.log

数据目录内容

  • 数据文件以 N.data 存储格式保存,其中 N 是从 0 开始的整数。
  • .activefile 包含当前“活动”日志文件的名称(即,正在写入的文件)。所有其他数据文件都是不可变的。
  • bitrust.log 包含日志。日志级别由 -l/--loglevel 开关控制。

依赖项

~14–26MB
~395K SLoC