分布式查询
在本页面
- 减少多数据中心部署中的延迟,
- 通过分配高读取量(相对于写入量)来提高读取吞吐量,
- 执行备份操作,和/或
将操作读取到副本集。 默认读取首选项将读取路由到主数据库。 ``最近''的读取首选项会将读取路由到最近的成员。
来自复制集的次要成员的读取操作可能无法反映主要数据库的当前状态。将读取操作定向到不同服务器的读取首选项可能会导致非单调读取。
Diagram of default routing of reads and writes to the primary.
分片群集的示意图。
将操作读取到分片群 集。 查询条件包括分片键。 查询路由器``mongos''可以将查询定位到适当的一个或多个分片。
将操作读取到分片群集。 查询条件不包含分片键。 查询路由器``mongos''必须向所有分片广播查询以进行收集。
对于复制集分片,从复制集的辅助成员进行的读取操作可能无法反映主副本的当前状态。将读取操作定向到不同服务器的读取首选项可能会导致非单调读取。
[success] 注意从MongoDB 3.6开始,
分片复制集的所有成员(不仅是主节点)都维护有关块元数据的元数据。如果不使用读取关注点,这将防止从辅助节点读取返回孤立的数据["available"
](https://docs.mongodb.com/manual/reference/read-concern-available/#readconcern."available")。在较早的版本中,无论是否关注读操作,从辅助对象进行的读操作都可能返回孤立的文档。
分片群集的示意图。
分片键值空间划分成较小范围或块的图。
如果分片键的值在每次插入时增加或减少,则所有插入操作都将针对单个分片。结果,单个分片的容量成为分片簇的插入容量的限制。
也可以看看:
译者:杨帅
校对:杨帅
最近更新 1yr ago