c语言键值对存储开源库,开源Graviton数据库,号称“用于键值存储的ZFS”

近日,Github开源了一款数据库,自述文件中将自己比作“用于键值存储的ZFS”。Graviton数据库是一种简单、快速、版本化、认证、可嵌入的键值存储数据库。

简而言之,Graviton数据库类似于“用于键值存储的ZFS”,其中每一次写操作都用加密证明进行跟踪、版本控制和身份验证。另外,还可以对数据库进行快照。甚至在实时更新期间,也可以使用简单的copy、rsync命令进行数据库备份,而不会造成数据库的损坏。

121f9b8d5bb5c85e5637614d30535797.png

目前,Graviton数据库还处于预览版本阶段。目前,几乎全单元测试覆盖和随机黑盒测试用于确保数据库一致性和线程安全性。该项目已经拥有了100%的代码覆盖率。许多决定,如更改、重命名api、处理错误、哈希算法等,正在评估和开放改进和建议的过程中。

以下是其在自述文件中提到的一些重要特征:

经过身份验证的数据存储(所有键、值都由blake 256位校验和支持)。

仅追加数据存储。

支持2^64树(理论上)在一个单一的数据存储。

支持值版本跟踪。所有提交的更改都有版本控制,可以在任何时间访问它们。

快照(多树在单个版本中提交,导致多存储桶同步,可以访问,附加和进一步修改每个快照,删除键,修改值等,新键,值存储。)

能够遍历树中的所有键值对。

能够在线性时间内区分两棵树,并报告插入、删除、修改的所有变化。

最小和简化的API。

理论上支持EB数据存储,内部测试了多TB。

解耦的存储层,允许使用对象存储,例如Ceph,AWS等。

能够生成可以证明密钥存在或不存在的加密证明的能力(加密证明约为1KB。)

超快的证明生成时间,每个核心每秒约1000个证明。

支持基于磁盘的基于文件系统的持久性存储。

支持基于内存的非持久性存储。

100%的代码覆盖率。

与其他数据库的比较时,在自述文件中提到GravitonDB是唯一提供实时时间的数据库。同样,目前GravitonDB是唯一可以线性时间在2棵树之间进行区分的数据库。

【编辑推荐】

【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值