Docs Menu
Docs Home
/
データベース マニュアル
/

mongo 配置アーキテクチャパターン

MongoDB Search とMongoDB ベクトル検索を使用するMongoDBシステムを設計する場合、次の 2 つの一般的な配置タイプがあります。

  • mongodmongot プロセスが同じホストを共有するコロケーション アーキテクチャ。このアーキテクチャは、開発および小規模な検索またはベクトル検索のワークロードに適しています。

  • mongod プロセスと mongot プロセスが各ワークロードのニーズに応じてサイズ設定された個別のマシンで実行される専用のインフラストラクチャモデル。このインフラストラクチャは、高可用性、シャーディング、または重い検索クエリとインデックスを伴う大規模な検索またはベクトルワークロードを要求するアプリケーションに推奨されます。

このセクションでは、両方の配置タイプについて説明します。また、シャーディングされたMongoDBクラスターに mongot を配置することの影響についても説明します。

これは、開発環境や高速な反復処理が必要な状況に推奨される、最もシンプルなアーキテクチャです。高速プロトタイプに優れ、必要な構成量は最小限に抑えられます。

配置は、mongod プロセスと mongot プロセスの両方を実行中1 台のマシンで構成されています。すべての通信は localhost アドレスを介して実行され、すべての認証とセキュリティ機能を無効にするか、または権限を付与できます。

ほとんどの小規模な検索ワークロードでは、このアーキテクチャを マルチノードのレプリカセットに拡張できます。コロケーション アーキテクチャを実装するときは注意し、リソース競合のサインをモニターしてください。

mongot の同時ロケーション配置を示す図
クリックして拡大します

これは、本番環境に推奨される汎用のアーキテクチャです。専用インフラストラクチャは、データベースノードと検索ノードの両方の水平スケーラビリティと垂直スケーラビリティの両方に対応します。

配置は、レプリカセット構成で mongod を実行中マシン少なくとも 3 台と、mongotを実行中マシンを少なくとも 2 台で構成されています。検索クエリで高可用性を実現するには、mongod ノードにアプリケーションレベルのロードバランサーが必要です。Envy のようなロードバランサーの使用を検討し、リクエストごとのラウンドロギングなどのロード バランシング戦略を使用します。

逆の方向では、負荷分散は必要ありません。mongot は、 構成 に基づいて、データレプリケーションとインデックスカタログ データ用に通信するための mongodノードを自動的に選択します。

専用インフラストラクチャの mongo 配置を示す図
クリックして拡大します

このアーキテクチャは専用インフラストラクチャ アーキテクチャと似ていますが、レプリカセットの構成は個々のシャードに複製されます。

注意

1 つのシャードから複製するには、mongot のみを構成する必要がありますが、インデックスカタログにアクセスするには、mongot にルーター アドレスを構成する必要があります。

シャーディングされたトポロジーアーキテクチャでは、mongot は一度に 1 つのシャードにのみ属します。その結果、各シャード内のロード バランサーは、その個々のシャードにトラフィックを転送するようにのみ設定する必要があります。

既存のMongoDB Searchインデックスを持つコレクションにシャードを追加すると、そのMongoDB Searchインデックスの新しく追加されたシャードで最初の同期が行われます。各シャードのMongoDB Searchインデックスには、そのシャードに存在するコレクションのドキュメントのみが含まれます。詳細については、グローバル コレクションのシャーディング を参照してください。

警告

MongoDB Searchインデックスがすでに存在するコレクションをシャード化する場合、インデックスが新しいシャードで構築されているときに検索クエリーのダウンタイムが一定期間発生する可能性があります。

また、 MongoDB Searchインデックスを含むすでにシャーディングされたコレクションにシャードを追加する場合、追加されたシャードで最初の同期プロセスが完了するまで、そのコレクションに対する検索クエリは失敗します。詳しくは、「 最初の同期のトラブルシューティング 」を参照してください。

シャーディングされた mongod の配置を示す図
クリックして拡大します

戻る

クイックスタート

項目一覧