enableSharding
定義
enableSharding
enableSharding
コマンドは、指定されたデータベースで シャーディングを有効にします。データベースのシャーディングを有効にした 後、shardCollection
コマンドを使用して、そのデータベースのコレクションをシャーディングできます。Tip
mongosh
では、このコマンドはsh.enableSharding()
ヘルパー メソッドを通じて実行することもできます。ヘルパー メソッドは
mongosh
ユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドはサーバーレスインスタンスではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
enableSharding
コマンドの構文は次のとおりです。
推奨。 シャーディングを有効にするデータベースのみを指定します。
db.adminCommand( { enableSharding: "<database name>" } ) オプションで、 コマンドにプライマリシャード仕様を含めることができますが、これは推奨されません。
db.adminCommand( { enableSharding: "<database name>", primaryShard: "<shard name>" } )
enableSharding
admin
データベースでは インスタンスからのみmongos
を実行できます。
フィールド
このコマンドは、次のフィールドを使用します。
フィールド | タイプ | 説明 |
---|---|---|
文字列 | シャーディングを有効にするデータベース。 | |
文字列 | 任意。 データベースのプライマリシャード。プライマリシャードには、このデータベースのシャーディングされていないコレクションが含まれています。 一般に、プライマリ シャードを明示的に指定するのではなく、バランサーによってプライマリ シャードが選択されるようにすることをお勧めします。 警告Tip一般に、プライマリシャードを指定する必要はありません。 バランサーが代わりにプライマリ シャードを選択できるようにします。 |
戻り値
このコマンドは、操作のステータスを含むドキュメントを返します。
動作
書込み保証 (write concern)
mongos
"majority"
enableSharding
sh.enableSharding()
は、 コマンドとそのヘルパー に使用します。
プライマリシャード
一般に、コマンドでプライマリシャードを指定する必要はありません。 代わりに、バランサーでプライマリシャードを選択できるようにします。
ただし、 データベース の コマンドでプライマリ シャード を指定し、かつデータベースが別のプライマリ シャードでシャーディングがすでに有効になっている場合、操作はエラーを返し、データベースのプライマリ シャードは以前のままになります。データベースのプライマリシャードを変更するには、代わりにmovePrimary
を使用します。
例
mongos
から次のコマンドを実行すると、 test
データベースのシャーディングが有効になります。
db.adminCommand( { enableSharding: "test" } )
確認するには、 sh.status()
を実行します。