![]() |
1
2
这是因为散列切分和平衡是如何工作的。 在空集合中(从 Shard an Empty Collection ):
所以如果你执行
现在如果你添加一个新的碎片 之后 块已创建,碎片开始为空,平衡器将开始使用 Migration Thresholds . 在已填充的集合中,此过程可能需要一段时间才能完成。 如果在平衡器仍在移动块(现在可能不是空的)的同时执行另一个摄取,那么集群现在同时执行两个不同的任务:1)摄取,2)平衡。 当你用一个碎片做这个并添加另一个碎片时,很可能你摄入的数据块仍然位于碎片1中,并且还没有移动到新的碎片,所以大多数数据将进入该碎片。 因此,在添加新碎片之后,您应该等到集群达到平衡后再执行另一次摄取。平衡后,摄入的负荷应该更均匀地分布。
注:
因为你的碎片钥匙是
|
![]() |
Hayato · 如何检查我是如何安装MongoDB的 2 年前 |
![]() |
Valeri · 如何仅获取布尔值数组中没有“false”的文档? 2 年前 |
![]() |
Agrim Singh · 用户数据。名称未显示用户名 2 年前 |
![]() |
danilonet · MongoDb。NET-ObjectId序列化 2 年前 |
![]() |
Windy · MongoDB-查询计算和分组多个项目 2 年前 |
![]() |
Mike Kharkov · 无法从数据库中检索多个值 2 年前 |