Banco de dados vetorial
O banco que busca pelo que é parecido, não pelo que é igual
Embedding · Vizinho mais próximo · Índice HNSW · Exemplo real
A busca por palavra só acha o que está escrito
A pessoa descreve o que quer com as palavras dela. O LIKE procura as letras.
“um robô que aprende a amar”
O que o SQL fazSELECT titulo FROM filmes WHERE texto LIKE '%robô%' AND texto LIKE '%aprende%' AND texto LIKE '%amar%';
Nenhuma sinopse tem as três palavras escritas.
- Robots
- I, Robot
- A.I. – Inteligência Artificial
Ele compara o significado da frase, não as letras.
Tudo vira uma lista de números
Um modelo de IA transforma texto, imagem ou áudio em um vetor: o embedding.
“um robô solitário que limpa a Terra e se apaixona”
texto, imagem ou áudioModelo de embedding
na demo: multilingual-e5-small[ 0,064 0,002 −0,056
−0,032 0,086 −0,033 … ]
Buscar é achar os vizinhos mais próximos
- A pergunta também vira vetorcom o mesmo modelo que gerou os vetores dos dados
- O banco devolve os k pontos mais próximoskNN: k vizinhos mais próximos. No desenho, k = 3
- “Perto” é uma conta de distânciacosseno, produto escalar ou euclidiana
O desenho tem 2 dimensões. Na demonstração, cada filme é um ponto em 384 dimensões.
Com milhões de vetores, comparar um por um não dá
Por isso o banco vetorial tem um índice próprio. O mais usado é o HNSW.
- Mede a distância até todos os vetores
- Resposta exata
- O tempo cresce junto com a base
- Um grafo em camadas: cada ponto conhece os vizinhos
- A busca entra por cima e desce, sempre para o mais próximo
- Visita só uma fração dos pontos
Resposta aproximada (ANN), em milissegundos. É o papel da árvore B no relacional.
Relacional e vetorial respondem perguntas diferentes
Onde a busca vetorial já trabalha
Sempre que a pergunta é “o que se parece com isto?”.
Spotify
Usa vizinho mais próximo há mais de dez anos para recomendar e buscar música.
Spotify Engineering, 2023Assistentes com RAG
O assistente busca os trechos mais parecidos com a pergunta e responde com base neles.
geração com recuperaçãoBusca por significado
Loja, suporte e documentos: acha mesmo sem a palavra exata.
é o exemplo da nossa demoImagem e áudio
Achar a foto parecida, a música parecida, o item duplicado.
imagem e som também viram vetorQdrant · Pinecone · Milvus · Weaviate · Chroma
PostgreSQL (pgvector), MongoDB, Redis, Cassandra e Neo4j já têm busca vetorial.

Na prática: busca de filmes por significado
Banco vetorial de código aberto, escrito em Rust. Rodando neste computador, sem internet.
Quando usar, e quando não
- Acha pelo significado, não pela palavra
- Serve para texto, imagem e áudio
- Rápido mesmo com milhões de itens
- É a busca por trás dos assistentes de IA (RAG)
- A resposta é aproximada, não exata
- Não tem JOIN nem transação como no SQL
- A qualidade depende do modelo de embedding
- É difícil explicar por que um item apareceu
Não substitui o relacional. Trabalha junto com ele.
Obrigado!
O relacional acha o que bate com a condição. O vetorial acha o que mais se parece.
Perguntas?
- Qdrant, documentação oficialqdrant.tech/documentation
- Malkov e Yashunin (2016), o artigo do HNSWarxiv.org/abs/1603.09320
- Spotify Engineering (2023), Voyagerengineering.atspotify.com
- Dados da demonstraçãoWikipédia em português (CC BY-SA 4.0) e Wikidata