首页 > 数据库 > NoSQL > Mongodb 复制的纽带–Oplog
当Primary进行写操作的时候,会将这些写操作记录写入Primary的Oplog 中,而后Secondary会将Oplog 复制到本机并应用这些操作,从而实现Replication的功能。
同时由于其记录了Primary上的写操作,故还能将其用作数据恢复。
可以简单的将其视作Mysql中的binlog。
Oplog 是一个capped collection。
在64位的Linux, Solaris, FreeBSD, and Windows 系统中,Mongodb默认将其大小设置为可用disk空间的5%(默认最小为1G,最大为50G),或也可以在mongodb复制集实例初始化之前将mongo.conf中oplogSize设置为我们需要的值。
但是由于Oplog 其保证了复制的正常进行,以及数据的安全性和容灾能力。
我们可以通过如下两个图(MMS)来了解他增加的情况:

上图分别是Oplog 每小时的增量,以及现有Oplog 存储了多少小时的操作。我们可以根据这个来监控并观察oplog情况。我们需要足够的oplog大小来保证数据的安全性。
也可以通过命令来查看:
db.getReplicationInfo()
我们在生产环境中很可能会发现,可用disk的5%可能不够用,那么我们就需要进行Oplog 的扩容了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15498/viewspace-1874411/ ,如需转载,请注明出处,否则将追究法律责任。