1. 程式人生 > 其它 >4.mongo分片叢集

4.mongo分片叢集

常見mongodb部署架構

1.為什麼要是用分片叢集?

資料容量日益增大,訪問效能日漸降低,怎麼破?
新品上線異常火爆,如何支撐更多的併發使用者?
單庫已有 10TB 資料,恢復需要1-2天,如何加速?
地理分佈資料

2.分片如何解決

如何分片
 ------->>>>

完整的分片叢集

 

mongos:路由節點
  1.提供叢集單一入口
  2.轉發應用端請求
  3.選擇合適的資料節點進行讀寫
  4.合併多個數據節點的返回
  5.無狀態的,至少兩個做冗餘

config server:配置節點
  1.配置伺服器儲存叢集的元資料和配置設定
  2.從mongodb3.4開始,必須將配置伺服器負數為副本集


  3.提供叢集元資料儲存
  4.分片資料分佈的對映

mongod:資料節點
  1.以複製集為單位,橫向擴充套件
  2.最大1024個分片
  3.分片之間資料不重複
  4.所有分片在一起才可以完整的工作

mongodb分片叢集的特點:
  1.應用全透明,無特殊處理
  2.資料自動均衡
  3.動態擴容,無需下線
  4.提供三種分片方式

 mongodb分片總結:
  1.分片叢集可以有效解決效能瓶頸及系統擴容問題
  2.分片額外消耗較多,管理複雜,能不分片儘量不要分片
  3.如果實在要用,請仔細學習下一講

3.mongodb分片叢集的分片方式

1.基於範圍
選一個或者幾個欄位來進行分片
2.基於hash
可以隨機分佈到各個節點
3.基於zone/tag
自定義zone

1.垂直分片和水平分片

1.垂直分片
    提升叢集節點效能,但是有瓶頸,儘量選擇比較好的伺服器!
2.水平分片
    呈線性提升效能,帶來維護成本
    資料增長很快,但是查詢並不需要查詢所有的資料,坑熱資料的區分!

在mongodb中絕大部分使用的是複製集,分片叢集使用的也是比較少的

2.mongodb中的分片叢集

分片的本質是資料塊太大了。需要把資料塊拆小一點。
 



pass