O MongoDB Vector Search permite funcionalidades de pesquisa semântica com IA em seu ambiente Kubernetes implantando o processo mongot junto com a implantação do banco de dados MongoDB (mongod). O processo mongot gerencia índices vetoriais, obtém dados do banco de dados e processa querys $vectorSearch. Isso elimina a necessidade de manter sistemas separados em sincronização, ao mesmo tempo em que oferece recursos de pesquisa avançados.
Para implantar a pesquisa vetorial, você aplica o recurso personalizado (CR) do MongoDBSearch, que o operador do Kubernetes coleta e usa para implantar pods mongot e solicitar armazenamento persistente especificado no spec.
Para procedimentos de implantação, consulte Implantar MongoDB Search e pesquisa vetorial.
O processo mongot
Cada processo mongot tem seu próprio volume persistente que não é compartilhado com o banco de dados ou outros nós de pesquisa. O armazenamento é usado para manter índices vetoriais que são criados a partir dos dados continuamente obtidos do banco de dados. As definições de índice (metadados) são armazenadas no próprio banco de dados.
O mongot executa as seguintes ações:
Gerencia o índice vetorial.
O
mongoté responsável por atualizar as definições de índice no banco de dados.Obtém os dados do banco de dados.
Os nós do
mongotestabelecem conexões permanentes com o banco de dados para atualizar índices do banco de dados em tempo real.Processa query de pesquisa vetorial.
Quando
mongodrecebe uma query$vectorSearch, ele direciona a query para um dosmongotnós. Omongotque recebe a query processa a query, agrega os dados e retorna os resultados paramongod, que encaminha os resultados para o usuário.
Os componentes do mongot são fortemente associados a um único conjunto de réplicas MongoDB e não podem ser compartilhados entre vários bancos de dados ou conjuntos de réplicas. Cada implantação de conjunto de réplicas tem seus próprios nós de pesquisa dedicados.
Networking
A conectividade de rede entre mongot e mongod vai em ambas as direções:
mongotestabelece conexões com o conjunto de réplicas para obter os dados usados para construir índices e executar query.mongodconecta-se aomongotpara encaminhar operações relacionadas à pesquisa, como gerenciamento de índice e consulta de dados.
O mongod atua como proxy para todas as query de pesquisa. Você nunca interage diretamente com o mongot.
Implantação gerenciada pelo operador
Quando os processos mongot e mongod são implantados dentro do cluster Kubernetes, o Operador Kubernetes executa a configuração para ambos os processos automaticamente. Especificamente, o operador Kubernetes:
Localiza o MongoDB CR referenciado pelo MongoDBSearch usando
spec.source.mongodbResourceRef, ou por uma convenção de nomenclatura procurando o MongoDB CR com o mesmo nome que MongoDBSearch.Gera configuração do
mongotem um arquivo YAML e salva em um mapa de configuração denominado<MongoDBSearch.metadata.name>-search-config.Implanta o conjunto stateful de pesquisa vetorial denominado
<MongoDBSearch.metadata.name>-searchcom requisitos de armazenamento e recursos configurados de acordo comspec.persistenceespec.resourceRequirementsna CR.Atualiza a configuração de cada processo
mongodadicionando as opçõessetParameternecessárias, incluindo os nomes de host e números de porta dos hostsmongot.
Implantação externa do MongoDB
Quando o conjunto de réplicas do MongoDB está fora do Kubernetes, você implanta mongot usando o operador Kubernetes e executa algumas etapas manualmente. O operador Kubernetes lida com a configuração dos pods de pesquisa, mas você deve reconfigurar seus nós do MongoDB e a rede.
Segurança
Se o servidor MongoDB estiver dentro do cluster Kubernetes, o operador do Kubernetes configurará automaticamente a autenticação de arquivo de chave para a pesquisa vetorial. Se o servidor MongoDB for externo, você deverá criar um secret do Kubernetes contendo as credenciais do arquivo de chave do conjunto de réplicas e referenciá-lo no MongoDBSearch CR.
Limitações
Você não pode implantar a pesquisa vetorial nas seguintes arquiteturas:
IBM Power (ppc64le)
IBM Z (s390x)
Dica
Implantar MongoDB Search e pesquisa vetorial — Implantar MongoDB Search e pesquisa vetorial
Configurações do MongoDB Search e da pesquisa vetorial — configurações do CR do MongoDBSearch