寻找磁盘绑定的b树示例

问题描述

| 也许我的google-foo不能满足您的要求,但我想使用绑定到磁盘的b树alogrithm。由于大多数教程和示例都是基于内存的,因此它们假定使用随机存取存储器,其中更改树中的节点非常简单,但是除了I / O密集型重写或使用内存映射文件外,我无法想到好方法。 理论上会很好,C#或Java会更好。 编辑:我很抱歉缺乏明确性。我不是在寻找要使用的产品或代码库,而是一个示例或说明性的代码库,以更好地理解如何构建磁盘支持的b树。     

解决方法

        东京内阁(或京都内阁)是最快的键值数据库之一(也包含与B + Trees一起使用的键值数据库):)。我在对B + Tree进行基准测试时就使用了它,并且代码很容易理解。它是用C语言编写的,但也具有Java绑定... 东京内阁: http://fallabs.com/tokyocabinet/ Berkley DB也可以使用B + Tree。但是,当我对Berkley DB进行基准测试时,与Tokyo Cabinet相比,它非常慢... http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html     ,        首先,请参阅Google的第二,第三,第四和第五结果。 其次,看到这个非常类似的问题的stackoverflow线程。 第三,如果以MSSQL为例,您可以在此处阅读一些内容并按此处所述可视化页面(就像缓存行拆分一样,最小化此类拆分很重要)。例如,MSSQL还对可索引的数据施加了大小限制,即页面大小为8k =。 第四,看到我要问的问题的答案,我只能在这里提供这个答案 另外,您可以使用十六进制编辑器来查看数据库文件,并查看事物的映射方式,但这很极端。