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

为Java中的大型数据集寻找纯粹基于磁盘的键值缓存,java,caching,disk,Java,Caching,Disk,我目前有一个postgres数据库,它有一个固定长度键20字节和固定长度值40字节的简单模式。这是一个包含数十亿行的庞大表,但不幸的是,我们有大量重复数据。我们希望将此表分离到它自己的数据存储中 理想情况下,我正在寻找将这些数据存储在大型硬盘上的方法,以便偶尔查询。性能对于读取来说并不重要,磁盘访问速度足够快—无需在内存中存储任何内容。并且在初始加载之后很少添加新数据 如果没有可用的产品,我愿意提出自己的建议。我最初考虑使用键作为基于字节/0/32/231/32/值的文件夹路径,但显然这会导致单

我目前有一个postgres数据库,它有一个固定长度键20字节和固定长度值40字节的简单模式。这是一个包含数十亿行的庞大表,但不幸的是,我们有大量重复数据。我们希望将此表分离到它自己的数据存储中

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

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


有什么建议吗?

试试纯Java数据库引擎,比如或