gpt4 book ai didi

MongoDB 3.0 在副本模式下对 oplog 集合的写锁定

转载 作者:IT老高 更新时间:2023-10-28 13:15:41 26 4
gpt4 key购买 nike

在副本模式下,对任何数据库中任何集合的每个写入操作,也会写入 oplog 集合。

现在,当并行写入多个 DB 时,所有这些写入操作也会写入 oplog。我的问题:这些写操作需要锁定 oplog 吗? (我正在使用 w:1 写关注)。如果他们这样做了,这有点类似于在所有不同数据库的所有写操作之间有一个全局锁,不是吗?

我很乐意得到这方面的任何提示。

最佳答案

根据documentation ,在复制中,当MongoDB写入primary上的一个collection时,MongoDB也会写入primary的oplog,这是本地数据库中的一个特殊collection。因此,MongoDB 必须同时锁定集合的数据库和本地数据库。 mongod 必须同时锁定两个数据库以保持数据库一致并确保写入操作,即使是复制,也是“全有或全无”操作。

这意味着在主数据库上并行写入多个数据库可能会导致所有写入操作之间的全局锁定。这不适用于辅助节点,因为 MongoDB 不会将写入串行应用到辅助节点,而是批量收集 oplog 条目,然后并行应用这些批处理。

关于MongoDB 3.0 在副本模式下对 oplog 集合的写锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33744380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com