mongodb shard密钥哈希算法

问题描述 投票:5回答:3

我无法找到有关mongodb用于收集或分片键的算法的文档。

任何人都可以帮助或发布参考?

mongodb sharding
3个回答
3
投票

如果您对一般工作中的索引更感兴趣,请查看关于内部的演示文稿:http://www.mongodb.com/presentations/storage-engine-internals或者这个http://www.mongodb.com/presentations/mongodbs-storage-engine-bit-bit

由于单个分片对集群的整个结构知之甚少,因此内部使用相同的索引算法,只要有一个元数据层,它知道与特定分片相关的数据分析。

有一些特殊情况,在本文档中描述:http://docs.mongodb.org/manual/core/indexes/因此在上面的演示文稿中没有涉及的是地理空间索引和特殊的散列索引(DOCS)。这个也可以用作分片键并称为散列索引,在这种情况下,分片是基于散列的分片.check THISTHIS

关于用于此的散列算法是:在此文件中使用的md5:https://github.com/mongodb/mongo/blob/master/src/mongo/db/hasher.cpp

在这里实施:https://github.com/mongodb/mongo/blob/master/src/mongo/util/md5.cpp

目前仅适用于单个字段作为分片键,至少可以从https://github.com/mongodb/mongo/blob/master/src/mongo/db/index/hash_access_method.cpp源文件中的注释读出。


0
投票

关于分片键的官方文档是

http://docs.mongodb.org/manual/core/sharded-clusters/

如果您的“算法”意味着群集,您可以通过以下方式获得帮助:

http://docs.mongodb.org/manual/core/sharded-cluster-operations/


0
投票

您现在可以使用convertShardKeyToHashed将密钥从version 4.0转换为其哈希值

从这个参考资料中,浏览源代码并阅读其实现

© www.soinside.com 2019 - 2024. All rights reserved.