Nuestro interés es despreciable y se declara por formalidad: somos Geonode y vendemos proxies, que no tienen nada que ver con nada de esto. No ganamos nada sea cual sea la opción que elijas, una posición más rara en esta categoría de lo que debería ser — la mayoría de las comparaciones de este tipo las publica uno de los proveedores comparados. Cada cifra de abajo sale de la página de precios o el repositorio del propio proveedor, comprobada en septiembre de 2026, y las licencias salen de los repositorios de los proyectos, no de páginas de marketing.
Cuatro Categorías, No Una
Antes de comparar productos, aclara en qué categoría estás comprando. No se sustituyen entre sí.
Bases de datos vectoriales gestionadas. Pinecone, Qdrant Cloud, Weaviate Cloud, Zilliz Cloud, Chroma Cloud. Envías datos y consultas; otra persona opera el índice. Encaja con escala, multi-tenancy y equipos que prefieren no operar infraestructura distribuida.
Bases de datos vectoriales autohospedadas. Qdrant, Weaviate, Milvus, Chroma: las cuatro son open source y se pueden ejecutar en tu hardware. Encaja con requisitos de residencia de datos, costes previsibles a escala y organizaciones que ya operan infraestructura.
Extensiones de una base que ya tienes. pgvector añade búsqueda por similitud vectorial a Postgres. Encaja en el caso muy común en el que ya operas Postgres y añadir un segundo almacén es la parte cara.
Ninguna base. Un array en memoria, o una biblioteca embebida. Encaja con corpus pequeños, que son más de los que la gente espera.
El resto de este artículo recorre esa lista.
Las Opciones Gestionadas
Precios de la página de precios de cada proveedor, comprobados en septiembre de 2026. Verifica antes de presupuestar: esta categoría cambia de precio a menudo.
| Servicio | Capa gratuita | Entrada de pago | Modelo |
|---|---|---|---|
| Pinecone | 2 GB, 2M writes, 1M reads/mes | 20 $/mes fijos (Builder) | Uso: 0,33 $/GB de almacenamiento, 4–4,50 $/M writes, 16–18 $/M reads |
| Weaviate Cloud | 100 mil objetos, 1 GB de memoria, 1 clúster | 45 $/mes (Flex) | Desde 0,00465 $ por 1M de dimensiones, desde 0,12 $/GiB de almacenamiento |
| Chroma Cloud | 5 $ en créditos (Starter) | 250 $/mes (Team) | 2,50 $/GiB write, 0,33 $/GiB/mes de almacenamiento, 0,0075 $/TiB consultado |
| Qdrant Cloud | 0,5 vCPU, 1 GB RAM, 4 GB disco | Basado en uso (Standard) | Basado en recursos; cifras vía su calculadora |
Leer esas filas en paralelo es instructivo, porque las unidades de facturación no son comparables.
Pinecone factura unidades de lectura y escritura. Weaviate factura por millón de dimensiones de vector, así que un embedding de 1536 dimensiones cuesta el doble que uno de 768 para el mismo registro: la elección del modelo es una decisión de coste directa. Chroma factura por GiB escrito y por TiB consultado. Qdrant factura por recursos aprovisionados.
No hay forma de comparar esto por tarifas de titular. La única comparación significativa es modelar tu propia carga — recuento de registros, recuento de dimensiones, volumen de consultas, almacenamiento — contra cada calculadora de precios. Eso es una hora de trabajo y produce de forma rutinaria diferencias de orden de magnitud en cualquier dirección según la forma de la carga.
Dos notas estructurales merecen extraerse.
La capa gratuita de Weaviate es genuinamente generosa para evaluación — 100.000 objetos, "always free", un clúster por usuario — y su precio por dimensiones recompensa modelos de embedding más pequeños de un modo que los demás no.
El plan Team de Chroma empieza en 250 $/mes más uso, un suelo bastante más alto que los otros. El plan Starter es 0 $/mes más uso con 5 $ en créditos, así que la rampa de entrada es suave y el salto siguiente no lo es.
Las Opciones Autohospedadas
Las cuatro grandes bases vectoriales open source son genuinamente open source, y las licencias difieren de formas que importan para uso comercial. Esto sale de los repositorios de los propios proyectos, comprobado en septiembre de 2026.
| Proyecto | Licencia | Notas |
|---|---|---|
| Qdrant | Apache-2.0 | Escrito en Rust; nube gestionada disponible |
| Milvus | Apache-2.0 | Arquitectura distribuida; Zilliz Cloud es la versión gestionada |
| Chroma | Apache-2.0 | Ligero, amigable para el desarrollador; Chroma Cloud disponible |
| Weaviate | BSD-3-Clause | Nube gestionada disponible; algunos módulos empresariales se licencian por separado |
Las cuatro tienen licencia permisiva, que es el punto importante: ninguna lleva copyleft ni restricción de campo de uso que complique un producto comercial. Conviene afirmarlo porque no es universal en el mundo de las bases de datos, y porque una comprobación de licencia es el tipo de cosa que se salta y luego se convierte en problema en el peor momento.
Eligiendo entre ellas, breve y honesto:
Qdrant es la primera que probar si quieres una base vectorial autohospedada y nada más. Binario único, Rust, operaciones sencillas y huella de recursos pequeña.
Milvus está hecho para distribución y gran escala, con una arquitectura correspondientemente más pesada: varios componentes, una cola de mensajes, object storage. Potente a escala y overhead considerable por debajo.
Chroma es la más fácil para empezar. Corre in-process en desarrollo, lo que hace trivial la primera hora, y escala a un despliegue de servidor.
Weaviate tiene el conjunto de funciones más rico alrededor de la propia base: módulos de embedding, reranking y búsqueda generativa, que es exactamente lo que quieres o más de lo que necesitas.
El resumen honesto es que, para un despliegue autohospedado por debajo de unas decenas de millones de vectores, las cuatro funcionan, las diferencias son operativas más que fundamentales, y el factor decisivo suele ser cuál puede operar tu equipo con holgura.
pgvector: La Respuesta Infravalorada
La opción que encaja en más proyectos que cualquier base vectorial dedicada, y la que menos atención recibe.
pgvector es una extensión de Postgres que añade tipos vectoriales y búsqueda por similitud. Es open source, está ampliamente desplegada y disponible como oferta gestionada en el servicio Postgres de cada nube grande, así que para una parte grande de los equipos no exige infraestructura nueva.
Las ventajas son estructurales, no técnicas:
Una base en vez de dos. Tus vectores viven junto a los datos relacionales, en la misma transacción, con las mismas copias, el mismo control de acceso y el mismo monitoreo. Este ahorro operativo es mayor de lo que suena.
Los joins funcionan. Filtrar resultados vectoriales por cualquier cosa de tu esquema relacional es una cláusula WHERE, no una función de filtro de metadatos con semántica y límites propios.
Ninguna factura adicional, si ya operas Postgres.
La consistencia es gratis. Escribir un registro y su embedding en una transacción elimina toda una clase de bug de sincronización que existe en toda arquitectura de dos bases.
Los límites son reales y conviene conocerlos:
Escala. Maneja bien millones de vectores y no está diseñado para miles de millones. Dónde está el cruce depende de tus patrones de consulta y del hardware, y es más alto de lo que sugiere el discurso.
Tiempos de construcción de índice y memoria para índices aproximados necesitan atención a escala, y afinarlos es una tarea de administración de Postgres, no una preocupación de servicio gestionado.
Menos funciones específicas de recuperación. Sin reranking integrado, sin modelos de embedding hospedados, búsqueda híbrida menos sofisticada que un sistema hecho a propósito, aunque la búsqueda full-text de Postgres cubre buena parte de ese terreno.
La regla práctica: si ya operas Postgres y tienes menos de unos pocos millones de vectores, empieza aquí. Puedes pasar a un sistema dedicado más tarde si creces de más, y la mayoría de los proyectos no lo hacen.
Ninguna Base de Datos
La opción que no cuesta nada y acierta más a menudo de lo que nadie admite.
Por debajo de unos cien mil vectores, la búsqueda por similitud brute-force es lo bastante rápida en hardware corriente. Calcular el producto interno de una consulta contra una matriz 100.000 × 768 es una sola multiplicación de matrices: milisegundos en un portátil, y exacta en vez de aproximada:
import numpy as np
scores = embeddings @ query # embeddings: (n, d), query: (d,)
top = np.argsort(-scores)[:10]
Esa es toda la implementación. Sin servicio, sin construcción de índice, sin factura, sin salto de red y sin error de aproximación.
Las bibliotecas embebidas extienden la misma idea. FAISS y similares manejan millones de vectores en un solo proceso con índices aproximados, dándote la mayor parte del rendimiento de una base vectorial sin operar una.
Cuándo deja de funcionar: cuando los datos ya no caben en memoria, cuando necesitas escrituras concurrentes de varios procesos, cuando necesitas aislamiento multi-tenant, o cuando el volumen de consultas exige escala horizontal. Son umbrales reales y llegan más tarde de lo que la gente espera.
La razón de que importe no es pureza, es diagnóstico. Empezar por lo más simple significa que, cuando la calidad de recuperación es mala —que suele serlo al principio— sabes que la base no es la causa. La estrategia de chunking, la elección del modelo de embedding y la formulación de la consulta dominan la calidad de recuperación, y ninguna mejora con un servicio gestionado.
Qué Diferencia de Verdad
Las tablas de funciones en esta categoría son largas y en su mayoría irrelevantes, porque todo producto hace búsqueda por similitud vectorial de forma adecuada. Cinco cosas realmente difieren, y son las que conviene contrastar con tus requisitos.
Búsqueda híbrida, y cómo se expresa. Combinar similitud semántica con matching exacto de palabras clave es lo que rescata la recuperación en identificadores, códigos de producto y nombres propios raros: los casos en los que la búsqueda puramente vectorial es notoriamente débil. Todos los sistemas soportan ahora alguna forma, y las implementaciones difieren sustancialmente: algunos ejecutan un índice disperso separado que debes mantener, algunos ofrecen BM25 sobre campos de texto declarados, algunos esperan que fusiones dos conjuntos de resultados. Si tu corpus contiene cualquier cosa parecida a código, pruébalo de forma específica en vez de fiarte de una casilla.
Semántica del filtro de metadatos. Todos filtran por metadatos; la pregunta es si el filtro ocurre antes o después de la búsqueda aproximada, y qué hace eso a tus resultados. Post-filtrar un conjunto top-k puede devolver menos de k ítems —o ninguno— cuando el filtro es selectivo, un fallo sorprendente la primera vez que ocurre en una consulta de producción. Pre-filtrar lo evita y cuesta más. Averigua cuál estás recibiendo.
Modelo de multi-tenancy. Namespaces, collections, índices por tenant o un campo de metadatos. Tienen garantías de aislamiento muy distintas y características de rendimiento muy distintas con muchos tenants. Si construyes para muchos clientes, esta es la decisión más difícil de cambiar después.
Comportamiento de update y delete. Algunos sistemas manejan actualizaciones frecuentes con soltura; otros acumulan tombstones y necesitan compactación periódica que afecta a la latencia de consulta. Si tus datos cambian sin parar —en vez de cargarse una vez y leerse— pregunta esto de forma explícita, porque rara vez está en una página de comparación y domina la experiencia operativa.
Consistencia tras la escritura. Si un registro es inmediatamente buscable tras el upsert, o eventualmente. La consistencia eventual es del todo razonable para un corpus de documentos y bastante irrazonable para que los datos del propio usuario aparezcan en sus propios resultados de búsqueda segundos después de crearlos.
Ninguna aparece en la tabla de precios, todas se pueden probar en una capa gratuita, y cualquiera puede ser el motivo de que un sistema que parecía perfecto en el papel no encaje.
Cómo Elegir
Un procedimiento de decisión en vez de una matriz de funciones.
Empieza midiendo la calidad de recuperación en local. Monta un conjunto pequeño de evaluación —veinte o treinta preguntas con respuestas correctas conocidas— y prueba elecciones de chunking y embedding contra él con una implementación en memoria. Eso cuesta un día y determina más sobre el resultado que cualquier elección posterior.
Luego cuenta tus vectores. Por debajo de cien mil, quédate en memoria. Por debajo de unos pocos millones con Postgres ya en marcha, usa pgvector. Por encima, o con multi-tenancy o alto volumen de consultas, mira un sistema dedicado.
Luego decide gestionado o autohospedado. Gestionado si prefieres no operar un índice distribuido y el coste es aceptable. Autohospedado si tienes requisitos de residencia de datos, volumen grande previsible o competencia de infraestructura ya existente.
Luego modela el coste contra tu carga real, porque las unidades de facturación son incomparables y la intuición no vale aquí. El precio por dimensiones, por unidades y por recursos produce respuestas muy distintas para la misma aplicación.
Y comprueba la ruta de migración antes de comprometerte. Los vectores son portátiles —son solo números— pero las funciones de alrededor no. La sintaxis de filtro de metadatos, la configuración de búsqueda híbrida y los modelos de namespace difieren, así que el coste de mover está en el código de la aplicación, no en los datos. Conservar los documentos fuente y el pipeline de chunking convierte cualquier mudanza futura en una reconstrucción, no en un export.
Preguntas Frecuentes
¿Cuál es la mejor alternativa a Pinecone?
No hay una sola respuesta, porque las categorías difieren. pgvector si ya operas Postgres y tienes unos pocos millones de vectores o menos. Qdrant si quieres una base vectorial autohospedada sencilla. Weaviate Cloud o Chroma Cloud si quieres gestionado y sus modelos de precio encajan con la forma de tu carga.
¿Hay una alternativa gratuita a Pinecone?
Varias. Las cuatro grandes bases vectoriales open source —Qdrant, Milvus, Chroma y Weaviate— tienen licencia permisiva y son gratuitas para autohospedar. pgvector es gratuito y corre en el Postgres que quizá ya tengas. Y por debajo de unos cien mil vectores, una implementación NumPy en memoria no cuesta nada.
¿Es pgvector suficiente para sustituir una base vectorial?
Para muchísimas aplicaciones, sí. Maneja millones de vectores, mantiene tus embeddings en la misma transacción y copia que tus datos relacionales, y te deja filtrar con joins SQL ordinarios. No está diseñado para miles de millones de vectores y tiene menos funciones específicas de recuperación, que es donde los sistemas dedicados ganan su sitio.
¿Qué base vectorial es la más barata?
Incontestable sin tu carga, porque las unidades de facturación difieren de forma fundamental: Pinecone factura unidades de lectura y escritura, Weaviate por millón de dimensiones de vector, Chroma por GiB escrito y TiB consultado, Qdrant por recursos aprovisionados. Modela tus propios números contra cada calculadora.
¿Las bases vectoriales open source están listas para producción?
Qdrant, Milvus, Weaviate y Chroma se desarrollan de forma activa, tienen licencia permisiva y están ampliamente desplegadas en producción. La pregunta no es si funcionan, sino si quieres operarlas: eso es lo que venden las versiones gestionadas de cada una.
¿Qué licencias usan las bases vectoriales open source?
Qdrant, Milvus y Chroma son Apache-2.0; el núcleo de Weaviate es BSD-3-Clause. Todas son permisivas, sin copyleft ni restricciones de campo de uso, aunque algunos proveedores licencian módulos empresariales concretos por separado, lo que conviene comprobar si dependes de uno.
¿Necesito una base vectorial para RAG?
No necesariamente. La calidad de recuperación la dominan la estrategia de chunking, la elección del modelo de embedding y la formulación de la consulta, ninguna de las cuales mejora una base. Construye y evalúa primero con una implementación en memoria; añade infraestructura cuando el tamaño del corpus o el volumen de consultas lo exijan de verdad.
¿Qué tan difícil es migrar entre bases vectoriales?
Los vectores se mueven con facilidad: son arrays de números. La dificultad está en el código de la aplicación, porque la sintaxis de filtro de metadatos, la configuración de búsqueda híbrida y los modelos de multi-tenancy difieren. Conservar tus documentos fuente y el pipeline de chunking convierte una migración en una reconstrucción, no en un export.
Conclusión
Lo más útil que hay que saber de esta categoría es que la elección es entre cuatro tipos de cosa, no entre cinco productos. Servicios gestionados, bases autohospedadas, una extensión en la base que ya operas y nada.
Para una parte grande de los proyectos la respuesta es una de las dos últimas. pgvector maneja millones de vectores dentro de la infraestructura que ya operas, con consistencia transaccional y joins SQL que ningún servicio externo puede ofrecer. Y por debajo de unos cien mil vectores, una multiplicación de matrices en memoria es exacta, instantánea y gratuita.
Donde un sistema dedicado está justificado, las opciones open source tienen todas licencia permisiva y son genuinamente de grado de producción —Apache-2.0 para Qdrant, Milvus y Chroma, BSD-3-Clause para Weaviate—, así que autohospedar es una elección real, no un compromiso. Y donde lo quieres gestionado, modela tu propia carga contra la calculadora de cada proveedor, porque las unidades de facturación no son comparables y la misma aplicación puede diferir en un orden de magnitud entre ellas.
Elige lo que elijas, haz el trabajo de calidad de recuperación primero y en local. La base rara vez es lo que hace bueno o malo un sistema de recuperación, y descubrirlo después de firmar un contrato es el camino caro.
