问题描述
我正在运行具有5个分片的MongoDB。我的数据库中有很多馆藏,其中只有少数馆藏是分片的,这意味着未分馆藏的收藏品在主要馆藏中。
是否有任何方法可以让MongoDB知道应该以某种方式分配分片集合的一部分,使得主分片上的分片少于其他分片上的分片。这将使主数据库有更多空间来处理对非分片集合的请求。当前,它总是比其他分片更忙(cpu,磁盘usgae)
当前情况:
Shard shard1 contains 19.98% data,20.06% docs in cluster,avg obj size on shard : 123KiB
Shard shard2 contains 19.89% data,19.91% docs in cluster,avg obj size on shard : 124KiB
Shard shard3 contains 20.00% data,20.00% docs in cluster,avg obj size on shard : 124KiB
Shard shard4 contains 20.07% data,19.95% docs in cluster,avg obj size on shard : 125KiB
Shard shard5 contains 20.04% data,20.05% docs in cluster,avg obj size on shard : 124KiB
目标情况(分片1是主要的):
Shard shard1 contains 4% data,4% docs in cluster,avg obj size on shard : 123KiB
Shard shard2 contains 24% data,24% docs in cluster,avg obj size on shard : 124KiB
Shard shard3 contains 24% data,avg obj size on shard : 124KiB
Shard shard4 contains 24% data,avg obj size on shard : 125KiB
Shard shard5 contains 24% data,avg obj size on shard : 124KiB
注意:我无法对所有集合进行分片,因为在它们上运行的查询无法正常工作(https://docs.mongodb.com/manual/core/sharded-cluster-requirements/#sharding-operational-restrictions),并且我无权更改这些集合。 (出于某些原因,我将不参加)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)