AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

configureCollectionBalancing(データベースコマンド)

configureCollectionBalancing

バージョン5.3の新機能。

チャンク サイズの設定やコレクションのデフラグなど、シャーディングされたコレクションの バランサー 設定を構成します。

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

注意

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

このコマンドの構文は、次のとおりです。

db.adminCommand(
{
configureCollectionBalancing: "<db>.<collection>",
chunkSize: <num>,
defragmentCollection: <bool>,
enableAutoMerger: <bool>,
enableBalancing: <bool>
}
)

configureCollectionBalancing には、次のフィールドがあります。

フィールド
タイプ
必要性
説明

configureCollectionBalancing

string

必須

設定するデータベースとシャーディングされたコレクションの名前。

chunkSize

integer

任意

Sets the chunk size in MiB for the collection. The recommended size is 256, 512, or larger. For details on default behavior, see Default Behavior When chunkSize Is Not Specified.

defragmentCollection

ブール値

任意

バランサーにコレクションをデフラグさせます。 デフォルトはfalseです。

enableAutoMerger

ブール値

任意

AutoMerger がこのコレクションを考慮するかどうかを設定します。デフォルトは true です。

enableBalancing

ブール値

任意

バランサー がコレクションで動作するかどうかを設定します。false に設定されていると、コレクションのバランサーは無効になります。

バージョン8.1の新機能。

詳細については、「チャンクを使用したデータのパーティショニング 」を参照してください。

チャンクのデフラグ、スロットリング時間パラメータを構成するには、 chunkDefragmentationThrottlingMSを参照してください。

シャーディングされたコレクションのデフラグについて詳しくは、「シャーディングされたコレクションのデフラグ」をご覧ください。

コレクションにchunkSizeを指定せず、過去にカスタム サイズが設定されていない場合、グローバルのデフォルトchunkSizeがバランシングに使用されます。

If you use configureCollectionBalancing with chunkSize: 0, the per-collection chunkSize is reset and the global default chunkSize is used for balancing.

デフォルトのchunkSizeの構成の詳細については、「シャーディングされたクラスターの範囲サイズの変更 」を参照してください。

コレクションにenableAutoMergerを指定せず、カスタムの自動マージ動作が過去に設定されていない場合は、デフォルトでtrueになり、AutoMerger によって考慮されます。

8.2 以降、MongoDB は、configureCollectionBalancing に渡すパラメータのスペルを検証します。パラメータのスペルを外すと、configureCollectionBalancing は実行に失敗し、エラーが返されます。

シャーディングされたコレクションのチャンク サイズを変更するには、 chunkSizeオプションを使用します。

db.adminCommand( {
configureCollectionBalancing: "test.students",
chunkSize: 256
} )

特定のコレクションのチャンク サイズを変更するには、次のコマンドを使用します。

警告

デフォルトでは、チャンク内のドキュメント数が、構成されたチャンク サイズを平均ドキュメント サイズで割った結果の2倍を超える場合、MongoDB はチャンクを移動できません。

平均ドキュメントサイズを見つけるには、 db.collection.stats()メソッドの出力のavgObjSizeフィールドを参照してください。

詳細については、「範囲サイズ 」を参照してください。

警告

MongoDB 6.0.0 から 6.0.3 および MongoDB 6.1.0 のシャーディングされたコレクションのデフラグには、 defragmentCollectionを使用することは推奨しません。 を 6.1.1 に設定し、 これらのリリースのデフラグ プロセスにより、データベースとコレクションが長期間にわたって使用できなくなる可能性があるためです。

シャーディングされたコレクションをデフラグするようにバランサーに指示するには、 defragmentCollectionオプションを使用します。

db.adminCommand( {
configureCollectionBalancing: "test.students",
defragmentCollection: true
} )

このコマンドを使用して、バランサーにシャーディングされたコレクションをデフラグします。 チャンクのデフラグ プロセスをモニターするには、 balancerCollectionStatusコマンドを使用します。

シャーディングされたコレクションのデフラグについて詳しくは、「シャーディングされたコレクションのデフラグ 」をご覧ください。

チャンク サイズを更新中にシャーディングされたコレクションをデフラグするには、 defragmentCollectionオプションとchunkSizeオプションを併用します。

db.adminCommand( {
configureCollectionBalancing: "test.students",
chunkSize: 512,
defragmentCollection: true
} )

コレクションの AutoMerger を明示的に無効にするには、 enableAutoMergerオプションをfalseに設定します。

db.adminCommand( {
configureCollectionBalancing: "test.students",
enableAutoMerger: false
} )

コレクションのバランサーを明示的に無効にするには、enableBalancing オプションを false に設定します。

db.adminCommand( {
configureCollectionBalancing: "test.students",
enableBalancing: false
} )
このページを評価