2010-08-05 44 views
2

我需要实现一个结构相对简单的海量数据库。这是少数表,没有复杂的依赖关系,等等。我将如何选择说Cassandra和CouchDB?Cassandra与Couchdb

+0

你选择了哪一个?你的选择是否好? – strauberry 2011-06-15 07:39:32

回答

3

嗯,这实际上取决于您希望如何存储数据以及如何访问它。这也取决于你想如何分割你的数据,如果你想要故障转移/复制。

CouchDB作为一个文档数据库是非常好的,它有一个很好的RESTful接口来访问所有东西。这是一个多版本存储,所以更新记录会在每次存储时创建一个新版本。

搜索CouchDB是通过在JavaScript中编写查询来搜索您想要的内容来完成的。

另一方面,Cassandra是一个列数据库,需要您使用Thrift API来插入/更新和删除数据。它的优点在于它有一个磁盘备份的缓存层。

就像我说的,找出你想如何使用你的数据,然后开始看所有不同的事情。

+1

你不必使用“原始”节俭api。 http://wiki.apache.org/cassandra/ClientOptions – Schildmeijer 2010-08-05 22:41:14

+0

您可以使用JavaScript以外的其他语言编写Couchdb中的mapreduce函数(用于搜索),例如PHP和Erlang。 – TTT 2010-08-06 05:35:02

+0

Schildmeijer:真的吗?所以我可以使用动物/卡桑德拉而不安装节俭? – 2010-09-17 05:04:40

4

Cassandra的优点是可扩展性和性能; Couch's是同类设备/机器之间可能脱机的双向同步(例如Android)的最佳支持。