我正在开发一个NoSQL数据库,该数据库使用基于64位散列的B +树来处理其某些索引,现在我正在考虑在持久性B +树上应用快照隔离多版本并发控制(SI MVCC)。
我遇到的第一个问题是B +树中的每个节点都有一个指向树中下一个节点的指针;一个64位指针,指向下一个节点所在文件中的字节地址。因此,当我更新记录节点时,必须更新B +树的那个分支中一直到根节点的所有节点 - 是否有更好/更简单的方法来避免这么多磁盘更新(通常为4')磁盘扇区/节点必须在每次写入记录时更新,每个节点都适合单个磁盘扇区)?一个单独的目录记录,可能包含所有链接节点的概述?