#kv #std #rocksdb #leveldb

vsdb

A std-collection-like database

52个版本 (2个稳定版)

1.0.1 2024年6月28日
0.70.0 2024年6月19日
0.62.1 2024年4月27日
0.62.0 2024年2月18日
0.11.6 2021年12月25日

#30 in #leveldb

Download history 32/week @ 2024-05-03 20/week @ 2024-05-10 20/week @ 2024-05-17 24/week @ 2024-05-24 35/week @ 2024-05-31 33/week @ 2024-06-07 168/week @ 2024-06-14 55/week @ 2024-06-21 290/week @ 2024-06-28 26/week @ 2024-07-05 42/week @ 2024-07-12 39/week @ 2024-07-19 125/week @ 2024-07-26 78/week @ 2024-08-02 73/week @ 2024-08-09 35/week @ 2024-08-16

每月下载 315
用于 8 个crate (6直接使用)

GPL-3.0 许可证

230KB
6.5K SLoC

GitHub top language Rust Latest Version Rust Documentation Minimum rustc version

vsdb

vsdb 是一个类似 'std-collection' 的数据库。

这是原始 vsdb 的简化版本,仅保留了最实用和稳定的部分。

查看更改日志请在此处.

亮点

  • 大多数API与标准库中的相应数据结构类似
    • 使用 Vecx 就像使用 Vec
    • 使用 Mapx 就像使用 HashMap
    • 使用 MapxOrd 就像使用 BTreeMap
  • ...

编译功能

  • [ 默认 ] rocks_backend,使用 rocksdb 作为后端数据库
    • 稳定
    • C++ 实现,难以编译成静态二进制
  • parity_backend,使用 parity-db 作为后端数据库
    • 实验性
    • 纯Rust实现,可以轻松编译成静态二进制
  • msgpack_codec,使用 rmp-serde 作为编解码器
    • 比json运行速度更快
  • json_codec,使用 serde_json 作为编解码器
    • 更好的通用性和兼容性
  • compress,在后台数据库中启用压缩

注意

  • vsdb实例的序列化结果不能用作分布式一致性的基础
    • 序列化结果仅包含一些元信息(存储路径等)
    • 这些元信息在不同环境中可能不同
    • 正确的方法是从中读取所需的内容,然后处理实际内容

依赖关系

~2–12MB
~147K SLoC