我正在寻找一种简单的方法来存储和检索数百万个 xml 文件。目前,一切都在文件系统中完成,这存在一些性能问题。
我们的要求是:
- 能够以批处理方式存储数百万个 xml 文件。XML 文件可能高达几兆,大部分在 100KB 范围内。
- 通过 id 快速随机查找(例如文档 URL)
- Java 和 Perl 都可以访问
- 适用于最重要的 Linux 发行版和 Windows
我确实看过几个 NoSQL 平台(例如 CouchDB、Riak和其他),虽然这些系统看起来很棒,但它们似乎有点矫枉过正:
- 无需聚类
- 不需要守护程序(“服务”)
- 无需智能搜索功能
在深入研究了 Riak 之后,我发现了 Bitcask(参见简介),这似乎正是我想要的。简介中描述的基础知识非常有趣。但不幸的是,没有办法通过 java 访问 bitcask repo(或者有吗?)
所以我的问题归结为
- 以下假设是否正确:Bitcask 模型(仅追加写入,内存中密钥管理)是存储/检索数百万个文档的正确方法
- 有没有可通过 Java 获得的 Bitcask 的可行替代方案?(想到 BerkleyDB……)
- (对于 riak 专家)与“裸”Bitcask 相比,Riak 的开销实施/管理/资源是否明智?