为什么迁移后mongoDB中的块数增加了一倍?

时间:2019-01-08 03:51:38

标签: mongodb

这些天我正在处理MongoDB分片,我发现迁移到多个mongo分片后的块数是两倍。

环境:MongoDB版本为4.0.4。我有2台服务器(分别名为server1,server2),它们具有自己的IP地址,因此可以相互连接。在server1上,我制作了mongo路由器mongo config。在server2上,我制作了mongo shard1,shard2。结果,我很好地设置了mongo分片环境。数据为500mb,块大小为默认值(64mb)。

场景:我使用mongoimport命令(数据库:数据集,集合:数据500)将500mb数据放入mongos。我使用sh.shardCollection命令对data500集合进行了分片。数据均匀地分布在2个分片中。

问题:有2个分片,所以我想:“ shard1将有4个块,因为一个块为64mb,4个块为256mb。shard2也将有4个块,因此shard1和shard2块总共约为500mb。”但我的期望是错误的。使用db.collection..getShardDistribution()命令检查块大小后,shard1块的数量为8,每个块的大小约为32mb。 server2也有同样的情况。

我的想法:我认为平衡器故意为每个碎片腾出一个空房间。如果每个块都没有我期望的空房间(64mb),则平衡器将在出现新数据时再次分裂或迁移。因此,平衡器为新数据的腾出了空间!

我一直在寻找告诉我我的期望是否正确,但是我找不到。如果有人知道此文档或特定文档,请帮助我。预先感谢!

0 个答案:

没有答案