MongoDB Vector Search は、MongoDB データベース配置(mongod)と一緒に mongot プロセスを配置することで、Kubernetes 環境で AI を活用したセマンティック検索機能を有効にします。mongot プロセスは、ベクトル インデックスをマネージし、データベースからデータを取得し、$vectorSearch クエリを処理します。これにより、高度な検索機能を提供しながら、別々のシステムを同期させる必要がなくなります。
ベクトル検索を配置するには、Kubernetes 演算子が検出して mongot ポッドを配置し、spec で指定された永続ストレージをリクエストする MongoDBSearch カスタム リソース (CR)を適用します。
配置手順については、MongoDB Search とベクトル検索を配置する。を参照してください。
mongotプロセス
各 mongot プロセスには、データベースや他の検索ノードと共有されない固持ボリュームがあります。ストレージは、データベースから継続的に取得されるデータから構築されるベクトル インデックスを維持するために使用されます。インデックス定義 (メタデータ) はデータベース自体に保存されます。
mongot は、次のアクションを実行します。
ベクトル インデックスを管理します。
mongotは、データベース内のインデックス定義を更新します。データベースからデータを取得します。
mongotノードは、データベースへの永続的な接続を確立し、データベースからインデックスをリアルタイムで更新します。ベクトル検索クエリを処理します。
mongodが$vectorSearchクエリを受信すると、クエリはmongotノードのいずれかに送信されます。クエリを受信したmongotは、クエリを処理し、データを集計し、その結果をmongodに返します。 はその結果をユーザーに転送します。
mongot コンポーネントは 1 つのMongoDBレプリカセットと厳密に結合されているため、複数のデータベースやレプリカセットで共有することはできません。各レプリカセット配置には、専用の検索ノードがあります。
ネットワーキング
mongot と mongod の間のネットワーク接続は両方向で行われます。
mongotは、インデックスの構築とクエリの実行に使用されるデータを取得するためにレプリカセットへの接続を確立します。mongodはmongotに接続して、インデックス マネジメントやデータのクエリなどの検索関連の操作を転送します。
mongod は、すべての検索クエリのプロキシとして機能します。mongot と直接交流することはありません。
演算子マネージド配置
mongot プロセスと mongod プロセスの両方がKubernetesクラスター内に配置されている場合、Kubernetes Operator は両方のプロセスの構成を自動的に実行します。具体的には、Kubernetes Operator は次のことを行います。
MongoDBSearch が参照する MongoDB CR を
spec.source.mongodbResourceRefを使用して検索するか、命名規則により MongoDBSearch と同じ名前の MongoDB CR を検索します。YAMLファイルに
mongot構成を生成し、それを<MongoDBSearch.metadata.name>-search-configという名前の構成マップに保存します。CR の
spec.persistenceとspec.resourceRequirementsの設定に従って構成されたストレージとリソース要件を持つ<MongoDBSearch.metadata.name>-searchという名前のベクトル検索ステートフルセットを配置します。mongotホストのホスト名とポート番号を含む必要なsetParameterオプションを追加して、すべてのmongodプロセスの構成を更新します。
外部 MongoDB 配置
MongoDB レプリカセットが Kubernetes の外にある場合は、Kubernetes 演算子を使用して mongot を配置し、手動でいくつかの手順を実行します。Kubernetes 演算子は検索ポッドの構成を取り扱いますが、MongoDB ノードとネットワークを再構成する必要があります。
セキュリティ
MongoDB サーバーが Kubernetes クラスター内にある場合、Kubernetes 演算子はベクトル検索のキーファイル認証を自動的に設定します。MongoDB サーバーが外部にある場合は、レプリカセットのキーファイル認証情報を含む Kubernetes Secret を作成し、MongoDBSearch CR で参照する必要があります。
制限
次のアーキテクチャにはベクトル検索を配置できません。
IBM Power (ppc64le)
IBM Z (s390x)
Tip
MongoDB Search とベクトル検索を配置する — MongoDB Search とベクトル検索を配置する
MongoDB Search およびベクトル検索設定 — MongoDB Search CR 設定