📖

O que é Vector Database?

Uma base de dados vetorial armazena e indexa vetores de embeddings de alta dimensionalidade gerados por modelos de ML, permitindo pesquisa rápida por similaridade para aplicações de IA como RAG e pesquisa semântica.

Uma base de dados vetorial é um sistema de armazenamento especializado, concebido para lidar com vetores de alta dimensionalidade — matrizes numéricas com tipicamente centenas ou milhares de números de vírgula flutuante que os modelos de aprendizagem automática utilizam para representar significado. Palavras, frases, imagens, clipes de áudio e comportamentos de utilizadores podem ser codificados como vetores, e uma base de dados vetorial torna possível armazenar milhares de milhões destes embeddings e encontrar, em milissegundos, as correspondências mais próximas de uma nova consulta.

Como funciona uma base de dados vetorial

Quando um modelo de ML, como um grande modelo de linguagem ou um codificador de visão, produz um embedding, esse vetor é enviado para a base de dados juntamente com uma referência ao item original — um trecho de texto, um ficheiro de imagem, um registo de produto, entre outros. A base de dados constrói um índice utilizando um algoritmo de vizinhos mais próximos aproximados (ANN), como HNSW (Hierarchical Navigable Small World) ou IVF (Inverted File Index), estruturas que sacrificam uma pequena dose de exatidão em troca de consultas muito mais rápidas sobre grandes conjuntos de dados. No momento da pesquisa, a aplicação envia um embedding fresco como consulta, e o índice devolve os k vetores mais relevantes, ordenados por uma métrica de similaridade — geralmente similaridade de cosseno, produto escalar ou distância euclidiana.

Por que é importante

A pesquisa tradicional por palavras-chave não consegue perceber que "companheiro felino" e "gato doméstico" significam quase a mesma coisa, mas os respetivos embeddings ficam próximos no espaço vetorial, pelo que uma base de dados vetorial devolve-os como correspondências mesmo assim. Esta capacidade é o que sustenta a pesquisa semântica moderna, os sistemas de recomendação, a recuperação de imagens e áudio, a deteção de anomalias e a etapa de recuperação na Geração Aumentada por Recuperação (RAG), na qual um LLM é fundamentado em documentos obtidos a partir de um vector store. Sem indexação concebida para o efeito, comparar uma consulta com milhões de vetores um a um seria demasiado lento para tráfego em produção.

Principais tipos e exemplos

  • Bases de dados vetoriais dedicadas: motores concebidos de raiz em torno de índices ANN, como Milvus, Qdrant, Weaviate e Pinecone.
  • Bibliotecas de pesquisa vetorial: motores leves como FAISS e Annoy, que correm dentro de uma aplicação em vez de como um serviço autónomo.
  • Bases de dados híbridas: armazéns convencionais como PostgreSQL (via pgvector), Elasticsearch e MongoDB, que acrescentam indexação vetorial a funcionalidades de documentos ou relacionais já existentes.
  • Serviços geridos na cloud: ofertas alojadas dos principais fornecedores de cloud, que integram pesquisa vetorial em plataformas de dados mais amplas.

A escolha entre eles depende, geralmente, da escala, dos requisitos de latência, de saber se os dados convivem com registos estruturados e da carga operacional que a equipa está disposta a assumir. Os sistemas mais fortes da área são avaliados em benchmarks como a leaderboard do ANN-Benchmarks, que compara a revocação face a consultas por segundo em conjuntos de dados representativos.

Frequently Asked Questions

How is a vector database different from a traditional relational database?
A relational database stores rows and columns and is queried with exact filters and joins, while a vector database stores high-dimensional embedding vectors and is queried by similarity. Relational engines are optimized for transactional workloads; vector databases are optimized for nearest-neighbor search over dense numeric data.
Do I need a vector database to build a RAG system?
In practice, yes. Retrieval-Augmented Generation requires fetching relevant documents for a query in real time, and a vector database provides the fast similarity search that makes this feasible at scale. Some teams prototype with simple in-memory search, but production RAG systems almost always use a dedicated vector store or a hybrid database with vector indexing.
What is approximate nearest neighbor (ANN) search?
ANN search is a family of algorithms that trade a small amount of accuracy for large gains in speed when finding the closest vectors to a query. Methods such as HNSW graph indexes and IVF clustering can return results that are very close to the true nearest neighbors while running orders of magnitude faster than brute-force comparison.
How large can vector databases scale?
Production vector databases routinely index hundreds of millions to billions of vectors across multiple machines. Sharding, replication, and disk-backed indexes allow systems to grow well beyond the memory of a single server while keeping query latency low.