增量附加文档的大规模存储?

Ben*_*lts 6 database storage couchdb mongodb

我需要存储数十万(现在,可能有数百万)文档,这些文档从空开始并经常附加,但从不更新或删除.这些文档不以任何方式相互关联,只需要通过一些唯一ID进行访问.

读取访问是文档的一些子集,几乎总是在某个索引位置的中途开始(例如"文档#4324319,将#53保存到结尾").

这些文档起始非常小,几KB.它们通常达到大约500KB的最终大小,但许多达到10MB或更多.

我目前正在使用MySQL(InnoDB)来存储这些文档.每个增量保存只是转储到一个包含它所属的文档ID的大表中,因此读取文档的一部分看起来像"select*from saves where document_id = 14 and save_id> 53 order by save_id",然后手动连接它一起代码.

理想情况下,我希望存储解决方案能够轻松实现水平扩展,跨服务器实现冗余(例如,每个文档至少存储在3个节点上),并且可以轻松恢复崩溃的服务器.

我已经看过CouchDB和MongoDB作为MySQL的可能替代品,但我不确定它们中的任何一个对这个特定的应用程序都有很大的意义,尽管我很容易被说服.

对优质存储解决方案的任何输入?

Lio*_*hen 1

听起来像是HBase (通过 HDFS)解决的理想问题。

缺点是学习曲线有些陡峭等。