也许我的google-foo不能满足您的要求,但是我想使用绑定(bind)到磁盘的b树alogrithm。由于大多数教程和示例都是基于内存的,因此它们假定随机访问内存中的树中更改节点非常简单,但是除了I/O密集型重写或使用内存映射文件外,我想不到方法。

理论上会很好,C#或Java会更好。

编辑:我很抱歉,不够清楚。我并不是在寻找要使用的产品或代码库,而是一个示例或说明性的代码库,以更好地理解如何构建磁盘支持的b树。

最佳答案

Tokyo Cabinet (或京都内阁)是最快的键值数据库(其中还包含与B + Trees一起使用的键值数据库)之一:)。在对B + Tree进行基准测试时,我已经使用了它,并且代码很容易理解。它是用C编写的,但也具有Java绑定(bind)...
Tokyo Cabinet :
http://fallabs.com/tokyocabinet/

Berkley DB也可以与B + Tree一起使用。但是,当我对Berkley DB进行基准测试时,与Tokyo Cabinet相比,它的运行速度非常慢...
http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html

10-08 09:35