欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解MongoDB数据还原及同步解决思路

程序员文章站 2023-02-20 18:35:55
mongodb数据如何还原,同步到其他系统?只要我们了解了数据库日志原理,一切都是那么简单 oplog原理 oplog.rs 表类型为 capped collectio...

mongodb数据如何还原,同步到其他系统?只要我们了解了数据库日志原理,一切都是那么简单

oplog原理

oplog.rs 表类型为 capped collections

- 表类型:

capped collections它的插入速度非常快,基本和磁盘的写入速度差不多,并且支持按照插入顺序高效的查询操作。capped collections的大小是固定的,它的工作方式很像环形缓冲器(circular buffers), 当剩余空间不足时,会覆盖最先插入的数据。

优势:

capped collections的特点是高效插入和检索,所以最好不要在capped collections上添加额外的索引,否则会影响插入速度。

插入快: 没有索引

检索快: natural【插入顺序】/∗默认只支持按自然顺序(即插入顺序)返回结果cappedcollections可以使用" role="presentation">natural【插入顺序】/默认只支持按自然顺序(即插入顺序)返回结果cappedcollections可以使用natural【插入顺序】/默认只支持按自然顺序(即插入顺序)返回结果cappedcollections可以使用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数据还原及同步解决思路,希望对大家有所帮助