zoukankan      html  css  js  c++  java
  • MongoDB的常规备份策略

    MongoDB的常规备份策略
    1 冷备份--复制数据库文件
    2 mongodump/mongorestore
    除了mongodump/mongorestore之外还有一对组合是mongoexport/mongoimport
    区别:
    mongoexport/mongoimport导入/导出的是JSON格式,而mongodump/mongorestore导入/导出的是BSON格式。
    JSON可读性强但体积较大,BSON则是二进制文件,体积小但对人类几乎没有可读性。
    BSON格式即mongodump/mongorestore跨版本可能会失败,JSON格式即mongoexport/mongoimport可以跨版本操作
    JSON格式只保留了数据部分,不保留索引,账户等其他基础信息。

    mongodump备份选项--oplog
    注意这是replica set或者master/slave模式专用,--oplog选项只对全库导出有效,所以不能指定-d选项。因为整个实例的变更操作都会集中在local库中的oplog.rs集合中。
    实际作用是在导出的同时生成一个oplog.bson文件,存放在你开始进行dump到dump结束之间所有的oplog
    在replica set中oplog是一个定容集合(capped collection),它的默认大小是磁盘空间的5%(可以通过--oplogSizeMB参数修改),位于local库的db.oplog.rs
    其中记录的是整个mongod实例一段时间内数据库的所有变更(插入/更新/删除)操作。当空间用完时新记录自动覆盖最老的记录
    其覆盖范围被称作oplog时间窗口。需要注意的是,因为oplog是一个定容集合,所以时间窗口能覆盖的范围会因为你单位时间内的更新次数不同而变化

    简单说备份会产生两个文件:数据库文件和oplog.bson文件,数据库文件存放备份开始到结束时间段内某个时间的数据,
    oplog.bson文件存放的是dump开始的时间系统将修改记录到oplog.bson

    数据恢复的时候先恢复数据文件,之后再恢复oplog.bson内数据

  • 相关阅读:
    maven项目启动报错
    maven环境变量配置
    jdk版本升级 eclipse启动失败
    jdk10 环境变量配置
    Invalid bound statement 无效的绑定 的解决办法!
    【Java】-NO.16.EBook.4.Java.1.004-【疯狂Java讲义第3版 李刚】- 内部类
    【Java】-NO.14.Java.4.Java.1.001-【Java JUnit 5 】-
    【Java】-NO.13.Java.1.Foundation.1.001-【Java IO】-
    【设计模式】用追MM来解释23种设计模式,转
    【Linux】-NO.8.Linux.4.Command.1.001-【Common Command】-
  • 原文地址:https://www.cnblogs.com/youhunyimeng/p/6407548.html
Copyright © 2011-2022 走看看