私はMongoDBのテスト実装に取り組んでおり、1,000,000レコードをコレクションに一括挿入し、2つのシャード間で均等に分散させようとしています. 私の最初の試行では、1 つのシャードには 995760 レコードが含まれ、もう 1 つのシャードには 4251 レコードしか含まれていませんでした。事前に分割しようとしましたが、何も変わりませんでした。私はシャーディングの概念に慣れていないので、この件に関する助けをいただければ幸いです。
アップデート:
私のシャードキーは、1〜999,999の範囲の整数であるフィールド「number」に入力します
状態:
{
"sharded" : true,
"ns" : "test.test_collection",
"count" : 999999,
"numExtents" : 21,
"size" : 43982976,
"storageSize" : 210247680,
"totalIndexSize" : 60396112,
"indexSizes" : {
"_id_" : 32466896,
"number_1" : 27929216
},
"avgObjSize" : 43.983019983019986,
"nindexes" : 2,
"nchunks" : 239,
"shards" : {
"firstset" : {
"ns" : "test.test_collection",
"count" : 995754,
"size" : 43813176,
"avgObjSize" : 44,
"storageSize" : 123936768,
"numExtents" : 11,
"nindexes" : 2,
"lastExtentSize" : 37625856,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 0,
"totalIndexSize" : 60118128,
"indexSizes" : {
"_id_" : 32319728,
"number_1" : 27798400
},
"ok" : 1
},
"secondset" : {
"ns" : "test.test_collection",
"count" : 4245,
"size" : 169800,
"avgObjSize" : 40,
"storageSize" : 86310912,
"numExtents" : 10,
"nindexes" : 2,
"lastExtentSize" : 27869184,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 0,
"totalIndexSize" : 277984,
"indexSizes" : {
"_id_" : 147168,
"number_1" : 130816
},
"ok" : 1
}
},
"ok" : 1
}
更新 2:
提案してくれた@Sammayeに感謝します。問題は私のシャードキーに関係していました。キーをハッシュすると、一括挿入によってレコードが均等に分割されました。助けてくれてありがとう!