首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么MongoDB中的单个碎片报告更多的删除操作,而不是分片集群中相应的mongos?

为什么MongoDB中的单个碎片报告更多的删除操作,而不是分片集群中相应的mongos?
EN

Stack Overflow用户
提问于 2015-05-04 09:39:50
回答 1查看 39关注 0票数 0

因此,我有一个生产切分的MongoDB集群,其中有8个由mongos管理的碎片(复制集)。假设我有20个服务器正在运行我的应用程序,每个服务器运行一个mongos进程来管理8个碎片。

在这种设置下,当我在20个服务器上检查我的每个mongos上的操作数时,我可以看到我的插入和删除的数量是成比例的--这与我的应用程序逻辑是一致的。但是,当我在各个碎片上运行mongostat --discover时,我发现删除的数量几乎是插入数的4倍,这违反了我的应用程序逻辑以及mongos指示的1:1比率。直截了当的直觉支持mongos只写一个碎片,因此各个碎片之间插入和删除的平均比率应该与mongos (应用程序直接写入的)上的平均比率相同,除非mongos在内部对碎片做了一些不同的事情。

有人能告诉我为什么会发生这种情况吗?或者让我知道,如果我的下半部可能出了什么问题?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-04 11:07:21

原因是我在没有指定我的切分键的情况下运行了对mongos的remove()查询。在这种情况下,mongos不知道将查询定向到哪个碎片,因此将查询广播到所有碎片,从而有效地执行比目标查询更多的删除操作。

有关更多信息,请查看文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30026956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档