key-value-store - 提供手指 B 树的 LMDB 变体?

标签 key-value-store lmdb

A finger B-Tree是一个 B 树,它跟踪用户指定的叶子上的关联“汇总”操作。合并节点时,操作用于合并摘要;当节点被拆分时,使用节点的孙节点(但没有更深的节点)重新计算摘要。

通过在每次拆分/合并时更新摘要数据,手指 B-Tree 能够在最多 O(log n) 页面查找中回答对任何任意键范围内的摘要的查询(即沿着从根向下到范围的 floorkey 和范围的 ceilkey 的路径)。

我不认为 LMDB 支持开箱即用,但我很乐意错了。有人知道添加它的 LMDB 分支或变体吗?如果没有,是否有另一个轻量级持久(不一定是事务性)磁盘 BTree 库?

最佳答案

RocksDB 提供 custom compaction filtersmerge operators ,我认为它可以用于以相当有效的方式实现此类摘要。当然,它的架构与 LMDB 有很大不同。

关于key-value-store - 提供手指 B 树的 LMDB 变体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43416362/

相关文章:

python - 如何在 Python 中管理并发 LMDB 写入?

performance - 在键值存储中使用哈希作为 ID

database - 使用 LMDB 在内存数据库中

c++ - LMDB 增加map_size

python - 是否可以在未存储在 LMDB 等数据源中的数据集上运行 caffe 模型?

Python 与 Caffe : The custom data are all zeros when read from solver

node.js - 如何在redis中存储哈希数组

cassandra - 键值存储的优点是什么?

ios - 存储 session 信息 - 另一个核心数据表或 "key-value"格式(YAML,JSON)的单独 session 文件?

python - 在redis中存储带或不带散列的键值对