2010-07-07 47 views
6

有谁知道在哪里可以找到B +树磁盘实现?我经历了谷歌向前和向后,不幸的是我找不到任何明智的。其他线程建议可能从sqlite,sqljet或bdb中获取树,但是这些树嵌套在整个数据库中,并且不能真正“过滤掉”B +树。 我真的只是在寻找一个磁盘B +树...没有任何花哨的东西。B +在Java中的磁盘实现

+1

https://github.com/myui/xbird/blob/master/xbird-open/main/src/java/xbird/storage/index/BIndexFile.java

查找使用这就是我发现 - http://bplusdotnet.sourceforge.net/ - 只是因为没有人到目前为止回答不能告诉,如果这是一个磁盘上实现或如果它可以适应一个。 (它说“.NET”,但也有一个Java实现!) – 2010-07-07 09:56:27

+0

感谢您的链接!看起来相当不错。至少它在我运行测试树文件时在磁盘上创建了一些文件。我会在深入研究之后给出反馈意见。 – mkn 2010-07-07 12:51:01

回答

4

有一个GDBM风格的Java持久化引擎:MapDB

+0

这不完全是GDBM,它是受GDBM启发的:)但它确实是B + Tree的东西。 – cdegroot 2011-11-10 14:43:47

+0

@cdegroot:已更新 – Jonas 2011-11-10 14:54:36

0

如果你需要它的实际使用,而不是用于教育目的(研究B +树数据结构等),LMDBJava可能是最好的解决方案,现在在Java中可用。它不是B + Tree,而是一个排序的键值存储,与B +树几乎相同。