詳情描述
MongoDB 原理分析
關(guān)系型數(shù)據(jù)庫,例如MySQL ,SQL Server 都有事務(wù)日志(或會將數(shù)據(jù)庫的等操作記錄在事務(wù)文件中,可以通過日志備份搭建還原體系。MongoDB沒有此類機制和數(shù)據(jù)文件,難以實現(xiàn)。
但MongoDB 副本集 有通過 oplog(主要記錄在local數(shù)據(jù)庫集合中) 實現(xiàn)節(jié)點間的同步,此集合記錄了數(shù)據(jù)庫的OP操作,記錄的是整個mongod實例一段時間內(nèi)的所有變更(插入更新刪除)操作。是否可以考慮通過集合的備份還原來解決以上問題(數(shù)據(jù)完整性;不能還原到指定時間點;時效性差。)。
命令,可以接受從別處而來,除了--oplog之外,可人為獲取的oplog;還原時需重命名(step 5)。
(2)可以實現(xiàn)類似關(guān)系型數(shù)據(jù)庫的增量備份與增量還原
(3)oplog有一個非常重要的特性冪等性(idempotent)。即對一個數(shù)據(jù)集合,使用oplog中記錄的操作重放時,無論被重放多少次,其結(jié)果會是一樣的。舉例來說,如果oplog中記錄的是一個插入操作,并不會因為你重放了兩次,數(shù)據(jù)庫中就得到兩條相同的記錄。
總結(jié)
1. MongoDB 不支持事務(wù),無法保證備份還原命令中的事務(wù)完整性、業(yè)務(wù)一致性(無關(guān)系數(shù)型據(jù)庫中基于事務(wù)日志的重做還原機制)。但結(jié)合命令參數(shù)可以實現(xiàn)數(shù)據(jù)、業(yè)務(wù)的時間一致性。
2. 數(shù)據(jù)庫還原時,結(jié)合參數(shù)--oplogReplay --oplogLimit實現(xiàn)指定時間點的還原。
3. 搭建副本集的MongoDB,定期導(dǎo)出可以實現(xiàn)增量備份與增量還原。
UCACHE企業(yè)級災(zāi)備云作為企業(yè)整體數(shù)據(jù)遷移工具使用:
1、基于云數(shù)據(jù)中心的災(zāi)備服務(wù)方案實現(xiàn)跨地域和物理隔離的異地容災(zāi)解決方案,可作為企業(yè)解決異地容災(zāi)備份工具;
2、作為支持企業(yè)數(shù)據(jù)從本地到云端(D2C或D2D2C)的整體數(shù)據(jù)遷移工具;
3、作為云端到云端(C2C)的災(zāi)備服務(wù)架構(gòu),滿足企業(yè)云端到云端的整體數(shù)據(jù)遷移工具;
4、支持將數(shù)據(jù)災(zāi)備到UCache全國300+數(shù)據(jù)中心,或用戶自建的數(shù)據(jù)中心的數(shù)據(jù)異地災(zāi)備使用。