Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Arquitetura de pesquisa vetorial do MongoDB

O MongoDB Vector Search habilita recursos de pesquisa semântica com capacidade de IA em seu ambiente Kubernetes, implementando o mongot processo junto com o implantação de banco de dados MongoDBmongod (). O mongot processo gerencia índices vetoriais, obtém dados do banco de dados e processa $vectorSearch queries. Isso elimina a necessidade de manter sistemas separados sincronizados e, ao mesmo tempo, fornecer recursos avançados de pesquisa.

Para implantar o Vector Search, você aplica o MongoDBSearch Custom Resource (CR), que o Operador do Kubernetes pega e usa para implantar mongot pods e solicitar armazenamento persistente especificado no spec.

Para obter os procedimentos de implantação, consulte Implantar o MongoDB Search e o Vector Search.

Cada processo do 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 criados a partir dos dados obtidos continuamente do banco de dados. As definições do í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 mongot estabelecem conexões permanentes com o banco de dados para atualizar índices do banco de dados em tempo real.

  • Processa queries de pesquisa vetorial.

    Quando mongod recebe uma query, ele direciona a query para um $vectorSearch dos mongot nós . O mongot que recebe a query processa a query, agrega os dados e retorna os resultados mongod para, 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 sistema de conjunto de réplicas tem seus próprios nós de pesquisa dedicados.

A conectividade de rede entre mongot e mongod vai em ambas as direções:

  • mongot estabelece conexões com o conjunto de réplicas para obter os dados usados para criar índices e executar queries.

  • mongod conecta-se ao mongot para encaminhar operações relacionadas à pesquisa, como gerenciamento de índice e consulta de dados.

O mongod atua como proxy para todas as queries de pesquisa. Você nunca interage diretamente com o mongot.

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:

  1. Localiza o CR MongoDB referenciado pelo MongoDBSearch spec.source.mongodbResourceRef usando, ou por uma convenção de nomenclatura procurando o CR do MongoDB com o mesmo nome que MongoDBSearch.

  2. Gera configuração do mongot em um arquivo YAML e salva em um mapa de configuração denominado <MongoDBSearch.metadata.name>-search-config.

  3. Implementa o conjunto stateful do Vector Search denominado <MongoDBSearch.metadata.name>-search com os requisitos de armazenamento e recursos configurados de acordo com spec.persistence e spec.resourceRequirements no CR.

  4. Atualiza a configuração de cada processo mongod adicionando as opções setParameter necessárias, incluindo os nomes de host e números de porta dos hosts mongot.

Quando o conjunto de réplicas MongoDB está fora do Kubernetes, você implementa o mongot utilizando 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.

Se o servidor MongoDB estiver dentro do cluster do Kubernetes, o operador Kubernetes configurará automaticamente a autenticação do arquivo de chave para o Vector Search . Se o servidor MongoDB for externo, você deverá criar um Kubernetes Secret contendo a credencial de arquivo de chave do conjunto de réplica e referenciá-lo no MongoDBSearch CR.

Você não pode implantar o Vector Search nas seguintes arquiteturas:

  • IBM Power (ppc64le)

  • IBM Z (s390x)

Dica