推荐可以通过Java中的随机访问更新的索引文件格式

时间:2010-09-01 21:49:54

标签: java file-io zip

我需要一个索引文件格式,可以容纳几百个大的可变大小的二进制blob。

Blob大约1-5MB,文件可能大到1 GB。我需要能够快速查找,读取,添加和删除blob而无需重新创建整个文件。我没有必要压缩blob,但是如果删除了blob,我想要回收或重用这个空间。

理想情况下会有Java API。

我目前正在使用ZIP格式进行此操作,但是没有已知的方法来更新ZIP文件而不重新创建它并且性能很差。

我已经研究过SQLite,但它的blob性能很慢,并且对我的需求来说太过分了。

有什么想法,还是应该自己动手? 如果我自己推出任何书籍或网页建议?

2 个答案:

答案 0 :(得分:4)

Berkeley DB Java Edition做你需要的。它是免费的。

答案 1 :(得分:1)

您需要一些虚拟文件系统。我们的SolFS是其中一个选项但我们只有JNI层,因为引擎是用C语言编写的。还有一个选项,CodeBase,但由于它们没有提供其文件系统的评估版本,我知道一些关于它的事。

SolFS非常适合您的任务,因为它允许您拥有文件的替代流,并将可搜索的元数据与每个文件甚至替代流相关联。