0

我是 mongodb 分片的新手。我们知道我们为扩展目的对数据库进行了分片。我们需要在哪里使用分片键,以便数据库分发系统可以根据这些键值分发数据。我的问题是 - 我是否必须在查询中附加分片键以避免在其他分片数据库服务器上进行不必要的查询,或者这是否适用于 mongodb 分片?

4

1 回答 1

0

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

此外,在 mongodb 版本 >=4.2 的特定写入案例中,在查询部分中包括分片键是强制性的。

此外,如果您的数据分布在发送广播请求的几个分片之间不是问题,但如果您有 100 个分片,您将需要等待所有 100 个分片搜索并回复 mongos,因此通常不使用分片键是不可扩展的操作,需要尽可能避免。

我希望这能回答你的问题......

于 2022-01-23T18:57:48.800 回答