Mongodb 在Mongo中使用复合索引作为分片键有什么要求?

Mongodb 在Mongo中使用复合索引作为分片键有什么要求?,mongodb,sharding,compound-key,Mongodb,Sharding,Compound Key,在MongoDB(特别是2.0.4)中使用复合索引作为分片键有什么要求。我在某个地方读到,关键组件必须是唯一的,是吗? 在设计复合碎片钥匙时应该考虑什么? 关键组件的顺序重要吗?通常在许多地方都会涉及此主题: 至于您的具体问题,shard密钥不必是唯一的,尽管人们通常会这样配置它。您可能指的是切分键是不可变的(上面也讨论过) 您还应该考虑所有(非多个)更新、UpSerts和插入必须包括碎片密钥,因此从这个角度来看,顺序可能是重要的,特别是从性能的角度来看,基于查询模式的更有效的顺序

在MongoDB(特别是2.0.4)中使用复合索引作为分片键有什么要求。我在某个地方读到,关键组件必须是唯一的,是吗? 在设计复合碎片钥匙时应该考虑什么?
关键组件的顺序重要吗?

通常在许多地方都会涉及此主题:

至于您的具体问题,shard密钥不必是唯一的,尽管人们通常会这样配置它。您可能指的是切分键是不可变的(上面也讨论过)

您还应该考虑所有(非多个)更新、UpSerts和插入必须包括碎片密钥,因此从这个角度来看,顺序可能是重要的,特别是从性能的角度来看,基于查询模式的更有效的顺序通常是一个好主意。对于数据分发来说,这可能也是一个好主意,但实际上您的问题有点模糊


稍微阅读一下上面的链接,看看关于这个主题的其他帖子,然后问一些更具体的问题——如果你有一个建议的模式和数据使用说明,那就更好了。

这个主题通常在很多地方都有涉及:

至于您的具体问题,shard密钥不必是唯一的,尽管人们通常会这样配置它。您可能指的是切分键是不可变的(上面也讨论过)

您还应该考虑所有(非多个)更新、UpSerts和插入必须包括碎片密钥,因此从这个角度来看,顺序可能是重要的,特别是从性能的角度来看,基于查询模式的更有效的顺序通常是一个好主意。对于数据分发来说,这可能也是一个好主意,但实际上您的问题有点模糊

稍微阅读一下上面的链接,看看关于这个主题的其他线程,然后问一些更具体的问题——如果你有一个提议的模式和数据使用说明,那就更好了