首页 > 代码库 > mongodb架构篇

mongodb架构篇

一、  复制集

  1. Replica set的架构
  2. Replica set的部署
  3. 主从操作日志
    1. 在local数据库里面:db.oplog.rs.find()
    2. 日志的基本信息:db.printReplicationInfo()
    3. 查看slave的演示状况:db.printSlaveReplicationInfo()
    4. 主从配置信息:db.system.replset.find()
  4. 管理replica set
    1. 主从切换

1           冰冻实例不参与primary选举:rs.freeze(30)

2           降级:rs.stepDown(30)

  1. 读写分离

1           让Slave可读:db.getMongo.setSlaveOk()

  1. 故障转移:杀死进程
  2. 增减节点

1           增加节点:rs.add(“localhost:27017”)

2           减少节点:rs.remove(“localhost:27017”)

二、  分片

  1. Sharding简介
    1. Sharding的特点

1           扩展性

2           增加数据库的高可用性

3           压力分开

  1. Sharding的架构

1           Sharding服务器:每个储存分片的数据库服务器。

2           配置服务器:节点的配置信息、chunk的shard key范围、分布、配置信息。

3           路由进程:转发

  1. Sharding集群的构建
  2. Sharding的维护
    1. 列出所有的Sharding Server:db.runCommand({listshards:1})
    2. 查看Sharding的信息:printShardingStatus()
    3. 判断是否是Sharding:db.runCommand({isdbgrid:1})
    4. 对表进行Sharding:db.runCommand({shardcollection:”ken.ken”,key:{_id:1}})
    5. 新增Sharding Server:db.runCommand({addshard:locahost:27020})
    6. 移除Sharding Server:db.runCommand({remove:localhost:27020})

三、  Replica Sets+Sharding架构

  1. 把复制集和分片机组合

mongodb架构篇