2013-08-01 44 views
0

我們目前有一個非常重要的Web分析應用程序,它從大量網站和商店中收集大量實時事件以供後續分析和報告使用。Cassandra和Couchbase之間的此用例的潛在折衷

我們最初的計劃體系結構涉及一組處理請求的Web服務器,並將所有數據寫入Cassandra集羣,同時更新大量用於實時聚合報告的計數器。我們還計劃直接在CassandraFS上使用hadoop(作爲HDFS的替代品 - 由datastax提供),以便本地運行駐留在Cassandra中的數據的Map Reduce作業以獲取更多涉及的分析。 MapR作業的輸出將會原生地寫回到Cassandra的ColumnFamilies中。 Hadoop map reduce在寫入繁重的主cassandra集羣的只讀副本上運行。這個想法是爲了避免多個數據跳躍,並在一個存儲庫中擁有分析的所有數據。

最近我們聽到並且遇到了管理和增長頻繁節點中斷和響應時間不佳的cassandra集羣的第一手問題。 Couchbase在響應時間和動態增長和管理羣集方面似乎要好得多。所以我們正在考慮用Couchbase替換Cassandra。

但是這帶來了一些問題。

  1. Couchbase在大多數順序書寫沉重的情況下能夠很好地擴展嗎?我沒有看到我們的場景充分利用內存中的緩存,因爲正在編寫的原始數據很少回讀,只有彙總的度量標準。另外,當Couchbase需要非常頻繁地(或者所有時間)點擊磁盤來回寫數據時,會發生什麼情況?它最終會比Cassandra表現糟糕嗎?

  2. Hadoop界面會發生什麼? Couchbase有其自己的縮小地圖功能,但我知道它們的範圍有限。我是否需要在CouchbaseDB和HDFS之間來回傳輸數據,以便能夠支持我的所有分析和報告,從單個數據庫中進行報告?

回答

0

我最近評估卡桑德拉和Couchbase的客戶要求等選項,這樣我就可以在這兩個數據存儲提供一些線索。

Couchbase是令人難以置信的是易於管理,並且一旦在節點上安裝了服務器,就可以從儀表板完全管理集羣。但是,隨着數據量的增長,couchbase的規模與Cassandra不相上下。我也沒有找到一種無縫集成Couchbase和HDFS/Hadoop的方法。

Cassandra對超快寫入吞吐量表現非常好,但它沒有任何服務器端聚合功能。集羣管理比Couchbase稍微困難一些,因爲每次添加或刪除節點時都必須重新平衡集羣。除此之外,從性能角度來看,Cassandra幾乎可以無縫運行,只要您已經正確設計了架構。

如果你能買得起Datastax企業解決方案爲Hive做複雜分析的map-reduce,我建議你留在Cassandra,因爲couchbase map-reduce支持並不是那麼好,基準測試顯示Couchbase性能開始隨着集羣規模的增長而減少。

相關問題