mongodb架构篇
一、 复制集
- Replica set的架构
- Replica set的部署
- 主从操作日志
- 在local数据库里面:db.oplog.rs.find()
- 日志的基本信息:db.printReplicationInfo()
- 查看slave的演示状况:db.printSlaveReplicationInfo()
- 主从配置信息:db.system.replset.find()
- 管理replica set
- 主从切换
1 冰冻实例不参与primary选举:rs.freeze(30)
2 降级:rs.stepDown(30)
- 读写分离
1 让Slave可读:db.getMongo.setSlaveOk()
- 故障转移:杀死进程
- 增减节点
1 增加节点:rs.add(“localhost:27017”)
2 减少节点:rs.remove(“localhost:27017”)
二、 分片
- Sharding简介
- Sharding的特点
1 扩展性
2 增加数据库的高可用性
3 压力分开
- Sharding的架构
1 Sharding服务器:每个储存分片的数据库服务器。
2 配置服务器:节点的配置信息、chunk的shard key范围、分布、配置信息。
3 路由进程:转发
- Sharding集群的构建
- Sharding的维护
- 列出所有的Sharding Server:db.runCommand({listshards:1})
- 查看Sharding的信息:printShardingStatus()
- 判断是否是Sharding:db.runCommand({isdbgrid:1})
- 对表进行Sharding:db.runCommand({shardcollection:”ken.ken”,key:{_id:1}})
- 新增Sharding Server:db.runCommand({addshard:locahost:27020})
- 移除Sharding Server:db.runCommand({remove:localhost:27020})
三、 Replica Sets+Sharding架构
- 把复制集和分片机组合