MongoDB是否使用基于语句和基于行的复制(如MySQL)?

时间:2013-03-06 17:11:04

标签: mongodb

MongoDB如何复制影响多个文档的更新查询?

它是否会使用基于语句的方法来保存op-log或基于行的方法?

选择基于行或语句的复制的标准是什么?

1 个答案:

答案 0 :(得分:2)

  

它是否会使用基于语句的方法来保存操作或基于行的方法

MongoDB使用oplog在每行的基础上工作。因此,当您执行影响多行的更新时,它实际上会逐行将每一行写入oplog,这当然是一个空间接受者;如手册中所述:http://docs.mongodb.org/manual/core/replication/#oplog

  

oplog必须将多个更新转换为单个操作,以保持幂等性。这可以使用大量的oplog空间而不会相应增加磁盘利用率。

oplog基本上是一个上限集合,它将首先复制到最旧的。

据我所知,MongoDB不像许多SQL技术那样进行基于语句的复制。