2010-07-07 45 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 +樹幾乎相同。