首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为了获得性能,我必须在查询中附加碎片键吗?

为了获得性能,我必须在查询中附加碎片键吗?
EN

Stack Overflow用户
提问于 2022-01-23 18:00:13
回答 1查看 164关注 0票数 1

我对mongodb分片很陌生。我们知道,我们分割数据库是为了扩大规模。其中,我们需要使用切分密钥,以便数据库分发系统能够根据这些键值分发数据。我的问题是:为了避免在其他分片数据库服务器上进行不必要的查询,我是否必须将切分键附加到查询中,或者这是否适用于mongodb分片?

EN

回答 1

Stack Overflow用户

发布于 2022-01-23 18:57:48

当您的搜索具有查询中的shard键索引时,mongodb分片集群路由服务(Mongos)将直接将您的查询转发到查询所针对的碎片,从而避免将“分散-收集”请求发送到所有碎片。这是因为mongos正在缓存shard键索引范围,并预先知道要处理请求的碎片。

此外,在特定的mongodb版本中,>=4.2包含查询部分的切分键是强制性的。

另外,如果您的数据分布在发送广播请求的几个碎片之间,这不是一个问题,但是如果您有100个碎片,则需要等待所有100个碎片搜索和答复mongos,因此通常不使用shard键是一个不可伸缩的操作,需要尽可能避免。

我希望这个回答你的问题..。

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

https://stackoverflow.com/questions/70825022

复制
相关文章

相似问题

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