mongodb分片集群的搭建总结


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)

索引提高了查询速度,但是影响了增加,更新,删除的性能(更新索引,更新数据)