如何根据业务需求,在MongoDB副本集中合理设置ReadConcern以平衡数据一致性和读取延迟?
- 内容介绍
- 文章标签
- 相关推荐
本文共计967个文字,预计阅读时间需要4分钟。
readConcern控制读操作的返回数据,确保返回有多新、多可靠的数据。
-
local:只保证读到该节点内存/磁盘上已有的最新数据,不关心是否被其他节点确认。延迟最低,但可能读到之后回滚的数据 -
majority:只返回已被大多数副本集成员(含 primary)持久化写入的数据。能规避回滚风险,是多数强一致性场景的底线选择 -
linearizable:在majority基础上加锁 + 强制主节点最新 oplog 时间戳检查,确保“绝对最新且不可逆”。
本文共计967个文字,预计阅读时间需要4分钟。
readConcern控制读操作的返回数据,确保返回有多新、多可靠的数据。
-
local:只保证读到该节点内存/磁盘上已有的最新数据,不关心是否被其他节点确认。延迟最低,但可能读到之后回滚的数据 -
majority:只返回已被大多数副本集成员(含 primary)持久化写入的数据。能规避回滚风险,是多数强一致性场景的底线选择 -
linearizable:在majority基础上加锁 + 强制主节点最新 oplog 时间戳检查,确保“绝对最新且不可逆”。

