MongoDB数据还原及同步解决方案

mongodb数据如何还原,同步到其他系统?只要我们了解了数据库日志原理,一切都是那么简单
oplog原理
Oplog.rs 表类型为 Capped Collections
- 表类型:
Capped collections它的插入速度非常快,基本和磁盘的写入速度差不多,并且支持按照插入顺序高效的查询操作。Capped collections的大小是固定的,它的工作方式很像环形缓冲器(circular buffers), 当剩余空间不足时,会覆盖最先插入的数据。

  • 优势:
    Capped collections的特点是高效插入和检索,所以最好不要在Capped collections上添加额外的索引,否则会影响插入速度。
    ?插入快: 没有索引
    ?检索快: natural/()Cappedcollections使 n a t u r a l 【 插 入 顺 序 】 / ∗ 默 认 只 支 持 按 自 然 顺 序 ( 即 插 入 顺 序 ) 返 回 结 果 C a p p e d c o l l e c t i o n s 可 以 使 用 natural操作符按插入顺序的正序或反序返回结果
    */
    Oplog为了保证插入性能,不允许额外创建索引。

  • Capped collections可以用于以下场景:
    存储日志: Capped collections的first-in-first-out特性刚好满足日志事件的存储顺序;
    缓存小量数据:因为缓存的特点是读多写少,所以可以适当使用索引提高读取速度。

  • 限制:
    如果更新数据,你需要为之创建索引以防止collection scan;
    更新数据时,文档的大小不能改变。比如说name属性为’abc’,则只能修改成3个字符的字符串,否则操作将会失败;
    数据不允许删除,如果非删除不可,只能drop collection

db[‘oplog.rs’].find({}).sort({$natural: -1})
Oplog是一种特殊的Capped collections,特殊之处在于它是系统级Collection,记录了数据库的所有操作,集群之间依靠Oplog进行数据同步。Oplog的全名是local.oplog.rs,位于local数据下。

你可能感兴趣的:(MongoDB)