mongodb分片集群
1.mongodb分片集群應用場景
2.mongodb分片集群如何搭建
3.mongodb分片集群如何分片數據
4.mongodb分片集群拆分數據原理
5.mongodb分片集群自動分片,hash分片,范圍分片
mongodb分片集群
1.mongodb分片集群應用場景
mongodb分片:拆分數據,分開存儲,使用分片減少了每個分片需要處理的請求數,提高了並發
json
目的:解決大數據增刪改查問題
mongodb:最大能處理數據32T:1 * 1024G=1T; 1 * 1023g=pT
4t 就是大數據了,超過4T,性能就會下降,所以用分片來存儲,超過4T的數據;
2.mongodb分片集群如何搭建
分片工具:
config server:配置中心,存儲分片的數據量和數據庫和集合。
routers路由配置
shard分片mongodb
mongodb3.2以上需啟動4個實列
mongodb4.4以上需啟動6個實列:mongodb/bin/mongod.cfg (
mongod.exe
6個配置文件:
shards/mongod-27021.cfg,
shards/mongod-27022.cfg,
configserver/mongod-27010.cfg
configserver/mongod-27011.cfg
configserver/mongod-27012.cfg
router/mongod-27000.cfg
shards/mongod-27021.cfg分片
1.配置節點:
sharding:
clusterRole:shardsvr
2.修改端口號:27001
3.日志文件路徑:
systemLog:
path:d:\xxx
4.配置數據文件路徑:
storage:
dbpath:d\monodbxxx
3.mongodb分片集群 shards分片數據實列配置啟動
shards/mongod-27021.cfg分片
3.1.配置節點:
sharding:
clusterRole:shardsvr
3.2.修改端口號:27001
3.3.日志文件路徑:
systemLog:
path:d:\xxx
3.4.配置數據文件路徑:
storage:
dbpath:d\monodbxxx
3.5.啟動分片mongodb實列數據:
cmd :mongodb/bin
mongodb.exe -f D:\mongodb\bin\shards\mongod-27021.cfg
4.mongodb分片集群:configserver配置中心實列配置啟動
4.1mongod-27010.cfg 文件配置:修改節點
replication:
replSetName:confset
sharding:
clusterRole:configsvr
mongod.exe --host 127.0.0.1 --port 27010
rs.initiate() 初始化27010位primary節點
rs.add(ip:port) 添加節點位secondary節點
5.mongodb分片集群:router路由的配置
mongod-2700.cfg文件的修改配置:
5.1sharding:
configDB:confset/127.0.0.1:27010,127.0.0.1:27011,127.0.0.1:27012
5.2 注釋存儲數據節點 storage:
5.3 日志路徑配置:
systemLog: path
5.3 端口配置:
port:27000
bindIp:127.0.0.1
5.4 啟動:用mongos.exe 啟動
mongod.exe 鏈接分片1,2
sh.addShard(ip:port)
sh.status()
6. mongodb compass ui管理
分片鍵:是索引字段根據分片鍵將數據寫到不同的分片實列里
條件:
0.分片鍵
1.字段
2.index
根據字段創建索引:
sh.enableSharding("producbdb")
sh.shardCollection("productdb.product",{"producTitle":1})
7. churk 存儲分片實列的數據,默認64M,對並發不友好
64M位單位,對於64M會存儲到另一個分片實列
hash分片:按8個文檔來分片
8.mongodb分片集群拆分數據原理
9.mongodb分片集群自動分片,hash分片,范圍分片
索引是一個數據結構,一個B樹,提高查詢速度
索引是空間換時間:存儲數據的的對應關系
時間換空間:o(n)--o(1)
索引提高了查詢速度,但是影響了增加,更新,刪除的性能(更新索引,更新數據)