2010-02-23 100 views
1

我正在尋找一個最終一致的關鍵值數據存儲,並且我決定在Amazon SimpleDB和Riak之間進行選擇,所以任何人都可以分享兩者的寶貴經驗。Riak vs亞馬遜SimpleDB

在此先感謝 Fedrick

+1

我對Riak的瞭解甚至比我在網站上看到的還要多。最明顯的區別是,一個是付費,另一個是開源產品。 – Mocky 2010-02-23 13:49:54

回答

3

了Riak是一個key-value存儲。您存儲的數據值對數據庫不透明,因此您沒有二級索引。但是如果您的數據是JSON(或XML,我認爲),您確實有能力運行map-reduce。您可以對所有數據運行map-reduce,或者只運行一個子集(「種子密鑰」)。它還具有「鏈接行走」功能,其中文檔可以引用其他文檔,這些文檔可以被自動獲取。他們目前沒有像CouchDB那樣的增量映射 - 減少,這意味着任何輔助查詢(非關鍵)都非常昂貴。他們有計劃解決這個問題。

SimpleDB實際上位於文檔庫和密鑰庫之間:每個key-> item都支持多個屬性,但它只能深入一層。您可以查詢您的密鑰或屬性值。

在生產中,Riak應該相當「不干涉」。如果速度緩慢或已滿,只需啓動一臺新服務器並告訴它加入羣集。 (與CouchDB或MongoDB不同,你必須使用多個配置文件)。 (儘管我沒有聽說過),但你負責數據縮放(即不要違反它們的域大小限制,否則它會放慢速度)。

+0

在Riak 1.0中添加了對二級索引的支持:http://www.basho.com/news_riak_v1_0.php – 2011-09-28 11:08:03

0

我已經使用SimpleDB大約6個月了。我正在投入生產。它運作良好,但我希望它更快。我執行%like查詢進行搜索,而我似乎無法讓它潛入超過幾MB的值。但%%搜索的速度要快得多。我覺得如果亞馬遜的某個人用老的c編寫了一些算法,而不是Erlang,那麼它的速度會加快,但我又是一個c編碼器。

而且最初的幾個疑問在最近開放的領域將需要更長的時間,因爲系統得到這一切在讀。

總的來說它爲我工作,但如果我想擴展之上,我將不得不去別的東西。

而且,我認爲,幾乎所有的使用將是免費的 - 有空間慷慨的分配等

請確保計劃的事實,SimpleDB的目前還沒有「只讀」訪問模式等。任何可以使用它的用戶都可以編輯它。

--Tom

+1

關於SimpleDB沒有「只讀」訪問模式的部分是不正確的。 Amazon於2010年9月3日在SimpleDB中推出了對AWS Identity and Access Management(IAM)的支持。閱讀:http://developer.amazonwebservices.com/connect/ann.jspa?annID=755 – 2010-10-13 23:20:52

+0

這很棒。我不知何故錯過了原始信息。 IAM功能爲我們解決了很多問題。只讀部分很棒。另外它可以用於各種服務。 – 2010-10-15 20:57:50

+0

詳細所以回答使用IAM進行只讀訪問http://stackoverflow.com/questions/4988367/anonymous-read-with-amazon-simpledb – toolbear 2011-11-22 19:31:46