【发布时间】:2016-08-09 00:50:13
【问题描述】:
我正在尝试浏览 mongodb 分片的文档,我对如何分配主分片以及主分片的含义有点困惑
根据文档的统计,
每个数据库都有一个主分片来保存所有未分片的 数据库的集合。主分片与主分片无关 副本集中的主节点。
这是否意味着主分片是第一次创建数据库的分片中的分片(或服务器集合)?
假设我有 3 个分片 s0、s1 和 s2。在每个分片中我有 3 台服务器
- s0 服务器 1(主要)
- s0 服务器 2(辅助)
s0 - 服务器 3(辅助)
s1 - 服务器 4(主)
- s1 - 服务器 5(辅助)
s1 - 服务器 6(辅助)
s2 - 服务器 7(主)
- s2 - 服务器 8(辅助)
- s2 - 服务器 9(辅助)
现在,当我通过 mongoclient 和通过 mongos 创建新数据库时。现在假设该请求转到分片 1 (s1)。由于创建数据库是一个写操作,它会转到分片 1 中的服务器 4,因此 s1 成为主分片?
另一方面,如果请求将遍历到 s2 分片,那么作为主要服务器 7 将创建集合,然后 s2 将成为我的主要分片?
这种理解是正确的还是我在某些地方出错了?
【问题讨论】: