什么是哈希指数?

时间:2013-06-02 13:48:53

标签: mongodb sharding

MongoDB 2.4有一个新功能,我看到周围的人都在谈论,所以这是我的问题(对不起,如果它们很简单):

  • MongoDB是否在不指定分片键的情况下管理它们?或管理员选择密钥?
  • 是否有任何陷入Hostspot问题或磁盘IO滞后的风险,因为有Hash这个词并且哈希值是随机的?

1 个答案:

答案 0 :(得分:4)

您的想法是,您可以在要用作分片键的字段上创建散列索引,该分片恰好会导致错误的写入分发(例如,它会单调增加,并会在最近的条目上创建热点)。

存储在散列索引中的散列是128位md5散列的64位。目标是允许通过密钥的哈希值进行分片,而无需应用程序需要了解散列机制。

您可以在此处找到有关此内容的更多信息:http://docs.mongodb.org/manual/core/sharded-cluster-internals/#sharding-hashed-shard-key-internals