MongoDB如何复制影响多个文档的更新查询?
它是否会使用基于语句的方法来保存op-log或基于行的方法?
选择基于行或语句的复制的标准是什么?
答案 0 :(得分:2)
它是否会使用基于语句的方法来保存操作或基于行的方法
MongoDB使用oplog在每行的基础上工作。因此,当您执行影响多行的更新时,它实际上会逐行将每一行写入oplog,这当然是一个空间接受者;如手册中所述:http://docs.mongodb.org/manual/core/replication/#oplog
oplog必须将多个更新转换为单个操作,以保持幂等性。这可以使用大量的oplog空间而不会相应增加磁盘利用率。
oplog基本上是一个上限集合,它将首先复制到最旧的。
据我所知,MongoDB不像许多SQL技术那样进行基于语句的复制。