MongoDB 벡터 검색은 MongoDB 데이터베이스 배포(mongod)와 함께 mongot 프로세스를 배포하여 Kubernetes 환경에서 AI 기반 시맨틱 검색 역량을 제공합니다. mongot 프로세스는 벡터 인덱스를 managed하고 데이터베이스에서 데이터를 가져와 $vectorSearch 쿼리를 처리합니다. 이로써 별도 시스템을 동기화할 필요가 없어지면서 고급 검색 기능을 제공합니다.
벡터 검색을 배포하려면 Kubernetes 연산자가 인식하고 사용하여 mongot 팝을 배포하고 spec에 지정된 영구 저장을 요청하는 MongoDBSearch 사용자 지정 리소스(CR)를 적용합니다.
배포 절차에 대한 자세한 내용은 MongoDB Search 및 벡터 검색 배포를 참조하세요.
mongot 프로세스
각 mongot 프로세스에는 데이터베이스 또는 다른 검색 노드와 공유되지 않는 고유의 영구 볼륨이 있습니다. 저장은 데이터베이스에서 계속적으로 제공되는 데이터를 기반으로 빌드된 벡터 인덱스를 유지하는 데 사용됩니다. 인덱스 정의(메타데이터)는 데이터베이스 자체에 저장됩니다.
mongot 는 다음 조치를 수행합니다.
벡터 인덱스를 managed합니다.
mongot는 데이터베이스 의 인덱스 정의를 업데이트하는 역할을 합니다.데이터베이스 에서 데이터를 가져옵니다.
mongot노드는 데이터베이스 에서 실시간 인덱스를 업데이트 위해 데이터베이스 에 대한 영구 연결을 설정합니다.벡터 검색 쿼리를 처리합니다.
mongod가$vectorSearch쿼리를 수신하면 쿼리를mongot노드 중 하나로 전달합니다. 쿼리를 수신한mongot는 쿼리를 처리하고 데이터를 집계한 다음 결과를mongod에 반환하고, 는 결과를 사용자에게 전달합니다.
mongot 구성 요소는 단일 MongoDB 복제본 세트와 긴밀하게 결합되어 있으며 여러 데이터베이스 또는 복제본 세트에서 공유할 수 없습니다. 각 복제본 세트 배포서버에는 전용 검색 노드가 있습니다.
Networking
mongot 와 mongod 간의 네트워크 연결은 양방향으로 진행됩니다.
mongot인덱스를 빌드하고 쿼리를 실행하는 데 사용되는 데이터를 소싱하기 위해 복제본 세트에 대한 연결을 설정합니다.mongodmongot에 연결하여 인덱스 관리 및 데이터 쿼리와 같은 검색 관련 작업을 전달합니다.
mongod 은 모든 검색 쿼리의 프록시 역할을 합니다. mongot과 직접 상호 작용하지 않습니다.
연산자 managed 배포서버
mongot 및 mongod 프로세스가 모두 Kubernetes 클러스터 내에 배포되면 Kubernetes 연산자는 두 프로세스에 대한 구성을 자동으로 수행합니다. 구체적으로 Kubernetes 연산자는 다음을 수행합니다.
spec.source.mongodbResourceRef를 사용하여 MongoDBSearch에서 참조하는 MongoDB CR을 찾거나 MongoDBSearch와 이름이 같은 MongoDB CR을 찾아 명명 규칙에 따라 찾습니다.YAML 파일 에
mongot구성을 생성하고<MongoDBSearch.metadata.name>-search-config이라는 구성 맵에 저장합니다.CR의
spec.persistence및spec.resourceRequirements에 따라 구성된 저장 및 리소스 요구 사항을 사용하여 이름이<MongoDBSearch.metadata.name>-search인 벡터 검색 스테이트풀(Stateful) 설정을 배포합니다.mongot호스트의 호스트 이름 및 포트 번호를 포함하여 필요한setParameter옵션을 추가하여 모든mongod프로세스의 구성을 업데이트합니다.
외부 MongoDB 배포서버
MongoDB 복제본 세트가 Kubernetes 외부에 있는 경우 Kubernetes Operator를 사용하여 mongot 를 배포하고 일부 단계를 수동으로 수행합니다. Kubernetes Operator는 검색 팝의 구성을 처리하지만 MongoDB 노드와 네트워킹은 다시 구성해야 합니다.
보안
MongoDB 서버가 Kubernetes 클러스터 내부에 있는 경우 Kubernetes 연산자가 벡터 검색을 위한 키 파일 인증을 자동으로 설정합니다. MongoDB 서버가 외부에 있는 경우 복제본 세트의 키 파일 자격 증명이 포함된 Kubernetes 시크릿을 만들고 MongoDBSearch CR에서 참조해야 합니다.
제한 사항
다음 아키텍처에서는 벡터 검색을 배포할 수 없습니다.
IBM Power (ppc64le)
IBM Z (s390x)
팁
MongoDB Search 및 벡터 검색 배포 — MongoDB Search 및 벡터 검색 배포
MongoDB Search 및 벡터 검색 설정 — MongoDBSearch CR 설정