addShardToZone
定義
addShardToZone
シャードをゾーンに関連付けます。 MongoDB はこのシャードを指定されたゾーンに関連付けます。 ゾーンによってカバーされる チャンク は、そのゾーンに関連付けられているシャードに割り当てられます。
Tip
mongosh
では、このコマンドはsh.addShardToZone()
ヘルパー メソッドを通じて実行することもできます。ヘルパー メソッドは
mongosh
ユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。
データベースではmongos
addShardToZone
インスタンスからのみadmin
を実行できます。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドはサーバーレスインスタンスではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.adminCommand( { addShardToZone: <string>, zone: <string> } )
コマンドフィールド
このコマンドは、次のフィールドを使用します。
フィールド | タイプ | 説明 |
---|---|---|
string | ||
string |
mongosh
はヘルパー メソッドsh.addShardToZone()
を提供します。
動作
ゾーンを複数のシャードに関連付けることができ、シャードは複数のゾーンに関連付けらることができます。
シャーディングされたクラスター内のゾーンの詳細については、ゾーンのマニュアル ページを参照してください。
Ranges
MongoDB は、関連付けられているシャードキー値が少なくとも 1 つの範囲ではないゾーンを実質的に無視します。
シャードキー値の範囲をゾーンに関連付けるには、 updateZoneKeyRange
データベースコマンドまたはsh.updateZoneKeyRange()
shellヘルパーを使用します。
updateZoneKeyRange
データベースコマンドとそのヘルパーsh.updateZoneKeyRange()
およびsh.addTagRange()
は、シャーディングされていないコレクションまたは存在しないコレクションで実行できます。
Tip
空のコレクションまたは存在しないコレクションをシャーディングする前にゾーンとゾーン範囲を定義することで、シャード コレクション操作は定義されたゾーン範囲のチャンクと、シャードキー値の全範囲をカバーする追加のチャンクを作成し、初期化を実行しますゾーン範囲に基づく チャンク分散 。 このように初期チャンクを作成して分散することで、ゾーン シャーディングの設定を迅速に行うことができます。 初期分散後、バランサーは今後のチャンク分散を管理します。
例については、「 空または存在しないコレクションのゾーンとゾーン範囲の事前定義」を参照してください。
セキュリティ
アクセス制御を強制するシャーディングされたクラスターの場合は、次のいずれかの特権を持つユーザーとして認証する必要があります。
データベース内の
update
shards
コレクションにある { または、あるいは、config
enableSharding
クラスター リソースの
clusterAdmin
またはclusterManager
の組み込みロールには、 addShardToZone
を発行するための適切な権限があります。 詳細については、ロールベースのアクセス制御に関するドキュメントページを参照してください。
例
次の例えでは、 shard0000
とゾーンJFK
を関連付けます。
db.adminCommand( { addShardToZone : "shard0000" , zone : "JFK" } )
シャードは複数のゾーンに関連付けることができます。 次の例えでは、 LGA
をshard0000
に関連付けます。
db.adminCommand( { addShardToZone : "shard0000" , zone : "LGA" } )
shard0000
は、 LGA
ゾーンとJFK
ゾーンの両方に関連付けられています。 MongoDB はバランスの取れたクラスター内で、いずれのゾーンでカバーされる読み取りと書込みをshard0000
にルーティングします。