我想知道Berkeley DB JE是否适合存储100M文档的简单键/值对。
我需要在BDB上获取<75ms,获取一个文档。
提前致谢
答案 0 :(得分:0)
为什么不使用Apache Lucene--一个开源信息检索引擎?我会使用lucene来保存索引:关键字到文档ID。您现在可以将关键字(或一组关键字)发布到lucene,获取文档ID,并从Berkley DB检索文档。
答案 1 :(得分:0)
您可能希望在Berkeley DB Java Edition discussion forum上讨论您的效果要求。主要问题是最终会“为了获取数据需要执行多少个I / O?”如果答案是“无”,那么75毫秒的响应时间就是小菜一碟。如果答案是“很多”,那么它将取决于“很多”的数量和磁盘驱动器的速度。
BDB JE FAQ page有一些很好的快速参考。特别是,this one可能会立即使用。基本上,您希望调整缓存大小,以便至少所有索引节点都适合内存。如果索引节点适合内存,那么除非已经在缓存中,否则您最多只需要一个I / O来获取数据(叶节点)。