在分片集群中创建范围
在此页面上
在大多数情况下, 分分片集群会自动创建、分割和分配范围,无需用户干预。但是,在某些情况下, MongoDB无法创建足够多的范围或以足够快的速度分发数据,从而无法支持所需的吞吐量。
示例,如果您想将大量数据摄取到具有跨分片分布式插入的集群中,则预分片空分分片的集合的范围可以提高吞吐量。
注意
从MongoDB 6.0 开始,负载负载均衡器器不再分配空范围。要预分割集合,请使用moveRange
在集群中的分片之间分配空范围。moveRange
会自动分割要移动的范围,这意味着 moveRange
会同时执行分割和移动操作。您无需使用split
手动分割范围。
或者,通过在对空集合或不存在的集合进行分片之前定义区域和区域范围,分片集合操作会为已定义的区域范围创建范围以及任何其他范围,以覆盖分片键值的整个范围,并执行基于区域范围的初始范围分配。有关更多信息,请参阅空集合。
警告
仅对空集合的范围进行预分片。手动分割已填充集合的范围可能会导致不可预测的范围和大小,以及低效或无效的平衡行为。
了解详情
通过分片命令创建和分配的初始范围,请参阅空集合。
手动迁移范围,请参阅在分片集群中迁移范围。