2009-03-01 51 views
6

我正在嘗試決定是否使用voldemort或couchdb進行即將推出的醫療保健項目。我想要一個具有高可用性和容錯能力的存儲系統,並且可以擴展大量數據。voldemort vs. couchdb

每個的優缺點是什麼?

感謝

+0

我經常閱讀InterSystems的提出,緩存巨資醫療 '世界' 中使用。他們不能提供解決方案嗎? – tuinstoel 2009-03-15 10:32:01

回答

1

memcacheDB的選項?我聽說這是Digg如何處理HA問題。

+0

當然,MemcacheDB比其他2 – py213py 2009-03-02 00:42:08

5

Project Voldemort看起來不錯,但到目前爲止我還沒有深入研究過它。

在當前狀態下CouchDB可能不適合「海量數據」。相應地在節點之間分配數據並路由查詢在路線圖上,但到目前爲止尚未實現。 CouchDB最大的已知生產設置使用大約200G的「表」(沙發發言中的「數據庫」)。

HA本身不被CouchDB支持,但可以輕鬆構建:所有CouchDB節點都在多主設置中複製彼此之間的數據庫節點。我們將兩個Varnish proxies放在CouchDB機器的前面,並且用CARP使光油盒變得冗餘。 CouchDB「從Web構建」設計使這種事情變得非常簡單。

our setup中最緊迫的問題是,將大型(多MB)附件複製到CouchDB文檔仍存在問題。

我建議你也檢查傳統的RDBMS路線。 There are huge issues與RDBMS的方法外可用人才,酒店還可提供非常有能力的產品從Oracle &有限公司

4

不是從你的問題了解不夠,但我亦說伏地魔項目或分佈式哈希表(DHT方法)像CouchDB的一般是您HA問題的解決方案。

這些DHT對於高可用性非常好,但比關於一致性的傳統關係數據庫(RDBMS)更難編寫代碼。

它們非常適合存儲文檔類型信息,這些信息可能很適合您的醫療保健項目,但會使數據的開發變得更加困難。

  • 大多數商店的最大的限制是,他們不事務安全(見Scalaris一個事務安全存儲),你需要自己保證數據的一致性 - 大部分使用通過合併衝突的讀取時間一致性數據)。 RDBMS更容易用於數據的一致性(ACID)
  • 加入數據也非常困難。在RDBM中,您可以輕鬆地在多個表上查詢數據,您需要在CouchDB中編寫代碼來彙總數據。對於其他商店Hadoop可能是聚合信息的不錯選擇。

閱讀BASECAP定理上與可用性的一致性。