mongodb がコレクションまたはシャード キーに使用しているアルゴリズムに関するドキュメントが見つかりません。
誰でもこれを手伝ったり、参照を投稿したりできますか?
一般的なインデックス作成の仕組みに興味がある場合は、内部に関するこのプレゼンテーションを確認してください: http://www.mongodb.com/presentations/storage-engine-internalsまたはこれhttp://www.mongodb.com/presentations/ mongodbs-ストレージ エンジン-ビット-ビット
個々のシャードはクラスターの構造全体についてあまり認識していないため、特定のシャードに関連するデータ部分を認識するメタデータ レイヤーがあるだけで、同じインデックス作成アルゴリズムを内部的に利用します。
このドキュメントで説明されているいくつかの特別なケースがあります: http://docs.mongodb.org/manual/core/indexes/ したがって、上記のプレゼンテーションでこのようにカバーされていないのは、地理空間インデックスと特別なものです。ハッシュされたインデックス ( DOCS )。これはシャード キーとして使用することもでき、ハッシュ インデックスと呼ばれます。この場合、シャーディングはハッシュ ベースのシャーディングです。THISと THISを確認してください。
これに使用されるハッシュアルゴリズムについて: このファイルで使用される 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ソースのコメントから読み取ることができますファイル。
シャードキーに関する公式ドキュメントは
http://docs.mongodb.org/manual/core/sharded-clusters/
「アルゴリズム」がクラスターを意味する場合は、次の方法でヘルプを得ることができます。
http://docs.mongodb.org/manual/core/sharded-cluster-operations/