Bases de datos vectoriales explicadas fácil (y cuándo no las necesitas)
Inteligencia Artificial · Serie LLMs y n8n
Bases de datos vectoriales explicadas fácil (y cuándo no las necesitas)
Las vector DB guardan y indexan embeddings para búsquedas por similitud a gran escala. Pero no siempre son imprescindibles: a veces PostgreSQL + pgvector o MySQL con soporte vectorial bastan.
En el post anterior entendimos qué son los embeddings. Hoy bajamos a diseño de almacenamiento y recuperación: ¿cuándo usar una base de datos vectorial dedicada y cuándo resolverlo con tu base relacional y una extensión?
¿Qué es una base de datos vectorial?
Es un sistema diseñado para indexar, almacenar y consultar vectores (embeddings) de forma eficiente. Su valor está en los índices aproximados (ANN) que equilibran velocidad, memoria y precisión cuando tienes millones de vectores y necesitas respuestas en milisegundos.
- Operaciones: upsert de vectores, filtros por metadatos, consultas por similitud, refresco de índices.
- Índices típicos: HNSW (grafo jerárquico), IVF/Flat, PQ/OPQ, ScaNN/DiskANN, entre otros.
- Metadatos y filtros: combinar similitud con filtros (fecha, etiqueta, idioma, tenant…)
¿Cuándo conviene una vector DB dedicada?
- Volumen: > 1–5 millones de vectores o crecimiento sostenido mensual.
- Latencia: objetivos de <100 ms p95 con alto recall.
- Concurrencia: muchas consultas simultáneas (chat, búsqueda, recomendaciones).
- Ops: necesitas replicación, particionado y mantenimiento del índice con poca fricción.
- Roadmap: planeas hibridar keyword + vector, multimodal (imagen/audio) o re-ranking.
¿Cuándo no la necesitas (todavía)?
- Pocos datos: decenas o cientos de miles de vectores → un índice exacto o ANN sencillo en Postgres puede ir perfecto.
- Bajo QPS: consultas esporádicas (interna, backoffice) sin SLA agresivo.
- Prototipo: priorizas simplicidad y time-to-first-value.
- Dominio estable: corpus pequeño, poco cambiante, donde reconstruir índice no es problema.
En estos casos, evalúa PostgreSQL + pgvector (o MySQL con soporte de vectores) para mantener todo en un solo motor, con transacciones, joins y tus herramientas conocidas.
Opciones comunes en 2025
Vector DB dedicadas
- Milvus/ Zilliz Cloud: ANN de alto rendimiento, escalado horizontal, múltiples índices.
- Weaviate: vector + búsqueda híbrida, buen soporte para RAG.
- Pinecone: servicio gestionado con filtros por metadatos y serverless.
Relacionales con vectores
- PostgreSQL + pgvector: tipos y operadores de vectores, índices IVF/HNSW, integra con tu esquema.
- MySQL (VECTOR / plugins): soporte emergente para tipos vector y ANN según edición/servicio.
Guía de decisión rápida
- < 500k vectores, bajo QPS, sin SLA estricto → Postgres + pgvector.
- 0.5–5M vectores, QPS medio, filtros + reindexado regular → evalúa pgvector HNSW vs. una vector DB.
- > 5M vectores o p95 < 100 ms con alta concurrencia → vector DB dedicada.
- ¿Multimodal o hibridación keyword+vector? → favorece vector DB con soporte nativo de híbrido.
Patrones prácticos
- Híbrido keyword+vector: primero filtra por metadatos/keyword, luego similitud sobre el subconjunto.
- Re-ranking: tras el Top-K por vector, reordena con un LLM o un modelo de ranking más preciso.
- TTL/archivado: mueve embeddings antiguos a almacenamiento frío para ahorrar.
- Idempotencia: calcula un content hash por fragmento para evitar upserts duplicados.
Micro-workflow n8n: “ingesta y búsqueda híbrida”
- Webhook → recibe documento o URL.
- HTTP → extrae texto y metadatos.
- Function → chunking + content hash.
- HTTP → servicio de embeddings → guarda
{vector, texto, metadatos, hash}. - Webhook (consulta) → filtra por metadatos + recupera Top-K por similitud.
- LLM → responde con citas; si baja confianza, pide contexto adicional.
Errores comunes (y cómo evitarlos)
- Embebes documentos completos: usa fragmentos (300–800 tokens) con solapes pequeños.
- Sin metadatos: perderás precisión y gastarás más tokens/tiempo en búsqueda.
- Índice único para todo: separa por tenant/idioma para mejorar calidad y coste.
- No monitorizas recall@K, latencia y coste por query.
Conclusión
Una vector DB no es un fin, es un medio. Usa lo que resuelva tu escala y tus SLA: empieza simple con tu SQL, valida con métricas y, si lo exige el crecimiento, migra a una base vectorial dedicada con índices ANN más avanzados.
← Anterior: Embeddings sin mística: cómo funcionan y por qué son clave
Artículos Relacionados
Continúa explorando contenido similar.
El futuro es híbrido: medicina humana + inteligencia artificial
Leer artículo
La incursión de la Impresión 3D en la creación de implantes médicos
Leer artículo
El impacto transformador de la realidad aumentada en la educación
Leer artículo
Avances en Radiología Móvil: Imágenes precisas en cualquier lugar
Leer artículo
Realidad aumentada y 3D en procedimientos quirúrgicos
Leer artículo
Blockchain médico: la era de la seguridad y trazabilidad absoluta
Leer artículo
Agentes inteligentes: cuándo usarlos y cuándo evitarlos
Leer artículo
Interoperabilidad en salud: cómo lograr que todos los sistemas se hablen
Leer artículo
Historias clínicas inteligentes: el corazón del nuevo sistema sanitario
Leer artículo
Arquitectura mínima para construir tu primer sistema con IA
Leer artículo
Automatización de informes: la nueva era del radiólogo digital
Leer artículo
Detección automática de tumores: algoritmos que ven lo invisible
Leer artículo
Privacidad, PII y cumplimiento: buenas prácticas al trabajar con datos sensibles
Leer artículo