Java 的轻量级 B 树库?[已关闭]

2022-09-04 21:46:28

任何人都可以为Java推荐一个轻量级,快速,并且希望稳定的B树(或类似)库吗?

从本质上讲,我正在寻找磁盘上的地图;与BerkeleyDB JE类似的东西,除了我不需要事务,我对只读并发很好,并且需要它的大小大约是1/10(BSD或Apache许可证也会很好)。

需要纯Java,所以没有东京/京都内阁。

实现相关接口将是一个加号(或者,基元类型的模板化接口也会很好)。Collections

JDBM看起来相当不错,但它似乎在2005年被放弃了(在1.0,不少于)。

还有DiskBackedMap,但他们在一年前发布了一个alpha,从那以后就没有了。

还有什么别的吗?或者与上述人的任何经验?

我不找的东西:

  • 进程内关系数据库(因此没有 H2、Derby、SQLite 等)
  • 分布式键值存储(没有Redis,Memcachedb,Cassandra,Voldemort,Dumbledore,或者其他什么)

答案 1

您可能对 JDBM 的一个分支感兴趣。

查看 http://www.kotek.net/blog/jdbm_2.1_and_beyond

GitHub: https://github.com/jankotek/JDBM3

电子邮件: jdbm@googlegroups.com

网 址:http://groups.google.com/group/jdbm

RSS: http://groups.google.com/group/jdbm/feed/rss_v2_0_msgs.xml

编辑:

JDBM4 更名为 MapDB


答案 2

值得一提的现代项目:

  • LMDBJava允许从Java使用LMDB。LMDB不完全是B树,但它是一个树状结构,即总是排序。
  • 如果您没有排序属性,则 Chronicle Map 现在是 Java 最有效的随机访问无序持久化堆外键值存储。

推荐