作为一个合格的dba((⊙o⊙)…我是菜鸟),备份应该是重中之重,就像‘兵马未动粮草先行’,完善的备份可以救你一命啊,切记,切记!
那么mongodb副本集备份时到底需要oplog吗?
1、先看作用:
mongodump --oplog会记录备份期间对数据的修改到oplog.bson中
这样mongorestore --oplogReplay会在恢复完数据后重放该oplog.bson
文件。
2、用--oplog选项的好处:
备份时,用户还可以向服务器写入数据,因此备份过程对用户透明。
3、在分片集群(每个分片是一个副本集)中为什么不用--oplog?
(1)为了保证备份的数据是某一时刻的数据。
(2)因为配置服务器和分片上的数据是单独备份的,在备份时,
用户同时写入数据的话,可能导致数据不一致:
如:

作为mongodb的数据库管理员,理解备份中的oplog至关重要。 mongodump的--oplog选项能在备份期间记录数据修改,使得mongorestore时能重放操作,确保透明性。然而,在分片集群备份中,由于数据一致性要求,通常不使用--oplog,以防数据不一致。为解决这个问题,可以备份oplog.rs集合并锁定数据库。详细方法将后续分享。

293

被折叠的 条评论
为什么被折叠?



