Comparación de vector databases con método simple: mismo corpus de 1 millón de documentos, mismo conjunto de queries, misma aplicación de RAG detrás de cada engine. Métricas: recall@10, latencia p95 y horas de operación por sistema. Candidatos: pgvector, Qdrant y Pinecone.
pgvector: Postgres resuelve hasta millones de vectores
El pgvector corre dentro de PostgreSQL. El join SQL entre vector y fila relacional sale gratis, el índice HNSW performa bien hasta algunos millones de vectores y sufre cerca de 50M. IVFFlat existe como alternativa, pero HNSW ganó en todos los escenarios probados. Un equipo que ya opera Postgres agrega cero infraestructura: backup, replicación y monitoreo están en pie.
Qdrant: filtros rápidos y memoria bajo control
Engine escrita en Rust con las búsquedas filtradas más veloces del grupo. La cuantización scalar y binaria encoge el consumo de memoria de 4x a 32x, lo que cambia el sizing de máquina por completo. Funciona self-hosted o en el cloud administrado; el término medio entre control y conveniencia queda aquí.
Pinecone: simplicidad alquilada
Serverless de punta a punta, nada que parchear, on-call que duerme la noche. La cuenta sube con la dimensión del vector y el throughput, y el pico de tráfico duele. Un equipo sin DevOps extrae valor del premio; un equipo con infraestructura propia lo siente todos los meses.
Números en tres escalas
- 100k vectores: los tres empataron por encima de 0.95 de recall@10; la latencia ni entra como criterio en esa escala
- 1M vectores: pgvector con HNSW (m=16, ef_construction=64) sostuvo p95 por debajo de 50ms; Qdrant con cuantización scalar marcó ~30ms usando la mitad de RAM
- 20M vectores: pgvector exigió tuning agresivo y partición por tenant; Qdrant siguió estable; Pinecone escaló sin intervención, con el mayor costo mensual de los tres
Cómo decidir
Equipo Postgres con menos de 10M vectores: pgvector. Filtrado pesado por metadata (tenant, permiso, fecha): Qdrant. Cero capacidad de DevOps: Pinecone. El resto es gusto.
La trampa de la migración
El embedding queda atado al modelo que lo creó. Cambiar de proveedor obliga a re-embedar el corpus entero, y el costo mayor ni es el computacional: el recall cambia, el threshold pide recalibración, los evals re-corren. Reserva presupuesto para esto desde el día uno, inclusive en el contrato con el proveedor actual.
¿Te gustó el contenido?
Construyo productos web y soluciones con IA de la manera correcta — arquitectura sólida, código sostenible y entrega real.
Hablemos