MongoDB分片集群機制及原理


1. MongoDB常見的部署架構
* 單機版
* 復制集
* 分片集群

2. 為什么要使用分片集群
* 數據容量日益增大,訪問性能日漸下降,怎么破?
* 新品上線異常火爆,如何支撐更多用戶並發?
* 單庫已有10TB數據,恢復需要1-2天,如何加速?
* 地理分布數據

3. 分片如何解決問題?
銀行交易表單內10億筆資料超負荷運轉,交易號 0-1,000,000,000

把數據分成兩兩半,放到兩個庫里。

交易號:0-500,000,000

交易號:500,000,001-1,000,000,000

mongodb 最多可以分成1024片

4. 完整的分片集群

        



5. 分片集群解剖:路由節點mongos
* 提供集群單一入口
* 轉發應用端請求
* 選擇合適數據節點進行讀寫
* 合並多個數據節點的返回
* 無狀態
* 建議至少兩個
6. 分片集群解剖:配置節點mongod
* 提供集群元數據存儲
* 分片數據分布的映射

普通復制集架構
| Lower | Upper | Shard |
|-------|-------|-------|
| 0 | 1000 | Shard0 |
| 1001 | 2000 | Shard1 |

7. 分片集群解剖:數據節點mongod
* 以復制集為單位
* 橫向擴展
* 最大1024分片
* 分片之間數據不重復
* 所有分片在一起才可以完整工作
8. MongoDB分片集群特點
* 應用全透明,無特殊處理
* 數據自動均衡
* 動態擴容,無須下線
* 提供三種分片方式
9. 分片集群數據分布方式
* 基於范圍

        


* 基於Hash

        


* 基於zone / tag

        

10. 小結
* 分盤集群可以有效解決性能瓶頸及系統擴容問題
* 分片額外消耗較多,管理復雜,盡量不要分片



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM