2012-09-13 34 views
0

我知道MongoDB可以設置爲未分片的副本集或分片。 Sharded用於非常大的數據集的可伸縮性。mongodb體系結構

問題是,在什麼時候我知道應該使用Sharded與3個mongodb節點的基本副本集?

+0

爲什麼要投票? –

回答

1

一如既往,這取決於。當數據庫太大而無法在一臺機器上完全保存在RAM中時,請考慮分片。一如既往,最好的方法就是根據自己的具體情況/體系結構/使用模式進行測試,然後親自查看。

0

除了數據集大小之外,還有幾個可以考慮的參數。

  1. 寫入負載。副本集將允許讀取縮放(1個主 - 許多從屬),但是如果應用程序寫入很重,則分片是分配寫入負載的一種方式。但爲了達到這種效果,數據在整個羣集中分佈的方式應與併發寫入模式相匹配。
  2. 多數據中心部署。如果應用程序需要爲(2.2引入)地理上分佈的標籤瞭解分片可以讓你保持
0

正如@gkamal提到你需要考慮拆分當你的數據存儲開始打單箱尺寸的60-70%並且負載主要是重寫。

未着色的3個副本集和副本集不會縮小寫入負載的分片實例之間的主要區別。由於鎖定開銷,主服務器將成爲寫主服務器的瓶頸。另一方面,如果分片正確完成,它將消除寫入/讀取的負載,因爲每個分片都分割成多個隔離的實例。