关系型数据库,例如MySQL ,SQL Server 都有事务日志(或bin log),会将数据库的DML 、 DDL、DCL等操作记录在事务文件中,可以通过日志备份搭建还原体系。MongoDB没有此类机制和数据文件,难以实现。
但MongoDB 副本集 有通过 oplog(主要记录在local数据库oplog.rs集合中) 实现节点间的同步,此集合记录了数据库的OP操作,记录的是整个mongod实例一段时间内的所有变更(插入/更新/删除)操作。是否可以考虑通过oplog.rs集合的备份还原来解决以上问题(数据完整性;不能还原到指定时间点;时效性差。)。
(1)dumprestor 命令,可以接受从别处而来,除了--oplog之外,可人为获取的oplog;还原时需重命名(step 5)。
(2)可以实现类似关系型数据库的增量备份与增量还原
(3)oplog有一个非常重要的特性——幂等性(idempotent)。即对一个数据集合,使用oplog中记录的操作重放时,无论被重放多少次,其结果会是一样的。举例来说,如果oplog中记录的是一个插入操作,并不会因为你重放了两次,数据库中就得到两条相同的记录。
总结
1. MongoDB 不支持事务,无法保证备份还原命令中的事务完整性、业务一致性(无关系数型据库中基于事务日志的重做还原机制)。但结合命令参数--oplog,可以实现数据、业务的时间一致性。
2. 数据库还原时,结合参数--oplogReplay --oplogLimit实现指定时间点的还原。
3. 搭建副本集的MongoDB,定期导出oplog.rs,可以实现增量备份与增量还原。
UCACHE企业级灾备云作为企业整体数据迁移工具使用:
1、基于云数据中心的灾备服务方案实现跨地域和物理隔离的异地容灾解决方案,可作为企业解决异地容灾备份工具;
2、作为支持企业数据从本地到云端(D2C或D2D2C)的整体数据迁移工具;
3、作为云端到云端(C2C)的灾备服务架构,满足企业云端到云端的整体数据迁移工具;
4、支持将数据灾备到UCache全国300+数据中心,或用户自建的数据中心的数据异地灾备使用。 联系我时,请说是在114黄页信息网看到的,谢谢!
【重要提醒】 转发本信息给好友或分享到朋友圈,被转发超过20次,信息将自动置顶一周!