【发布时间】:2022-02-11 15:38:07
【问题描述】:
我在mongodb's documentation 中找不到默认写入关注点是什么以及如何定义“确认写入”。 似乎这在整个不同的 mongodb 版本中都发生了变化,例如 v3.2 documentation 所示:
在 3.2.6 之前的 3.2 版本中,如果启用了日志,w: "majority" 意味着 j: true。对于早期版本的 MongoDB,w:majority" 并不意味着日志。
或者:
3.0 版更改:在 MongoDB 3.0 之前,w:“majority”指的是副本集的大多数成员。
或者:
在 2.6 版中更改:在主/从部署中,MongoDB 将 w: "majority" 视为等同于 w: 1。在早期版本的 MongoDB 中,w: "majority" 在主/从部署中产生错误。
另外,我想知道“多数”是指v3.2 documentation 中的所有投票节点:
请求确认写入操作已传播到大多数投票节点 [1],包括主节点。
这是否意味着仲裁者也是投票节点?因此,例如,如果我有一个由 2 个数据承载节点和 1 个仲裁器组成的 replSet,即使 1 个数据承载节点因写入已被其余数据承载节点确认而关闭,具有写入关注“多数”的写入操作也会成功和仲裁者,因此是多数?
【问题讨论】:
标签: mongodb