Comparativa completa de bases de datos vectoriales

Tabla única con los siete motores de la serie: escala, filtrado, híbrido, operativa, licencia y coste.

Comparativa completa de bases de datos vectoriales
Foto de RDNE Stock project en Pexels

Entrega de referencia del bloque de plataformas. Las cinco anteriores han recorrido los criterios de elección y cada familia de opciones por separado. Esta las pone todas en una sola tabla, con la advertencia de siempre: las capacidades de estos productos cambian, así que confirma lo que te importe antes de comprometerte.

Antes de la tabla, tres notas para leerla bien.

La escala razonable es un orden de magnitud, no un límite duro: es el volumen de vectores que el motor gestiona sin exigir una arquitectura especial ni hardware fuera de lo común. Con cuantización agresiva y reordenación, casi todos suben un escalón. La operativa requerida mide el trabajo humano recurrente, que es el coste que nadie apunta. Y el perfil de coste describe la forma de la curva de gasto, no su altura.

La tabla

Motor Despliegue Licencia Escala razonable Filtrado Híbrido nativo Cuantización Operativa Perfil de coste
pgvector Extensión de PostgreSQL, autoalojada o gestionada Abierta, permisiva Millones; decenas con pgvectorscale SQL completo; degrada con filtros muy selectivos No; se compone con tsvector y SQL Media precisión y binarios; DiskANN vía extensión Nula si ya operas Postgres Coste marginal sobre lo que ya pagas
Qdrant Binario o contenedor único; clúster opcional Abierta, permisiva Decenas de millones Muy expresivo, integrado en el recorrido Sí, con vectores dispersos y fusión Escalar, producto y binaria, con reordenación Baja en nodo único Coste de máquina; memoria dominante
Weaviate Contenedor único o clúster Abierta, permisiva Decenas de millones Bueno, sobre esquema tipado Sí, de primera clase Escalar, producto y binaria Media; módulos que configurar Coste de máquina, más el de los modelos que integre
Milvus Embebido, autónomo o clúster distribuido Abierta, permisiva Cientos de millones y más Bueno, expresiones sobre campos escalares Sí, con vectores dispersos Amplia, con varias familias de índice Alta en clúster Coste de plataforma; escala por componente
Pinecone Servicio gestionado, sin opción autoalojada Propietaria Miles de millones Bueno, con espacios de nombres para aislamiento Sí, con índices dispersos Gestionada por el servicio Ninguna Suscripción: aprovisionado o por operación
Chroma Embebida en el proceso; modo servidor disponible Abierta, permisiva Cientos de miles Sencillo, sobre metadatos Parcial No Ninguna embebida; media en modo servidor Prácticamente nulo
LanceDB Embebida sobre formato columnar; versión gestionada Abierta, permisiva Millones en lectura; escritura de un solo proceso Expresiones tipo SQL Sí, con fusión incorporada Sí, con índices sobre disco Ninguna embebida Coste de almacenamiento; sin servidor que pagar

Faiss no aparece en la tabla a propósito. Como se explicó en la entrega 32, es una biblioteca de índices y no una base de datos: no tiene metadatos, ni filtrado, ni persistencia gestionada, y compararlo con los siete anteriores en estas columnas produce una fila engañosa. Su sitio es dentro de un sistema que tú construyes, no en lugar de uno.

Cuatro recomendaciones por escenario

Prototipo o prueba de concepto

Chroma embebida, o LanceDB si el conjunto es grande. Cero infraestructura, todo en un directorio, y el primer resultado en una tarde. El objetivo en esta fase es descubrir si el troceado, los metadatos y el prompt funcionan; cualquier minuto dedicado a montar un motor es un minuto restado a eso.

La condición para que esta elección no salga cara después: aísla el acceso al índice tras cuatro funciones desde la primera línea, y guarda el corpus procesado fuera del índice. Con eso, la migración cuando llegue es una tarde, no un proyecto.

Pyme o equipo que ya tiene PostgreSQL

pgvector, y hace falta un argumento fuerte para no hacerlo. Un solo sistema, transacciones entre tus documentos y sus vectores, las copias de seguridad que ya haces, los permisos que ya tienes y una persona de guardia que depura una tecnología que conoce. Hasta unos pocos millones de vectores, con HNSW bien configurado y ef_search ajustado por tipo de consulta, cubre lo que la mayoría de estos proyectos necesitan.

Cuándo no: si el filtrado es muy selectivo y dominante —multi-inquilino con miles de clientes, permisos granulares por usuario—, ahí el motor dedicado gana con claridad y conviene reconocerlo pronto.

Producto con millones de vectores y equipo de operaciones

Qdrant en la mayoría de los casos; Milvus si de verdad vas a cientos de millones. Qdrant da filtrado de primera, cuantización con reordenación e híbrido nativo con una operativa que en nodo único es sencilla, y eso cubre el grueso de los productos reales. Milvus es la respuesta cuando el volumen es de otro orden y ya tienes la plataforma distribuida que su arquitectura da por supuesta; si no la tienes, su complejidad se come el proyecto.

Weaviate entra aquí cuando la prioridad es escribir menos código propio: si quieres que el motor vectorice, busque en híbrido y reordene, es el que más trabajo te quita, a cambio de acoplar tu arquitectura a sus módulos.

Equipo sin operaciones

Gestionado, y sin complejos. Si nadie tiene guardia, nadie ha restaurado nunca una copia de seguridad y nadie va a actualizar el motor, el autoalojado no es más barato: es un incidente aplazado. Dentro del gestionado, el orden de preferencia es claro: primero, el vectorial de una base de datos que ya pagas —Atlas Vector Search, Elasticsearch, un Postgres gestionado con pgvector—, porque evita sincronizar dos sistemas; después, el gestionado de un motor abierto, porque conserva la puerta de salida; y en último lugar el servicio sin equivalente autoalojable, que es el que más comodidad da y más dependencia crea.

Cómo usar esta tabla sin equivocarse

Tres advertencias, en orden de importancia.

La primera y la que más veces se ignora: esta decisión no mueve la calidad de las respuestas. Los siete implementan esencialmente el mismo algoritmo y devuelven vecinos casi idénticos con los mismos parámetros. Si tu sistema responde mal, el problema está en el troceado, en los metadatos, en la estrategia de recuperación o en el prompt, y cambiar de motor no lo va a tocar. La calidad de la recuperación pone el techo, y ese techo lo fija lo que hiciste en los bloques anteriores.

La segunda: las columnas de esta tabla envejecen a ritmos distintos. Licencia y modelo de despliegue son estables; escala, cuantización y capacidades de filtrado cambian con cada versión mayor, y la estructura de precios de los gestionados se ha reescrito entera más de una vez. Trata la tabla como un mapa para orientarte, no como una hoja de especificaciones.

La tercera: la única prueba que vale es la tuya. Coge el conjunto de evaluación que construiste para elegir embeddings, cárgalo en dos candidatos, ejecuta tus consultas reales con tus filtros reales y mide recall y latencia. Media jornada de trabajo, y sustituye cualquier comparativa publicada, incluida esta.

Y una cuarta, de método: no reduzcas la prueba a lanzar consultas sin filtro contra un índice recién cargado. Ese escenario es el más favorable posible y el que menos se parece al tuyo. Prueba con el filtro que vas a usar de verdad, con el índice ya poblado al volumen que esperas y con inserciones ocurriendo a la vez, porque es precisamente ahí donde los siete dejan de comportarse igual. Si sólo puedes medir una cosa, mide el recall bajo filtro selectivo.

Qué viene ahora

Cerrada la cuestión de dónde viven los vectores, quedan dos entregas sobre quién coordina el flujo. La siguiente examina los orquestadores —LangChain, LangGraph y LlamaIndex—: qué abstrae cada uno, dónde se solapan, qué cuesta la abstracción en depuración y con qué tipo de flujo encaja cada uno.

Los tres libros gratuitos de los que nace esta serie están disponibles en PDF y EPUB: RAG para tu negocio (nivel básico), RAG por dentro (intermedio) y RAG en producción (avanzado).


Aviso de contenido generado con inteligencia artificial.
Este artículo ha sido redactado con la asistencia de sistemas de inteligencia artificial y revisado antes de su publicación. Se informa de ello de forma expresa en cumplimiento de la normativa vigente sobre transparencia en el uso de IA.