Todos os produtos
Search
Central de documentação

Vector Retrieval Service for Milvus:Estimativa de recursos e recomendações de configuração do Milvus

Última atualização: Jun 29, 2026

Antes de usar o Vector Retrieval Service for Milvus (Milvus), estime suas necessidades de recursos computacionais para garantir a estabilidade do sistema e controlar custos. O Milvus oferece uma calculadora de recursos para auxiliar na estimativa com base em dados experimentais, como quantidade de vetores, dimensão dos vetores e tipo de índice. No entanto, ajuste a configuração da implantação real conforme os resultados dos seus testes.

Calculadora de recursos

Nota

O Milvus mantém uma proporção de CPU para memória de 1:4. Para assegurar a estabilidade da instância, o serviço provisiona mais memória do que o estritamente necessário.

Use a calculadora de recursos para estimar os recursos necessários da instância. Insira a quantidade e a dimensão dos vetores, selecione um tipo de índice e o sistema recomendará uma configuração adequada. Por exemplo, para um conjunto de dados com 8 milhões de vetores de 768 dimensões cada, usando o tipo de índice HNSW com o parâmetro M definido como 4, a calculadora exibe uma recomendação em tempo real. Use essas sugestões como ponto de partida para selecionar a instância e realizar testes de desempenho. A calculadora aceita os seguintes parâmetros de entrada: seletor High Availability, Vector Count (Millions), Vector Dimension, Index Type (como HNSW), Index Parameter M (número de vizinhos por nó, variando de 4 a 64) e seletor Scalar Field. Como ilustração, para 8 milhões de vetores de 768 dimensões com índice HNSW (M=4), a ferramenta estima 31,2 GB de memória necessária e 22,9 GB para dados brutos, sugerindo um cluster com 40 núcleos de CPU e 160 GB de memória. A configuração recomendada para cada componente do Milvus é: serviço de metadados (1 instância de 4 núcleos, 16 GB), Proxy (1 instância de 2 núcleos, 8 GB), Query Node (2 instâncias de 4 núcleos, 16 GB), Index Node (1 instância de 4 núcleos, 16 GB) e Data Node (1 instância de 2 núcleos, 8 GB). Essas estimativas derivam de dados experimentais. Recomendamos ajustar a configuração com base nos seus testes antes da implantação em produção.

Parâmetros de recursos

Configuração de alta disponibilidade

A configuração de alta disponibilidade estabiliza o cluster online por meio de um mecanismo de réplica de nó duplo. Ela também carrega duas réplicas dos dados por padrão, o que melhora significativamente a tolerância a falhas e a confiabilidade do sistema. Observe que ativar a alta disponibilidade dobra os requisitos de recursos em comparação a uma configuração sem HA. Antes de ativar esse recurso, avalie e planeje cuidadosamente as necessidades de recursos do cluster de produção.

Escala de recursos de entrada

Parâmetro

Descrição

Vector Count (Millions)

A quantidade de vetores determina diretamente o tamanho do índice e o volume de dados a serem varridos durante as consultas. Um número maior exige mais armazenamento, aumenta a complexidade computacional na criação do índice e nas buscas, resultando em tempos de processamento mais longos e maior demanda de hardware.

Vector Dimension

A dimensão do vetor influencia a complexidade e a precisão do índice. Vetores com mais dimensões elevam a complexidade e o custo computacional das buscas por similaridade. Isso impacta tanto os custos de armazenamento quanto a velocidade da consulta, especialmente sem estratégias eficazes de redução de dimensionalidade ou quantização.

Tipo de índice

O tipo de índice é um fator determinante para os requisitos de recursos e o desempenho das consultas. Algoritmos diferentes apresentam demandas distintas de memória, CPU e tempo de resposta. Os tipos suportados estão descritos abaixo.

Parâmetro

Descrição

HNSW

O HNSW (Hierarchical Navigable Small World) é um índice baseado em grafos que oferece alta eficiência de consulta, especialmente em espaços de dados de alta dimensão. Contudo, exige mais recursos computacionais e memória. Indicado para cenários que demandam máxima velocidade de busca, possuem recursos abundantes e envolvem processamento de dados multidimensionais.

IVF_FLAT

Oferece equilíbrio entre precisão e velocidade, sendo adequado para a maioria dos casos. Reduz a complexidade computacional via clustering, proporcionando ganho significativo de desempenho sobre o índice FLAT com consumo moderado de recursos. Ideal para grandes conjuntos de dados onde se busca balancear desempenho e custos.

DISKANN

Técnica de busca aproximada de vizinhos mais próximos (ANN) baseada em disco, projetada para recuperação rápida e eficiente em larga escala. Utiliza o algoritmo de grafo Vamana para indexar e recuperar vetores mesmo com memória limitada, sendo apropriado para dados massivos de alta dimensão.

SCANN

Estrutura de índice eficiente para busca aproximada de vizinhos mais próximos (ANN), voltada para grandes volumes de dados que priorizam velocidade em detrimento de precisão absoluta. Equilibra rapidez e consumo de recursos por meio de poda do espaço de busca e quantização, com foco em busca de produto interno máximo (MIPS).

FLAT

Garante a maior precisão possível ao realizar correspondência exata, mas compromete a velocidade. O desempenho pode ser insatisfatório em grandes bases de dados. Recomendado para volumes menores (ex.: dezenas de milhões) com exigências rigorosas de precisão e tolerância a buscas mais lentas.

IVF_SQ8

Acelera a recuperação por meio de quantização, adequando-se a cenários com recursos limitados que necessitam de alto recall. Porém, a precisão pode ser inferior à do HNSW. Excelente opção para aplicações em larga escala com restrições de infraestrutura e necessidade de alta taxa de recall.

AUTOINDEX

Tipo exclusivo do kernel comercial Zilliz que aprimora substancialmente o desempenho de busca. Em comparação aos índices do Milvus open source, o AUTOINDEX apresenta vantagem clara. Testes de benchmark demonstram que, em certos conjuntos de dados, ele atinge 3x mais QPS que outros tipos.

Parâmetros de índice

  • HNSW: Defina o valor M, que estabelece o número de vizinhos para cada nó. Valores maiores aumentam o recall e a precisão, mas também elevam o tempo de construção do índice e o uso de memória. Valores menores aceleram a criação e economizam memória, podendo sacrificar parte da precisão. Um valor inicial sugerido para M é lg(N), onde N representa o total de vetores. Ajuste esse valor posteriormente conforme o desempenho real das consultas. Por exemplo, teste M igual a 16, 32 ou 64 e refine com base nos resultados.

  • IVF_FLAT e IVF_SQ8: Configure o número de clusters (listas invertidas) para particionar o espaço vetorial. Mais clusters melhoram a precisão e o recall, porém incrementam o tempo de indexação e o custo computacional da busca. Menos clusters reduzem a complexidade, mas podem diminuir a precisão.

  • SCANN: Use o parâmetro with_raw_data para definir se os dados brutos serão armazenados no índice. Caso o sistema foque em buscas rápidas e aproximadas, sem acesso frequente aos dados originais, defina como False. Do contrário, configure como True.

Campos escalares

Ao ativar a opção Scalar Fields, configure o parâmetro Average Size of Data per Row. Isso permite que o sistema de indexação aloque memória, armazenamento e recursos de sharding de forma eficiente, otimizando o desempenho das consultas.