我需要一种可以容纳数百个可变大小的二进制二进制大对象的索引文件格式。
Blob大约为1-5MB,文件大小可能为1GB。我需要能够快速查找,读取,添加和删除Blob,而无需重新创建整个文件。我不需要压缩Blob,但是如果Blob被删除,我想回收或重新使用该空间。
理想情况下,将有一个Java API。
我目前正在使用ZIP格式执行此操作,但是没有已知的方法可以在不重新创建ZIP文件的情况下对其进行更新,并且性能很差。
我已经研究过SQLite,但是它的Blob性能很慢,并且过分满足我的需求。
有什么想法,还是我应该自己提出?
如果我自己动手,对书本或网页有什么建议吗?
最佳答案
您需要一些虚拟文件系统。我们的SolFS是选项之一,但是我们只有JNI层,因为引擎是用C编写的。还有一个选项CodeBase,但是由于它们不提供文件系统的评估版,我知道一些关于它。
SolFS非常适合您的任务,因为它使您可以使用文件的替代流,并将可搜索的元数据与每个文件甚至替代流关联。