MongoDB 6.0分片集群数据分布的迁移阈值咨询
MongoDB 6.0 分片集群数据分布迁移阈值说明
在早期MongoDB版本中,分片间的块迁移阈值基于集合内的块数量设定,具体规则如下:
| 集合中的块数量 | 迁移阈值数值 |
|---|---|
| [1, 20) | 2 |
| [20, 80) | 4 |
MongoDB 6.0及后续版本切换为基于数据大小的自动分片平衡机制,其迁移阈值相关规则如下:
- 核心触发条件为分片间的总数据量差异:当某分片的总数据量超出集群所有分片平均数据量的20%时,平衡器会启动块迁移操作,将数据从负载高的分片转移到负载低的分片。
- 单个块的默认大小由配置项
chunkSize控制(默认64MB),平衡器优先迁移大小接近该值的块,保证迁移效率。 - 针对空分片或数据量远低于平均值的分片,平衡器会主动将其他分片的块迁移过来,直到各分片数据量趋于均衡。
用户可根据业务场景调整相关配置(如balancerWindow控制平衡器运行时段、修改chunkSize调整块大小),但默认的20%差异阈值适配多数通用场景。
内容的提问来源于stack exchange,提问作者arbitrary_A
相关产品推荐
相关产品推荐

