シャーディングされたクラスターの範囲サイズの変更
シャーディングされたクラスターのデフォルトの範囲サイズは 128 メガバイトです。 このデフォルトの範囲サイズは、ほとんどの配置で機能します。ただし、自動移行によってハードウェアが処理できる以上の I/O が使用されることに気付いた場合は、範囲サイズを小さくすることをお勧めします。 範囲サイズが小さいと、移行がより迅速かつ頻繁に行われます。 許可されるサイズは 1 から 1024 メガバイトまでです。
範囲サイズを変更するには、次の手順に従います。
mongos
を使用して、クラスター内の任意のmongosh
に接続します。次のコマンドを発行して、コンフィギュレーションデータベースに切り替えます。
use config グローバル範囲サイズの構成値を保存するには、次のコマンドを実行します。
db.settings.updateOne( { _id: "chunksize" }, { $set: { _id: "chunksize", value: <sizeInMB> } }, { upsert: true } )
チャンク サイズの変更には、いくつかの制限があります。
MongoDB 6.0.3 以降では、自動チャンク分割は実行されません。 これはバランシング ポリシーの改善によるものです。 自動分割コマンドは引き続き存在しますが、操作は実行されません。 詳細については、「バランシング ポリシーの変更 」を参照してください。
MongoDB 6.0以降では、次の自動分割コマンドでは操作が実行されません。
6.0より前のバージョンの MongoDB では、自動分割は挿入または更新操作でのみ発生します。
チャンク サイズを小さくすると、すべてのチャンクが新しいサイズに分割されるまでに時間がかかる可能性があります。
分割は元に戻すことはできません。
チャンク サイズを増やすと、既存のチャンクは新しいサイズになるまで挿入または更新によってのみ増加します。
チャンク サイズの許可される範囲は 1 メガバイトから 1024 メガバイトまでです。