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

configureCollectionBalancing

項目一覧

  • 定義
  • 互換性
  • 構文
  • 動作
configureCollectionBalancing

バージョン 5.3 で追加。

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

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

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

注意

このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、 「サポートされていないコマンド」を参照してください。

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

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

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

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

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

フィールド
タイプ
説明
configureCollectionBalancing
string
必須: 構成するデータベースとシャーディングされたコレクションの名前。
chunkSize
integer
任意: コレクションのチャンク サイズを MiB 単位で設定します。 推奨サイズは 256、512、またはそれ以上です。
defragmentCollection
ブール値
任意: バランサーにコレクションをデフラグします。

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

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

configureCollectionBalancingchunkSize: 0と併用すると、コレクションごとのchunkSizeがリセットされ、グローバルのデフォルトchunkSizeがバランシングに使用されます。

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

シャーディングされたコレクションのチャンク サイズを変更するには、 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
} )

戻る

commitReshardCollection