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数据还原及同步解决思路,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对找一找教程网网站的支持!