Bar*_*man 8 replication mongodb replicaset wiredtiger
在副本模式下,对任何DB中的任何集合的每个写操作也会写入oplog集合.
现在,当并行写入多个DB时,所有这些写操作也会写入oplog.我的问题:这些写操作是否需要锁定oplog?(我正在使用w:1写关注).如果他们这样做,这有点类似于对所有不同DB的所有写操作之间的全局锁定,不是吗?
我很乐意得到任何暗示.
根据文档,在复制中,当MongoDB写入主数据库上的集合时,MongoDB也会写入primary\xe2\x80\x99s oplog,这是本地数据库中的一个特殊集合。因此,MongoDB必须同时锁定collection\xe2\x80\x99s数据库和本地数据库。mongod 必须同时锁定两个数据库,以保持数据库一致,并确保写操作(即使有复制)也是 \xe2\x80\x9call-or-nothing\xe2\x80\x9d 操作。
\n\n这意味着在主数据库上并行写入多个数据库可能会导致所有写入操作之间出现全局锁。这不适用于辅助节点,因为 MongoDB 不会将写入串行应用于辅助节点,而是批量收集 oplog 条目,然后并行应用这些批次。
\n 归档时间: |
|
查看次数: |
990 次 |
最近记录: |