Avançado 11 minStack

Milvus: a base vetorial dos grandes volumes

Resposta direta

Milvus é um banco de dados vetorial de código aberto, escrito em Go e C++, sob licença Apache 2.0 (mais de 46.000 estrelas no GitHub no final de setembro de 2026, versão 3.0.2), projetado para operar em grande escala: bilhões de vetores, arquitetura distribuída que separa processamento e armazenamento. Uma variante leve, Milvus Lite, pode ser instalada com pip install pymilvus e funciona em um simples arquivo local — útil para começar, mas raramente necessária para um corpus local modesto.

Milvus é um banco de dados vetorial de código aberto projetado para operar em grande escala: bilhões de vetores, implantação distribuída e uma variedade muito ampla de índices. O projeto, escrito em Go e C++, contava com mais de 46.000 estrelas no GitHub no fim de setembro de 2026, na versão 3.0.2. Para uma única máquina, também existe uma versão leve, Milvus Lite, que permite começar pequeno sem precisar mudar de ferramenta mais tarde. Resta saber se seu corpus justifica essa potência — para muitos projetos locais, a resposta é não, e essa é uma informação útil.

Por Mohamed Meguedmi·Atualização 2026-09-28·Testado no Windows, macOS e Linux

#O que Milvus visa

A maioria dos bancos de dados vetoriais é voltada para projetos de equipe. Milvus é voltado para a escala industrial: separação entre armazenamento e processamento, escalabilidade horizontal nativa no Kubernetes e um catálogo de índices que permite equilibrar com precisão os compromissos entre precisão, memória e velocidade. O projeto afirma ter capacidade para processar dezenas de milhares de consultas em bilhões de vetores, mantendo os dados atualizados por meio de atualizações em streaming em tempo real. É uma escolha de arquitetura, não apenas um conjunto de funções.

Essa ambição tem uma desvantagem direta: em um corpus de cinquenta mil passagens, essa potência não se percebe, mas a complexidade aparece imediatamente. Portanto, a pergunta a fazer não é “esta é a melhor base vetorial?”, mas “meu corpus atingirá o tamanho em que essas escolhas fazem diferença?”.

O projeto se apresenta como a base em que desenvolvedores de IA confiam para construir aplicações de busca de texto e imagem, geração aumentada por recuperação e sistemas de recomendação, e afirma atender muitas empresas em usos considerados críticos. Esse posicionamento esclarece o público-alvo: equipes que constroem um produto destinado a crescer, e não um script pessoal de pesquisa documental em algumas centenas de arquivos PDF.

#Uma arquitetura baseada em componentes

O kit RAG Local

Seus documentos, sua IA: um RAG local confiável para seus PDFs, notas e e-mails — sem enviar nada para a nuvem.

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias

Em uma implantação completa, o Milvus não é um processo, mas um conjunto: nós de consulta, nós de dados, um serviço de coordenação, armazenamento de objetos e um registro de mensagens. Cada componente é dimensionado independentemente — o projeto destaca a possibilidade de aumentar separadamente os nós de consulta para uma carga intensa de leitura e os nós de dados para uma carga intensa de escrita —, o que é exatamente o que se deseja em grande escala e exatamente o que se dispensa em uma estação de trabalho. Os microsserviços sem estado no Kubernetes também permitem uma recuperação rápida após incidentes, e o suporte a réplicas melhora ainda mais a tolerância a falhas ao carregar os segmentos de dados em vários nós de consulta. Essa separação entre processamento e armazenamento é precisamente o que distingue um banco de dados pensado para a escala industrial de um banco de dados pensado para um único serviço: ela tem um custo operacional permanente, mesmo quando o tráfego permanece baixo, algo que poucos comparativos mencionam antes da implantação.

i
O modo leve existe: Milvus Lite
pip install -U pymilvus instala o SDK Python oficial; pip install "pymilvus[milvus-lite]" adiciona a variante leve. Em seguida, basta instanciar client = MilvusClient("milvus_demo.db") para obter um banco de dados vetorial local em um arquivo, sem precisar implantar nada. O código escrito para esta versão continua válido se um dia você migrar para a implantação completa, bastando alterar a URI de conexão: esse é o principal argumento para começar com o Milvus em vez de migrar para ele mais tarde.

#Mínimo em Python, com Milvus Lite

  1. 01
    Conectar-se
    from pymilvus import MilvusClient seguido de client = MilvusClient("milvus_demo.db") abre um banco de dados local em um arquivo; substituir o argumento por uma URI de servidor passa a usar uma implantação completa sem alterar o restante do código.
  2. 02
    Criar uma coleção
    client.create_collection(collection_name="demo_collection", dimension=1024) — a dimensão deve corresponder exatamente à do seu modelo de embedding.
  3. 03
    Inserir os dados
    res = client.insert(collection_name="demo_collection", data=data) onde data é uma lista de dicionários, cada um contendo um vetor e seus metadados.
  4. 04
    Buscar
    res = client.search(collection_name="demo_collection", data=vecteurs_requete, limit=5, output_fields=["text"]) retorna os cinco trechos mais próximos com os campos solicitados.

O projeto destaca sua integração com ferramentas de IA comuns — LangChain, LlamaIndex, OpenAI, Hugging Face — o que, segundo seus autores, torna o Milvus um repositório vetorial adequado para geração aumentada por recuperação. O Milvus funciona com modelos de embedding, tanto open source quanto fornecidos por serviços de embedding, em texto, imagem e vídeo, e oferece um utilitário (pymilvus[model]) para transformar dados não estruturados em vetores sem precisar escrever o código de chamada ao modelo nem gerenciar separadamente a biblioteca cliente de cada fornecedor.

#Os índices, e qual escolher?

Famílias de índice úteis na prática
IndexEquilíbrioQuando
Exato (FLAT)Precisão perfeita, varredura completaAté algumas dezenas de milhares de vetores
Grafo (HNSW)Consultas rápidas, alto uso de memóriaA escolha padrão razoável abaixo de um milhão
Partições invertidas (IVF)Construção rápida, configurações para ajustarGrandes volumes, memória limitada
SCANNBusca vetorial com compressão e alto desempenhoCompromisso entre memória e velocidade alternativo ao IVF-PQ
No disco (DiskANN)Capacidade ao custo de maior latênciaCorpus que excede em muito a RAM disponível
GPU (CAGRA)Construção e busca aceleradas por hardwareVolumes muito grandes, GPU dedicada disponível para indexação

Para um corpus documental local, lembrar de um único número basta na maioria das vezes: abaixo de um milhão de vetores, a diferença entre as seis famílias de índices é medida em milissegundos, não em minutos, e o esforço dedicado a escolher a configuração certa quase sempre seria mais bem investido em outra parte do projeto.

O conselho que mais economiza tempo continua sendo o mesmo em qualquer lugar: começar pela busca exata. Os índices aproximados resolvem um problema de escala, e adotá-los antes de ter esse problema significa assumir parâmetros para ajustar e um recall para medir, em troca de milissegundos que ninguém percebeu. O Milvus documenta explicitamente essas seis famílias — HNSW, IVF, FLAT, SCANN, DiskANN e variantes quantizadas — como otimizadas, cada uma, para um cenário diferente, com suporte a GPU via CAGRA da NVIDIA para a indexação de volumes muito grandes. O projeto acrescenta a esses índices filtragem por metadados e busca por intervalo, ambas otimizadas no mesmo nível que a própria busca vetorial, em vez de implementadas como uma camada separada que tornaria o resultado final mais lento.

#O que diferencia o Milvus em grande escala

Além dos índices, várias funcionalidades explicam por que grandes organizações escolhem Milvus em vez de uma alternativa mais simples. A configuração multi-tenant oferece quatro níveis possíveis de isolamento — banco de dados, coleção, partição ou chave de partição —, permitindo que um único cluster atenda de algumas dezenas a milhões de locatários sem perder desempenho nas buscas nem granularidade no controle de acesso. O armazenamento quente e frio mantém os dados frequentemente consultados na memória ou em SSD e transfere os dados raramente consultados para um armazenamento mais lento e menos caro, reduzindo o custo sem sacrificar o desempenho das tarefas críticas.

Quanto à busca, o Milvus oferece suporte nativo à busca de texto completo com BM25 e a embeddings esparsos aprendidos, como SPLADE e BGE-M3, além da busca semântica por vetores densos. Vetores esparsos e densos podem coexistir em uma mesma coleção, com funções de reordenação (reranking) para combinar os resultados de várias consultas — uma busca híbrida semelhante em sua concepção à oferecida pelo Qdrant, mas construída aqui em torno do BM25, em vez de uma fusão genérica de pontuações. Quanto à segurança, o projeto destaca a autenticação obrigatória, a criptografia TLS nas comunicações e o controle de acesso baseado em funções (RBAC), três elementos esperados quando um banco de dados atende a várias aplicações ou equipes, e muito menos críticos para uma instância que escuta apenas em localhost.

#Localmente: o que isso implica

Recursos
A implantação completa exige vários contêineres e vários gigabytes de memória RAM, antes mesmo de incluir seu modelo de linguagem: o serviço de coordenação, os nós de consulta, os nós de dados, o armazenamento de objetos e o log de mensagens funcionam separadamente.
Memória de vetores
Aproximadamente 4 kB por vetor de 1.024 dimensões em precisão plena, sem incluir o índice. É essa aritmética que define a arquitetura, não as funcionalidades — e ela permanece verdadeira, independentemente de você usar Milvus, Qdrant ou pgvector.
Operação
Backups, atualizações de versão, monitoramento: um verdadeiro banco de dados distribuído exige alguém realmente responsável por sua operação. O ecossistema Milvus inclui o Attu, uma interface gráfica de administração, e o Birdwatcher para depuração do sistema, duas ferramentas que, mesmo assim, exigem conhecimento da arquitetura subjacente.
A GPU continua dedicada ao modelo
A codificação dos documentos e a inferência já disputam a placa; a busca vetorial, por sua vez, depende principalmente do processador e da memória, exceto quando a construção de índices na GPU é explicitamente ativada via CAGRA para volumes muito grandes.

#Quando Milvus é a escolha certa

A pergunta certa nunca é 'qual base tem mais funcionalidades', mas 'quais dessas funcionalidades meu projeto realmente vai utilizar'. O multi-tenant em quatro níveis, o armazenamento quente e frio, o RBAC e a pesquisa híbrida BM25 existem para organizações que atendem milhares de usuários com exigências de conformidade; em um computador pessoal ou para ferramentas internas de uma pequena equipe, esses mecanismos permanecem inativos, enquanto sua complexidade de configuração continua presente. O Milvus se justifica quando a trajetória do projeto — e não seu estado atual — aponta para essas necessidades em um horizonte razoável.

Escolher com honestidade
SituaçãoO que é adequado
Milhões de vetores, crescimento contínuoMilvus
Necessidade de equilibrar cuidadosamente o uso de memória e a precisãoMilvus
Corpus de equipe, filtros, algumas centenas de milhares de passagensUm banco de dados dedicado mais simples, como Qdrant
PostgreSQL já instaladoExtensão vetorial do PostgreSQL (pgvector)
Aplicativo de processo únicoUm banco de dados embarcado ou uma biblioteca como FAISS

#FAQ

O Milvus é gratuito?+
Sim, o motor é de código aberto sob licença Apache 2.0 e pode ser auto-hospedado sem custo de licença, com um repositório no GitHub que contava com mais de 46.000 estrelas no fim de setembro de 2026. O desenvolvedor também oferece um serviço pago em nuvem (Zilliz Cloud), que não é necessário para uso local.
É necessária uma GPU?+
Não para as buscas comuns, que exigem processamento e memória. Algumas operações de construção de índices, especialmente com o CAGRA da NVIDIA, podem aproveitar uma GPU para acelerar a indexação em escala muito grande, mas esse não é o caso habitual em um corpus local.
É possível usá-lo em apenas um computador?+
Sim, via Milvus Lite, sua variante leve instalada com pip install "pymilvus[milvus-lite]", que trabalha em um arquivo local sem precisar implantar um servidor nem iniciar um contêiner. A implantação completa, com seus nós separados, serviço de coordenação e armazenamento de objetos, é claramente desproporcional para um simples computador pessoal.
Milvus ou Qdrant?+
O Qdrant é mais simples de operar, instala-se com um único comando Docker e é mais do que suficiente para uma equipe, com filtragem por metadados igualmente rica. O Milvus se justifica quando se busca trabalhar com vários milhões de vetores, escalar de forma distribuída no Kubernetes ou ajustar com precisão os índices entre seis famílias diferentes, incluindo as que usam GPU.
Quanta memória é necessária para um milhão de vetores?+
Aproximadamente 4 GB em precisão completa para vetores de 1.024 dimensões, sem contar a estrutura do índice, e muito menos com quantização de produto ou um índice em disco como DiskANN. Considere também o espaço do índice e dos metadados, além da memória do armazenamento de objetos em uma implantação distribuída completa, em vez do modo simplificado baseado em um único arquivo.
Quais ferramentas acompanham o Milvus em produção?+
O ecossistema oficial inclui Attu para administração gráfica, Birdwatcher para depuração, Prometheus e Grafana para supervisão, Milvus CDC para sincronização de dados e conectores para Spark, Kafka e Airbyte para construir pipelines de ingestão mais amplos, além do que um uso estritamente local exige.
O Milvus faz pesquisa híbrida como o Qdrant?+
Sim, mas com uma abordagem diferente: Milvus combina nativamente vetores densos e vetores esparsos (BM25, SPLADE, BGE-M3) em uma mesma coleção, com funções de reordenação para mesclar os resultados. Trata-se de uma busca híbrida construída em torno da busca de texto completo tradicional, em vez de uma fusão genérica de pontuações como o RRF usado por outras bases vetoriais, uma escolha que favorece a precisão em consultas contendo termos exatos.
Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.