MongoDB 8.0以降では、通常の シャーディングされたシャーディングされたクラスターのメタデータデータ に加えて、アプリケーションデータを保存するようにコンフィギュレーションコンフィギュレーションサーバーを構成できます。 コンフィギュレーションコンフィギュレーションサーバーとシャードサーバーの両方の機能を提供するmongodノードは、コンフィギュレーションシャードと呼ばれます。 シャードサーバー機能を持たないスタンドアロン--configsvrとして実行されるmongodノードは専用コンフィギュレーションサーバーと呼ばれコンフィギュレーションサーバー。
シャーディングされたクラスターには コンフィギュレーションサーバー が必要ですが、 コンフィギュレーションシャード (埋め込みコンフィギュレーションコンフィギュレーションサーバー)または専用のコンフィギュレーコンフィギュレーションサーバーコンフィギュレーションサーバーのいずれでもかまいません。 コンフィギュレーションシャードを使用すると、必要なノードの数が減り、配置が簡素化されます。 コンフィギュレーションシャード クラスターは、埋め込みコンフィギュレーションサーバークラスターとも呼ばれます。 複数のシャーディングされたクラスターで同じコンフィギュレーションコンフィギュレーションサーバーを使用することはできません。
ユースケース
専用のコンフィギュレーションサーバーはそれ自身のレプリカセットとして実行されるため、コンフィギュレーションシャードのコストは専用のコンフィギュレーションサーバーよりも安くなります。コンフィギュレーションシャードは、コンフィギュレーションサーバーのロールを既存のシャードのレプリカセットに統合するため、クラスターには2つではなく1つのレプリカセットが必要になります。コンフィギュレーションシャードを使用しても、シャード数が少ない場合は性能に影響はありません。専用のコンフィギュレーションサーバーは、クラスターのメタデータをアプリケーションデータから分離します。これは、特定の機能に必要です。
次の機能の 1 つ以上を使用する場合は、専用のコンフィギュレーションサーバーを使用します。
Queryable Encryption collections
MongoDB Atlas では、クラスターのシャードが 5 つを超えると、クラスターは自動的にコンフィグシャードから専用のコンフィギュレーションサーバーに移行します。
動作
埋め込みコンフィギュレーションサーバークラスターでは、クラスターメタデータとユーザー データを保存するためにコンフィギュレーションシャードが使用されます。 シャーディングされたシャーディングされたクラスター配置の複雑さを軽減するのに役立ちます。
シャーディングされたコレクション データとシャーディングされていないコレクションデータを コンフィギュレーションシャード に保存できます。 シャードのすべてのプロパティと、 コンフィギュレーションコンフィギュレーションサーバーとして機能します。
コンフィギュレーションシャードの使用を確認する
シャーディングされたクラスターがコンフィギュレーションシャードを使用していることを確認するには、次のいずれかの方法を使用します。
mongoshでsh.isConfigShardEnabled()メソッドを実行します。sh.isConfigShardEnabled()の出力にenabled: trueが含まれている場合、クラスターはコンフィギュレーションシャードを使用します。出力にenabled: falseが含まれている場合、クラスターはコンフィギュレーションシャードを使用しません。listShardsadminに接続している間に データベースに対して コマンドを実行し、mongosが_id"config"に設定されているドキュメントの出力を調べます。listShardsの出力に、_idが"config"に設定されているドキュメントが含まれていない場合、クラスターはコンフィギュレーションシャードを使用しません。
次の例では、 listShards コマンドを実行し、_id が "config" に設定されているドキュメントを検索しようとします。
db.adminCommand({ listShards: 1 })["shards"].find(element => element._id === "config")
この例では 、返されたドキュメントには、_id が "config" に設定されており、これはこのクラスターが コンフィギュレーションシャード を使用していることを確認しています。
{ _id: "config", host: "configRepl/localhost:27018", state: 1, topologyTime: Timestamp({ t: 1732218671, i: 13 }), replSetConfigVersion: Long('-1') }
コマンド
専用のコンフィギュレーションコンフィギュレーションサーバーをコンフィギュレーションシャードとして実行するように構成するには、 transitionFromDedicatedConfigServerコマンドを実行します。
コンフィギュレーションシャードを専用のコンフィギュレーションコンフィギュレーションサーバーとして実行するように構成するには、 transitionToDedicatedConfigServerコマンドを実行します。