簡體   English   中英

mongodb體系結構

[英]mongodb architecture

我知道MongoDB可以設置為未分片的副本集或分片。 分片可用於超大型數據集的可伸縮性。

問題是,在什么時候我知道應該使用分片的vs 3個mongodb節點的基本副本集?

與往常一樣,這取決於。 當數據庫太大而無法在一台機器上完全容納在RAM中時,請考慮分片。 與往常一樣,最好的確定方法是在您的特定情況/體系結構/使用模式下進行測試,並親自觀察。

除了數據集大小以外,還可以考慮其他一些參數。

  1. 寫負載。 副本集將允許讀取擴展(1個主設備-許多從設備),但是如果應用寫繁重,則分片是分配寫負載的一種方法。 但是,為了使這種方法有效,跨集群分布數據的方式應與並發寫入模式匹配。
  2. 多數據中心部署。 如果應用程序需要按地理位置分布,則標簽感知分片(在2.2中引入)可讓您保留

正如@gkamal所提到的,當您的數據存儲開始達到單個存儲箱大小的60-70%且負載主要為沉重寫入時,您需要考慮分片。

無陰影的3個副本集與分片實例的分片實例之間的主要區別不會擴展寫入負載。 由於鎖定開銷,作為主服務器將成為寫主服務器的瓶頸。 另一方面,如果正確完成了分片,則當每個分片分散在多個隔離的實例中時,它將減輕寫入/讀取的負擔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM