
- MongoDB 教程
- MongoDB - 首頁
- MongoDB - 概述
- MongoDB - 優勢
- MongoDB - 環境
- MongoDB - 資料建模
- MongoDB - 建立資料庫
- MongoDB - 刪除資料庫
- MongoDB - 建立集合
- MongoDB - 刪除集合
- MongoDB - 資料型別
- MongoDB - 插入文件
- MongoDB - 查詢文件
- MongoDB - 更新文件
- MongoDB - 刪除文件
- MongoDB - 投影
- MongoDB - 限制記錄
- MongoDB - 排序記錄
- MongoDB - 索引
- MongoDB - 聚合
- MongoDB - 複製
- MongoDB - 分片
- MongoDB - 建立備份
- MongoDB - 部署
- MongoDB - Java
- MongoDB - PHP
- 高階 MongoDB
- MongoDB - 關係
- MongoDB - 資料庫引用
- MongoDB - 覆蓋查詢
- MongoDB - 分析查詢
- MongoDB - 原子操作
- MongoDB - 高階索引
- MongoDB - 索引限制
- MongoDB - ObjectId
- MongoDB - MapReduce
- MongoDB - 文字搜尋
- MongoDB - 正則表示式
- 使用 Rockmongo
- MongoDB - GridFS
- MongoDB - 封頂集合
- 自動遞增序列
- MongoDB 有用資源
- MongoDB - 常見問題解答
- MongoDB - 快速指南
- MongoDB - 有用資源
- MongoDB - 討論
MongoDB - 分片
分片是將資料記錄儲存在多臺機器上的過程,它是 MongoDB 滿足資料增長需求的方法。隨著資料量的增加,單臺機器可能無法儲存資料,也無法提供可接受的讀寫吞吐量。分片透過水平擴充套件解決了這個問題。使用分片,您可以新增更多機器來支援資料增長以及讀寫操作的需求。
為什麼選擇分片?
在複製中,所有寫入都發送到主節點
延遲敏感的查詢仍然傳送到主節點
單個副本集最多隻能包含 12 個節點
當活動資料集很大時,記憶體可能不夠大
本地磁碟空間不足
垂直擴充套件成本太高
MongoDB 中的分片
下圖顯示了使用分片叢集的 MongoDB 中的分片。

在下圖中,有三個主要元件:
分片 - 分片用於儲存資料。它們提供高可用性和資料一致性。在生產環境中,每個分片都是一個單獨的副本集。
配置伺服器 - 配置伺服器儲存叢集的元資料。此資料包含叢集資料集到分片的對映。查詢路由器使用此元資料將操作定向到特定分片。在生產環境中,分片叢集恰好有 3 個配置伺服器。
查詢路由器 - 查詢路由器基本上是 mongo 例項,它們與客戶端應用程式互動並將操作定向到相應的分片。查詢路由器處理並將操作定向到分片,然後將結果返回給客戶端。分片叢集可以包含多個查詢路由器以劃分客戶端請求負載。客戶端將請求傳送到一個查詢路由器。通常,分片叢集有很多查詢路由器。
廣告