寻找磁盘绑定的b-tree示例

Arn*_*sen 5 c# algorithm b-tree disk

也许我的google-foo只是不适合鼻烟,但我想玩一个绑定到磁盘的b-tree算法.由于大多数教程和示例都在内存中,因此它们假设随机访问内存,其中树中的更改节点足够简单,但除了I/O密集型重写或使用内存映射文件之外,我无法想到一个好的做法.

理论会很好,C#或Java会更好.

编辑:我为缺乏清晰度而道歉.我不是在寻找要使用的产品或代码库,而是一个示例或说明性的代码库,以便更好地理解如何构建磁盘支持的b树.

小智 1

首先,查看来自google 的顶部第二、第三、第四和第五结果。

其次,请参阅此 stackoverflow线程,其中有非常相似的问题。

第三,如果您使用 MSSQL 作为示例,您可以在此处阅读一些内容并按此处所述可视化页面(就像缓存行拆分一样,最小化此类拆分非常重要)。例如,MSSQL 对可索引的数据施加了大小限制,即 8k = 页大小。

第四,请参阅我的问题的答案,我必须在这里提供这个答案 。或者,您可以使用十六进制编辑器来查看数据库文件并查看事物是如何映射的,但这是极端的。