008.MongoDB分片群集概念及原理
阿新 • • 發佈:2019-06-14
一 MongoDB分片介紹
1.1 分片
Mongodb另一種叢集,就是分片技術,可以滿足MongoDB資料量大量增長的需求。 當MongoDB儲存海量的資料時,一臺機器可能不足以儲存資料,也可能不足以提供可接受的讀寫吞吐量。這時,可通過在多臺機器上分割資料,使得資料庫系統能儲存和處理更多的資料。即通過分片進行水平擴充套件。 延伸: 複製與分片的區別:複製時讓多臺伺服器都擁有同樣的資料副本,每一臺伺服器都是其他伺服器的映象,而每一個分片都和其他分片擁有不同的資料子集。1.2 為什麼使用分片
- 複製所有的寫入操作到主節點
- 延遲的敏感資料會在主節點查詢
- 單個副本集限制在12個節點
- 當請求量巨大時會出現記憶體不足。
- 本地磁碟不足
- 垂直擴充套件價格昂貴
1.3 分片的優勢
分片為應對高吞吐量與大資料量提夠了方法:- 使用分片減少了每個分片需要處理的請求數:通過水平擴充套件,群集可以提高自己的儲存容量。比如,當插入一條資料時,應用只需要訪問儲存這條資料的分片。
- 使用分片減少了每個分片儲存的資料:分片的優勢在於提供類似線性增長的架構,提高資料可用性,提高大型資料庫查詢伺服器的效能。當MongoDB單點資料庫伺服器儲存成為瓶頸、單點資料庫伺服器的效能成為瓶頸或需要部署大型應用以充分利用記憶體時,可以使用分片技術。