mongodb分片情况下的排序

nit*_*sht 5 sorting sharding mongodb nosql mongodb-query

当我们根据散列的分片键将一个集合分片到两个 mongod 分片时,我已经在 mongodb 中实现了分片,因此它在分片内部进行了并行排序。之后,它如何根据_id对集合进行排序?其他考虑点是什么?什么是:

  1. 散列分片键的限制?
  2. mongo 查询路由器使用什么排序过程对从分片中获取的记录进行排序?
  3. 查询是否会因为网络延迟而受到影响?

Aid*_*yan 3

  1. 没有把握。

  2. 如果您不指定排序,mongo 将从分片中循环返回记录,我认为这意味着不能保证任何特定的顺序,甚至不能保证从查询到查询的可重现顺序。如果您有显式排序,则主分片将执行合并排序。请参阅mongos文档

  3. 当然。

(这是一个老问题,但它在谷歌结果中出现得相当高。)