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