MongoDB副本集概念及创建

为什么要使用副本集

生产不建议使用standalone

  • 可用性:额外的副本结合高可用机制
  • 扩展性
  • 维护性

成员角色

MongoDB副本集使用介绍

1
2
3
rs.status()  查看副本集整体状态
db.isMaster() 查看当前节点角色
rs.printSlaveReplicationInfo()/rs.printReplicationInfo() 查看同步进度/oplog信息

副本集的基本读写

扩展副本集的都能力-readPreference

控制写操作的持久性级别-writeConcern

控制读操作的持久性级别-readConcern

MongoDB原理介绍

什么是MongoDB Oplog?

  • local库中的一个集合,保存写操作所产生的增量日志
  • Capped Collection,超出配置最大值,自动删除最老的数据,有特殊优化,提升删除效率

Oplog保留策略-根据大小及根据时间范围

  • 4.4之前
    • 根据replication.oplogSizeMB,默认为磁盘空间5%
  • 4.4 删除策略增量:根据时间端保留Oplog,由参数storage.oplog

全量同步

增量同步

4.4 增强-全量同步断点续传

工具集

mtools

Replication