AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

MongoDB 벡터 검색 아키텍처

MongoDB Vector Search enables AI-powered semantic search capabilities in your Kubernetes environment by deploying the mongot process alongside your MongoDB database deployment (mongod). The mongot process manages vector indexes, sources data from the database, and processes $vectorSearch queries. This eliminates the need to maintain separate systems in sync while providing advanced search features.

벡터 검색을 배포하려면 Kubernetes 연산자가 인식하고 사용하여 mongot 팝을 배포하고 spec에 지정된 영구 저장을 요청하는 MongoDBSearch 사용자 지정 리소스(CR)를 적용합니다.

배포 절차에 대한 자세한 내용은 MongoDB Search 및 벡터 검색 배포를 참조하세요.

mongot 프로세스에는 데이터베이스 또는 다른 검색 노드와 공유되지 않는 고유의 영구 볼륨이 있습니다. 저장은 데이터베이스에서 계속적으로 제공되는 데이터를 기반으로 빌드된 벡터 인덱스를 유지하는 데 사용됩니다. 인덱스 정의(메타데이터)는 데이터베이스 자체에 저장됩니다.

mongot 는 다음 조치를 수행합니다.

  • 벡터 인덱스를 managed합니다.

    mongot 는 데이터베이스 의 인덱스 정의를 업데이트하는 역할을 합니다.

  • 데이터베이스 에서 데이터를 가져옵니다.

    mongot 노드는 데이터베이스 에서 실시간 인덱스를 업데이트 위해 데이터베이스 에 대한 영구 연결을 설정합니다.

  • 벡터 검색 쿼리를 처리합니다.

    When mongod receives a $vectorSearch query, it directs the query to one of the mongot nodes. The mongot that receives the query processes the query, aggregates the data, and returns the results to mongod, which forwards the results to the user.

mongot 구성 요소는 단일 MongoDB 복제본 세트와 긴밀하게 결합되어 있으며 여러 데이터베이스 또는 복제본 세트에서 공유할 수 없습니다. 각 복제본 세트 배포서버에는 전용 검색 노드가 있습니다.

mongotmongod 간의 네트워크 연결은 양방향으로 진행됩니다.

  • mongot 인덱스를 빌드하고 쿼리를 실행하는 데 사용되는 데이터를 소싱하기 위해 복제본 세트에 대한 연결을 설정합니다.

  • mongod mongot 에 연결하여 인덱스 관리 및 데이터 쿼리와 같은 검색 관련 작업을 전달합니다.

mongod 은 모든 검색 쿼리의 프록시 역할을 합니다. mongot과 직접 상호 작용하지 않습니다.

mongotmongod 프로세스가 모두 Kubernetes 클러스터 내에 배포되면 Kubernetes 연산자는 두 프로세스에 대한 구성을 자동으로 수행합니다. 구체적으로 Kubernetes 연산자는 다음을 수행합니다.

  1. Finds the MongoDB CR referenced by MongoDBSearch using spec.source.mongodbResourceRef, or by a naming convention by looking for the MongoDB CR with the same name as MongoDBSearch.

  2. Generates mongot configuration in a YAML file and saves it to a config map named <MongoDBSearch.metadata.name>-search-config.

  3. Deploys the Vector Search stateful set named <MongoDBSearch.metadata.name>-search with storage and resource requirements configured according to spec.persistence and spec.resourceRequirements in the CR.

  4. mongot 호스트의 호스트 이름 및 포트 번호를 포함하여 필요한 setParameter 옵션을 추가하여 모든 mongod 프로세스의 구성을 업데이트합니다.

MongoDB 복제본 세트가 Kubernetes 외부에 있는 경우 Kubernetes Operator를 사용하여 mongot 를 배포하고 일부 단계를 수동으로 수행합니다. Kubernetes Operator는 검색 팝의 구성을 처리하지만 MongoDB 노드와 네트워킹은 다시 구성해야 합니다.

If the MongoDB server is inside the Kubernetes cluster, the Kubernetes Operator automatically sets up keyfile authentication for Vector Search. If the MongoDB server is external, you must create a Kubernetes Secret containing the replica set's keyfile credential and reference it in the MongoDBSearch CR.

다음 아키텍처에서는 벡터 검색을 배포할 수 없습니다.

  • IBM Power (ppc64le)

  • IBM Z (s390x)