一、分片
二、mongos
mongodb需要路由程序mongos,mongos知道所有資料的存放位置,應用連線mongos傳送請求.mongos對應用隱藏分片細節,將請求**到相應資料庫機器;
三、片鍵
1.片鍵是作為資料拆分的依據,mongodb依據片鍵將資料拆分;
根據機器的數量的新增和刪除,mongodb會重新平衡資料,使的其流量比較均衡;
2.片鍵種類
片鍵包括遞增片鍵和隨機片鍵;
像"timestamp"就屬於遞增片鍵,特點是資料寫入將集中在一台伺服器、而資料的查詢速度非常快;
片鍵的選擇將影響對資料查詢的操作
四、建立分片
分片包括三個組成部分,分別是:片、mongos、配置伺服器;
片:集合資料容器
mongos:路由器程序
配置伺服器:儲存集群配置資訊
1.啟動配置伺服器
mkdir -p ~/dbs/config
./mongod --dbpath ~/dbs/config --port 20000
2.啟動配置伺服器
./mongos --port 3000 --configdb localhost:20000
3.建立分片
mkdir -p ~/dbs/db1
./mongod --dbpath ~/dbs/shard1 --port 10000
4.新增片
連線mongos
./mongo localhost:30000/admin
通過addshard命令新增片(allowlocal允許配置在本地)
db.runcommand()
5.切分資料庫will的test集合
首先開啟will資料庫的分片功能
db.runcommand()
再對集合分片(以_id為基準)
db.runcommand(})
五、保證集群的健壯性
1.多配置伺服器
方法:重複配置伺服器建立步驟;
啟動mongos時 ./mongos --configdb localhost:20001,localhost:20002
2.多mongos程序
方法:多啟動
3.資料的容錯性
方法:建立資料副本
六、管理分片
1.檢視片
db.shards.find()
2.檢視在片上的資料庫列表資訊
db.databases.find()
結果中:
3.塊資訊檢視
db.chunks.find()
MongoDB集群分片
什麼是sharding?說白了就是把海量資料水平擴充套件的集群系統,資料分表儲存在sharding的各個節點上。mongodb的資料分開分為chunk,每個chunk都是collection中的一段連續的資料記錄,一般為200mb,超出則生成新的資料塊。構建sharding需要三種角色,shard伺...
mongodb分片 集群
目前在乙個機器上部署,ip 10.1.2.197,埠列表如下 埠埠埠路由服務 27061 路由服務 27062 路由服務 27063 配置服務 27071 配置服務 27072 配置服務 27073 副本集1 27011 副本集2 27021 副本集3 27031 副本集1 27012 副本集2 2...
MongoDB 分片集群
在mongodb裡面存在另一種集群,就是分片技術,可以滿足mongodb資料量大量增長的需求。當mongodb儲存海量的資料時,一台機器可能不足以儲存資料,也可能不足以提供可接受的讀寫吞吐量。這時,我們就可以通過在多台機器上分割資料,使得資料庫系統能儲存和處理更多的資料。下圖展示了在mongodb中...