Docs Menu
Docs Home
/
MongoDBマニュアル
/ /

シャーディングされたクラスターでのチャンクの作成

ほとんどの場合、 シャーディングされたクラスターは、ユーザーの介入なしに自動的にチャンクの作成/分割と配布を行います。 ただし、限られた場合、MongoDB では必要なスループットをサポートするのに十分なチャンクを作成したり、十分な速度でデータを分散したりできない場合があります。

たとえば、バランスが取れていないクラスターに大量のデータを取り込む場合、またはシャードキーが単調に増加したり減少したりしているなど、データの取り込みによってデータの不均衡が生じるクラスターに大量のデータを取り込む場合。 空のシャーディングされたコレクションのチャンクを事前に分割すると、このような場合のスループットが向上します。

あるいは、空のコレクションまたは存在しないコレクションをシャーディングする 前に ゾーンとゾーンの範囲 を定義することで、シャード コレクション操作は定義されたゾーン範囲のチャンクと、シャードキー値の全範囲をカバーする追加のチャンクを作成し、ゾーン範囲に基づく初期チャンク分散。詳細については、「空のコレクション 」を参照してください。

警告

空のコレクションのチャンクのみを事前分割します。 入力されるコレクションのチャンクを手動で分割すると、予測できないチャンクの範囲とサイズが発生したり、バランシング動作が非効率的または非効果的になったりする可能性があります。

空のチャンクを手動で分割するには、 splitコマンドを実行します。

emailフィールドをシャードキーとして使用して、 myapp.usersコレクション内のドキュメントのチャンクを作成するには、 mongoshで次の操作を使用します。

for ( var x=97; x<97+26; x++ ){
for ( var y=97; y<97+26; y+=6 ) {
var prefix = String.fromCharCode(x) + String.fromCharCode(y);
db.adminCommand( { split: "myapp.users", middle: { email : prefix } } );
}
}

これには、コレクション サイズで100万ドキュメントが前提されています。

Tip

以下も参照してください。

戻る

データのパーティショニング