2010-08-05 46 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)的最佳支持。