2014-03-01 21 views

回答

5

這是一個非常廣泛的問題需要回答,但我會嘗試探討爲什麼Couchbase具有快速和可擴展性的一些關鍵原因。

Couchbase中的寫入默認爲異步,複製和持久性發生在後臺,智能客戶端(SKD)會收到成功或失敗的通知。因此,基本上任何新文檔或文檔突變都會寫入ram,然後在後臺異步刷新到磁盤並複製到其他節點。這意味着IO /磁盤速度沒有等待時間或爭用。 (這意味着可以在請求被保存到磁盤或複製到第二/第三節點之前寫入ram,然後節點翻轉)。可以同步寫入,但會大大降低吞吐量。

在處理內存時,寫入和讀取速度非常快(我們僅將集羣推到了每秒20K次操作),但大公司每秒輕鬆地達到40萬次操作。 LinkedIN只支持4個節點--->http://www.couchbase.com/customer-stories

在傳統的數據庫體系結構中,通常情況下,安裝程序將與主DB(Mysql/Postgres/Oracle)配合使用,以實現數據冗餘的從屬DB,可以在負載變得更高時在2之間進行分割。 Couchbase旨在用作分佈式系統(Couchbase建議在生產中至少有3個節點)。數據在集羣中的節點之間自動分區,從而將讀/寫分散到多臺機器上。在需要更高吞吐量的情況下,在Couchbase中添加節點非常簡單,只需單擊添加節點,然後重新平衡羣集,數據將自動在新羣集映射中進行分區。

所以基本上寫/從RAM讀取與異步磁盤持久性+分佈式讀寫==高通量

希望幫助!

+0

非常感謝,它解決了我的大部分的查詢。 – praveen

+0

嗨@praveen如果這解決了你的問題,你可以將它標記爲已接受?謝謝 – scalabilitysolved