pular para o conteúdo
voltar ao mapa
componente
etapa: index
3 min de leitura

Vector DB

Vector DB é o componente que guarda embeddings e responde 'quais vetores estão mais próximos deste?' em milissegundos. É onde o ANN (HNSW, IVF) paga o custo da busca semântica.

PineconeWeaviateQdrantpgvector

O que é

Vector DB é um banco de dados especializado em armazenar vetores densos e responder consultas de vizinhança. A consulta típica é 'top-k vizinhos mais próximos deste vetor', e ela roda em latência baixa mesmo com milhões ou bilhões de vetores indexados.

Diferente de um banco relacional, o índice primário é a distância geométrica, não a chave primaria. A comparação por exato (termo, id) ainda existe, mas a busca principal usa algoritmos aproximados de vizinhos mais próximos (), que abrem mão do resultado exato em troca de velocidade.

ANN: HNSW e IVF

Dois algoritmos dominam o estado da prática. O HNSW () constrói um grafo em camadas: cada camada é um grafo navegável, e os vértices pulam de camada em camada seguindo os vizinhos mais próximos. Busca entra pela camada de cima, desce e converge. Latência excelente, uso de memória alto.

O IVF (Inverted File Index) particiona o espaço em células e guarda, por célula, os vetores que pertencem a ela. Na busca, comparamos o vetor de consulta com os centróides, escolhemos as células mais próximas, e só então comparamos com os vetores daquelas células. Menos memória que HNSW, latência ligeiramente maior. A maioria dos bancos usa IVF combinado com quantização (PQ, SQ) para reduzir ainda mais o custo.

Metadata e filtros

Vetor sozinho resolve pouco. Em produção, cada embedding vem com metadata: documento de origem, data, autor, categoria, tags, idioma, nível de acesso. A busca combina 'vizinhos mais próximos' com 'filtro de metadata'. Filtros cortam o espaço de busca antes do ANN rodar, então reduzem latência e melhoram precisão.

Dois padrões se destacam. Pré-filtro: aplica o filtro de metadata, e roda ANN sobre o subconjunto. Pós-filtro: roda ANN completo, e descarta o que não passa no filtro. Pré-filtro é melhor quando o filtro é restritivo; pós-filtro é melhor quando quase tudo passa.

Na prática

pgvector é a extensão vetorial do PostgreSQL: roda junto com o banco relacional e permite filtrar metadata na cláusula WHERE antes da busca. O exemplo cria a tabela com vetor de 1536 dimensões (tamanho típico de text-embedding-3-small), insere chunks e faz a busca top-5 com filtro de categoria.

vector-db/query.sqlsql
-- criação
CREATE EXTENSION IF NOT EXISTS vector;

CREATE TABLE chunks (
  id          BIGSERIAL,
  doc_id      TEXT NOT NULL,
  category    TEXT NOT NULL,
  content     TEXT NOT NULL,
  embedding   vector(1536),
  PRIMARY KEY (id)
);

CREATE INDEX chunks_embedding_hnsw
  ON chunks USING hnsw (embedding vector_cosine_ops);
CREATE INDEX chunks_category_idx ON chunks (category);

-- inserção (chunks já embeddings calculados em outro passo)
INSERT INTO chunks (doc_id, category, content, embedding)
VALUES ($1, $2, $3, $4);

-- busca top-5 com filtro de metadata
SELECT id, doc_id, content,
       1 - (embedding <=> $1::vector) AS score
FROM chunks
WHERE category = 'manual'
ORDER BY embedding <=> $1::vector
LIMIT 5;

Pontos fortes

  • busca por similaridade em escala: ANN entrega top-k em milissegundos com milhões de vetores
  • filtro híbrido: combina vizinhança geométrica com WHERE de SQL ou filter nativo, então busca por espaço é alcançável
  • opções para todo orçamento: pgvector economiza infra adicional; Pinecone/Qdrant/Weaviate entregam throughput dedicado

Limitações

  • ANN é aproximado: ranking pode trocar vizinhos verdadeiros por vizinhos próximos; tuning de recall vs latência é trabalho contínuo
  • memória alta: HNSW em alta dimensionalidade consome mais RAM do que o dado original
  • consistência entre sharding e reindexação: recriar o índice durante tráfego real exige cuidado, e o downtime vira problema de produção
ANNapproximate nearest neighborFamília de algoritmos (HNSW, IVF, LSH) que trocam exatidão por velocidade brutal em busca de vizinhos em alta dimensão. ANN não acha o vizinho perfeito, mas o vizinho bom o suficiente, e em retrieval de produção esse trade é o que faz o sistema caber no orçamento de latência.ver no glossário →HNSWhierarchical navigable small worldEstrutura de grafo em camadas que bancos vetoriais usam para busca de vizinhos em alta dimensão. Cada camada é um grafo esparso que pula longe; as de baixo fazem o ajuste fino. É o motivo de pgvector, Pinecone, Weaviate, Qdrant e LanceDB responderem em milissegundos com milhões de vetores.ver no glossário →

conexões no mapa

atualizado em 14/10/2026 · fontes para aprofundar · reportar erro

em outros domínios

Estude antes

Desbloqueia

teste o que entendeu

Carregando perguntas…