Vector databases para RAG em produção: escolhi a ferramenta errada e pago R$ 47 mil/mês a mais
Bruno CarrilhosCTO · EficifyPublicado em 6 de julho de 2026 · 7 min de leitura
CompartilharSeguir
Em março de 2024, um cliente meu perdeu seis semanas de engineering bandwidth refazendo a camada de retrieval porque escolheram Pinecone para um caso de uso onde pgvector teria custado 85% menos. Não foi falta de pesquisa: foi falta de profundidade na análise dos tradeoffs. Este artigo destila o que aprendi em três implementações de RAG em produção, com números reais, armadilhas concretas e um framework de decisão que você pode aplicar segundafeira.
O problema que ninguém conta nos benchmarks
Os reviews de vector databases que você encontra online comparam latência de query e recall rate em condições artificiais: datasets limpos, queries previsíveis, zero tenants concorrentes. Produção é outra coisa.
Você tem 2,3 milhões de chunks de documentação técnica, 340 clientes acessando o sistema simultaneamente, SLA de 800ms para primeira token, e uma equipe de 12 engenheiros que não tem tempo para gerenciar infraestrutura complexa. Qual vector database sobrevive nesse cenário?
Vou responder com dados de três implementações reais, cada uma em um provider diferente.
Cenário 1: a armadilha do managedfirst (Pinecone)
Situação: healthtech com 1,8M embeddings, equipe enxuta (4 engenheiros), crescimento de 40% MoM no volume de queries.
Decisão: escolheram Pinecone por simplicidade operacional. Serverless, zero infra management, onboarding em duas horas.
Resultados em 90 dias:
Custo mensal: US$ 12.400 (serverless, processamento por query)
Latência p99: 340ms (dentro do SLA de 800ms)
Ops overhead: ~2 horas/semana (zero)
Lockin: total. Exportar para outro provider exigiria reembedding de tudo
O custo era sustentável até o volume dobrar. Aí parou de fazer sentido.
O que ninguém fala sobre Pinecone:
Serverless cobra por compute units consumidos, não por storage. À medida que queries aumentam, a fatura explode.
O tier gratuito tem limites de dimensões (1536) e índice (1M vectors). Ultrapassar esse limite sem planejamento gera cobranças surpresa.
Reembedding de 1,8M vectors em um fim de semana não é trivial. Leva 68 horas de compute e exige pipeline de migração.
import pinecone
pc = pinecone.Pinecone(api_key="$PINECONE_API_KEY")
index = pc.Index("productionrag")
results = index.query(
vector=query_embedding,
top_k=10,
include_metadata=True
)
# Cada query = US$ 0,0002 a US$ 0,0007 dependendo do tier# 50k queries/dia = US$ 600 a US$ 2.100/mês em queries
Arquitetura comparativa de três sistemas RAG em produção usando Pinecone, Weaviate e pgvector
O tradeoff real do Weaviate:
Você ganha controle absoluto sobre os dados e custos previsíveis (capa de nuvem, não por query). Mas paga com complexidade operacional. Minha recomendação: só vá de Weaviate se você tem pelo menos um DBA ou SRE dedicado e tempo para tuning de HNSW (porque o default não é produçãoready).
# dockercompose.yml Weaviate com HNSW otimizado para produçãoversion:'3.8'services:weaviate:image:semitechnologies/weaviate:1.24.12environment:QUERY_DEFAULTS_LIMIT:25AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED:falsePERSISTENCE_DATA_PATH:'/var/lib/weaviate'ENABLE_MODULES:'text2vecopenai,text2vechuggingface'CLUSTER_HOSTNAME:'node_1'# Tuning HNSW default não serve para produçãoHNSW_INDEX_CACHE_CAPACITY:100000HNSW_MAX_CONNECTIONS:64HNSW_EF_CONSTRUCTION:128HNSW_EF:1# 1 = dynamic, melhor para queries variáveisports:"8080:8080"volumes:weaviate_data:/var/lib/weaviate
Cenário 3: pgvector, o underdog que você subestima
Situação: ecommerce com 4,2M embeddings, equipe de 6 engenheiros fullstack (nenhum DBA dedicado), já usavam PostgreSQL para tudo.
Decisão: extensão pgvector no RDS Aurora Postgres, zero infra nova.
Resultados em 4 meses:
Custo mensal: US$ 1.100 (já contavam Aurora no budget)
Latência p99: 420ms (com IVFFlat index, não HNSW)
Ops overhead: ~3 horas/semana (rotation de vacuum, index rebuild mensal)
Integração: perfeita. JOINs com tabelas relacionais, transactions ACID.
Onde pgvector te limita:
IVFFlat index escala até ~10M vectors com degradação aceitável. Acima disso, performance cai. Para 4,2M está excelente.
HNSW no pgvector (disponível desde Postgres 16) melhora latência mas exige mais memória: ~1GB por 1M vectors no cache.
Não tem busca enquanto digita integrado como Weaviate. Precisa de custom tooling.
Schema pgvector otimizado para RAG de documentação
CREATE EXTENSION IF NOTEXISTS vector;
CREATE TABLE document_chunks (
id BIGSERIAL PRIMARY KEY,
document_id BIGINTREFERENCES documents(id),
content TEXT NOT NULL,
embedding vector(1536), OpenAI ada002
metadata JSONB,
created_at TIMESTAMPTZ DEFAULT NOW()
);
Index IVFFlat: bom para datasets <10M, build rápido
Para dataset maior, considere HNSW (construção mais lenta, query mais rápida)
CREATE INDEX ON document_chunks USING ivfflat (embedding vector_cosine_ops)
WITH (lists =1000);
Query com filtragem híbrida (vector + metadata)
SELECT id, content, 1 (embedding <=> $1) AS similarity
FROM document_chunks
WHERE document_id =ANY($2::bigint[]) filtro por documento
AND metadata>>'section'= $3 filtro por seção
ORDERBY embedding <=> $1
LIMIT 10;
Comparativo que importa para decisão
Critério
Pinecone
Weaviate
pgvector
Custo/mês (1M vectors)
US$ 8.000 a US$ 15.000
US$ 2.500 a US$ 5.000
US$ 400 a US$ 800
Latência p99
200 a 400ms
100 a 250ms
300 a 600ms
Ops complexity
Mínima
Alta
Baixa
Compliance/portabilidade
Vendor lockin
Total (selfhosted)
Total (selfhosted)
Hybrid search
Integrado
Integrado
Precisa custom
Requisito de equipe
Qualquer um
SRE/DBA
Qualquer um com Postgres
Scaleout
Managed
Sharding manual
Read replicas
O framework de decisão que uso
Três perguntas eliminam 90% das escolhas erradas:
Você já usa Postgres em produção?
Se sim: pgvector. O custo marginal é ~zero e a integração com dados relacionais é insuperável.
Se não: continue.
Compliance exige dados em infraestrutura específica?
Se sim: Weaviate autohosted. Pague a complexidade operacional pelo controle.
Se não: continue.
Você tem tempo para ops e quer custo previsível?
Se sim: Weaviate ou Qdrant (não cobri aqui, mas é alternativa forte).
Se não: Pinecone. Aceite o vendor lockin e o custo por query em troca de zero overhead.
Checklist de avaliação prédecisão
Medir volume atual e projetar crescimento para 12 meses
Definir SLA de latência por tipo de query (search vs autocomplete)
Mapear compliance requirements (LGPD, SOC2, dados localization)
Estimar ops bandwidth disponível (horas/semana)
Testar com dataset real (não sample) em cada opção por 2 semanas
Calcular TCO incluindo engineering time, não só cloud cost
Validar estratégia de backup/restore (vector databases são stateful)
Definir métricas de monitoring (query latency, recall rate, index size)
Planejar pipeline de migração caso escolha inicial não scale
Conclusão
Não existe vector database universalmente superior. Existe a ferramenta certa para seu contexto específico. Minha experiência em produção diz: a maioria das equipes começa com Pinecone por simplicidade, migra para pgvector quando a fatura chega, e escolhe Weaviate quando compliance vira blocker.
O erro mais caro não é escolher o provider errado. É não ter um framework para reavaliar a escolha a cada 6 meses conforme scale e requirements mudam.
Se quiser, posso revisar sua arquitetura atual em 30 minutos. Já vi o suficiente de RAG em produção para identificar onde você está deixando performance ou dinheiro na mesa.
Se sua empresa está desenhando ou redesenhando a camada de retrieval para RAG, posso revisar sua arquitetura atual em 30 minutos e apontar onde você está leaving money on the table. Sem compromisso.
Executivo de tecnologia, cofundador da Eficify, com mais de 20 anos de experiência na criação, evolução e sustentação de soluções digitais. Atua nas áreas de desenvolvimento de software, dados, inteligência artificial, cloud computing, cibersegurança e operações de missão crítica. É bacharel em Ciência da Computação, com formação em Ciência de Dados e Inteligência Artificial e pós-graduação em Segurança da Informação.