#rocksdb #leveldb #kv #std

mmdb

类似于 std-collection 的数据库

2 个稳定版本

1.1.1 2024 年 6 月 28 日
1.1.0 2024 年 6 月 18 日
1.0.0 2024 年 5 月 28 日

#262数据库实现


用于 4 个 crate (3 直接)

GPL-3.0 许可证

230KB
6.5K SLoC

GitHub top language Rust Latest Version Rust Documentation Minimum rustc version

mmdb

mmdb 是一个类似于 '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,在后端数据库中启用压缩

注意

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

依赖项

~2–12MB
~147K SLoC