在Java中为大型数据集寻找纯粹的基于磁盘的键值缓存

时间:2014-10-15 17:44:21

标签: java caching disk

我目前有一个postgres数据库,其中包含一个固定长度密钥(20字节)的简单模式和一个固定长度值(40字节)。它是一个包含数十亿行的庞大表格,但遗憾的是我们有大量重复数据。我们希望将此表分成自己的数据存储。

理想情况下,我正在寻找将这些数据存储在大型硬盘驱动器上的方法,有时可以查询。性能对于读取并不重要,磁盘访问速度足够快 - 无需在内存中存储任何内容。初始加载后很少添加新数据。

如果没有可用的产品,我愿意提出自己的建议。我最初想过将密钥用作基于字节/ 0/32/231/32 /值的文件夹路径,但显然会导致单个磁盘上的文件/文件夹太多。是否存在可以使用的优化,因为键和值都是固定长度的?

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

尝试使用MapDbLevelDB等纯Java数据库引擎。