Suporte do Milvus para vários tipos de índice
Milvus é um banco de dados vetorial open-source com recursos de última geração para busca por similaridade e aplicações de IA. Um dos recursos essenciais do Milvus é o suporte a vários tipos de Índice; os Índices ajudam a otimizar consultas e recuperação de dados.
Tipos de Índice
Atualmente, o Milvus oferece suporte a oito tipos de Índices:
- FLAT: FLAT é mais adequado para cenários que buscam resultados de busca perfeitamente precisos e exatos (taxa de recall de 100%) em um conjunto de dados pequeno, na escala de milhões. FLAT não comprime vetores e é o único índice que garante resultados de busca exatos. Os resultados do FLAT podem ser um ponto de comparação para resultados produzidos por outros índices com recall inferior a 100%.
- IVF_FLAT: IVF_FLAT é um índice baseado em quantização mais adequado para cenários que buscam um equilíbrio ideal entre precisão e velocidade de consulta (dados de baixa dimensionalidade com menos de 100.000 entradas). IVF_FLAT é um sistema que divide dados vetoriais em clusters e retorna resultados de busca por similaridade com base em comparações entre a entrada-alvo e os vetores no(s) cluster(s) mais semelhante(s). IVS_FLAT reduz drasticamente o tempo de consulta ao considerar o número de clusters consultados. Observe que IVF_FLAT não realiza nenhuma compressão, portanto os arquivos de índice que ele produz têm aproximadamente o mesmo tamanho que os dados vetoriais originais, brutos e não indexados.
- IV_SQ8: IVF_SQ8 é um índice baseado em quantização e é mais adequado para cenários que buscam uma redução significativa no consumo de memória de disco, CPU e GPU em situações em que esses recursos são limitados. IV_SQ8 pode alcançar isso convertendo cada FLOAT (4 bytes) em UINT8 (1 byte) por meio de quantização escalar. O índice IV_SQ8 é adequado para cenários de dados de baixa dimensionalidade com menos de 100.000 entradas.
- Índice HNSW: Hierarchical Navigable Small World (HNSW) é um índice baseado em grafo mais adequado para cenários com alta demanda por eficiência de busca. Este Índice cria uma estrutura semelhante a uma árvore para indexar os vetores. Portanto, é útil quando o conjunto de dados é enorme (grande conjunto de dados com muitas dimensões) e requer uma busca rápida. Ele constrói uma estrutura de navegação multicamadas para uma imagem de acordo com determinadas regras. Nessa estrutura, as camadas superiores são mais esparsas, e as distâncias entre os nós são maiores; as camadas inferiores são mais densas, e as distâncias entre os nós são menores. A busca começa pela camada mais alta, encontra o nó mais próximo do alvo nessa camada e então entra na próxima camada para iniciar outra busca. Após várias iterações, ela pode se aproximar rapidamente da posição-alvo.
- IVF_PQ: IVF_PQ é um índice baseado em quantização mais adequado para cenários que buscam alta velocidade de consulta de dados de alta dimensionalidade, mesmo ao custo da precisão. Ele decompõe uniformemente o espaço vetorial de alta dimensionalidade em produtos cartesianos de espaços vetoriais de baixa dimensionalidade e, em seguida, quantiza os espaços vetoriais de baixa dimensionalidade. A quantização de produto calcula as distâncias entre o vetor-alvo e o centro de agrupamento de cada espaço de baixa dimensionalidade, reduzindo a complexidade de tempo e espaço. O arquivo de índice IVF_PQ é menor (e menos preciso) que IVF_SQ8.
- ANNOY: ANNOY é um índice baseado em árvore mais adequado para cenários que buscam uma alta taxa de recall. Ele é prático para conjuntos de dados (com menos de 1 milhão de entradas) com alta dimensionalidade (e ao buscar vetores semelhantes).
- BIN_FLAT: Este Índice é adequado para dados de baixa dimensionalidade com menos de 100.000 entradas. Este índice é igual ao FLAT, exceto que BIN_FLAT é usado para embeddings binários.
- BIN_IVF_FLAT: Este Índice é adequado para conjuntos de dados de alta dimensionalidade com menos de 10 milhões de entradas ao buscar vetores semelhantes. Este índice é igual ao FLAT, exceto que BIN_IVF_FLAT é usado para embeddings binários.
Em Conclusão
O Milvus oferece suporte a vários tipos de Índice que ajudam a otimizar a consulta e a recuperação de dados para diferentes casos de uso. Escolher o tipo de Índice certo pode melhorar significativamente o desempenho de busca da sua aplicação.
Se você ainda está determinando qual tipo de Índice usar para o seu caso de uso específico, recomenda-se testar diferentes Índices e comparar seu desempenho. O Milvus pode proporcionar desempenho de busca ultrarrápido para suas aplicações de IA com o tipo de Índice e a configuração certos.
Próximos Passos
- Baixe o Milvus e comece
- Leia mais sobre os tipos de Índice do Milvus
- Confira os benchmarks do Milvus neste artigo
Continue lendo

Why and How to Migrate from Self-Hosted Milvus to Zilliz Cloud
A simple, step-by-step guide to migrating from Milvus to Zilliz Cloud. Learn both endpoint and backup methods for a smooth, scalable vector database migration.

Smarter Autoscaling in Zilliz Cloud: Always Optimized for Every Workload
With the latest upgrade, Zilliz Cloud introduces smarter autoscaling—a fully automated, more streamlined, elastic resource management system.

Expanding Our Global Reach: Zilliz Cloud Launches in Azure Central India
Zilliz Cloud expands to Azure Central India. This new region helps customers meet compliance, reduce latency, and optimize cloud costs when building AI applications.



