推荐快速且可扩展的持久性地图-Java
问题内容:
我需要磁盘支持的Map结构才能在Java应用程序中使用。它必须具有以下条件:
- 能够存储数百万条记录(甚至数十亿条)
- 快速查找-地图上的大多数操作将仅查看密钥是否已存在。这和上面的1是最重要的标准。对于常用的密钥,应该有一种有效的内存缓存机制。
- 持久但不需要事务性,可以承受一些失败。即乐于定期与磁盘同步,并且不需要事务性。
- 能够存储简单的原始类型-但是我不需要存储序列化的对象。
- 它不需要分发,即将全部在一台计算机上运行。
- 易于设置且免费使用。
- 无需关系查询
记录键将是字符串或长号。如上所述,读操作比写操作要频繁得多,并且大多数读操作只是检查密钥是否存在(即,不需要读取与数据相关的密钥)。每条记录将仅更新一次,并且不会删除记录。
我目前使用Bdb JE,但正在寻求其他选择。
更新资料
此后,通过减少对辅助键的依赖性,提高了我现有BDB设置上的查询性能。一些查询需要在两个辅助键上进行联接,然后通过将它们组合成一个复合键,我在查找中删除了一个间接级别,从而很好地加快了工作速度。
问题答案: