2011-09-22 60 views
1

我目前正在运行一个项目,我们需要每年为大约2亿个帐户存储400亿个文档(PDF,TIFF),并且想知道是否可以使用Cassandra进行此操作?这主要是因为Cassandra设计中的可扩展性,稳定性和多个数据中心的使用。Cassandra用于存储文档

但我想知道为此使用Cassandra是否是一个好主意 - 或者像CouchDB这样的另一种选择是更好的选择吗?

刚一说明,我们不需要在文件全文检索,并为每个文档只会有一个有限的连接到每个元数据 - 独特的ID,如日期,时间,来源,所有者和,再加上一些关键字。通常通过对所有者ID的查询来完成对文档的访问,并从那里选择通过原始和可选的日期/时间需要的文档。所以没有什么幻想。

感谢您对此的看法。

回答

1

只是一些想法:

你可能想也考虑分布式文件系统,如HDFS。

每年40亿美元是1361每秒 - Cassandra可以处理这种写入负载,假设文件大小适中,而不是所有巨大的数兆字节的文件。

您预期会发生什么样的读取负载?

这些文件是否会永久保存,即每年增加400亿无限期增加?

如果一个文件是100KB(比如说),那我认为是每年4PB。我还没有听说过Cassandra集群这么大 - 值得问一下Cassandra mailing list(有一些现实的数字而不是我的猜测!)。

我听说Cassandra节点通常可以在重负载下管理1TB,也可能在轻负载下处理10TB。因此,第一年至少有400个节点的群集,可能更多,特别是如果您想要复制。

This page给出了一些2009年HDFS功能数据 - 使用4000个节点的14PB(6000万个文件)以及许多其他有趣的细节(例如需要60GB RAM的名称节点)。