Skip to content

Milvus

Base de datos vectorial distribuida para búsquedas a escala de miles de millones, que ahora consulta vectores en archivos Parquet, Lance e Iceberg allí donde están.

Reseña de Sheela · Actualizado

Ver en GitHub Código abierto

Nuestra nota

4.4/5

Construida para miles de millones de vectores y pagada en esfuerzo operativo; por debajo de unos cientos de millones, es más base de datos de la que necesitan la mayoría de los equipos.

¿Qué es Milvus?

Milvus es una base de datos vectorial de código abierto escrita en Go y C++, construida como servicios separados de almacenamiento, indexación y consulta para que cada uno escale por su cuenta. Admite vectores densos y dispersos, búsqueda de texto completo BM25, muchos tipos de índice y filtrado por campos escalares.

Milvus 3.0.0, publicada el 29 de julio de 2026, añade un diseño nativo para data lakes: las External Collections consultan archivos Parquet, Lance, Iceberg o Vortex en almacenamiento de objetos sin copiarlos dentro. También rehízo el índice disperso y añadió campos TEXT largos, búsqueda facetada, cambios de esquema en línea y caducidad por fila. El último parche, 3.0.3, salió el 14 de octubre de 2026.

Zilliz, la empresa detrás de Milvus, vende el servicio gestionado Zilliz Cloud.

¿Merece la pena Milvus?

Milvus es la base de datos vectorial de código abierto diseñada desde el principio para colecciones muy grandes, y su arquitectura es el argumento. El almacenamiento, la indexación y las consultas funcionan como servicios separados, así que cada uno escala por su cuenta. Ese diseño explica que tenga seguidores para cargas de miles de millones de vectores y unas 46.500 estrellas en GitHub, más que Qdrant o Weaviate.

La versión 3.0, publicada en julio de 2026, hace una apuesta propia: las External Collections indexan y buscan archivos Parquet, Lance, Iceberg o Vortex que ya están en almacenamiento de objetos, de modo que los embeddings que produce un pipeline de datos no tienen que copiarse. Zilliz dice que el índice BM25 rehecho es unas tres veces más pequeño que en la 2.6 y que un nuevo algoritmo disperso alcanza hasta diez veces el rendimiento anterior; son cifras del fabricante, y Zilliz también gestiona VDBBench, la clasificación en la que Milvus suele salir bien parado. Los nuevos formatos de almacenamiento son opcionales y, una vez activados, impiden volver a la 2.6.

La documentación es franca con el hardware. Un clúster pide como mínimo 8 núcleos y 32 GB de RAM, con 128 GB recomendados, discos NVMe, y etcd en un almacenamiento lo bastante rápido para un fsync por debajo de 10 ms. El modo standalone en Docker Compose sigue ejecutando etcd y MinIO junto a Milvus.

Los valores de seguridad por defecto merecen atención. La autenticación de usuarios está desactivada hasta que defines authorizationEnabled, y la contraseña de root por defecto es Milvus. En febrero de 2026 un aviso crítico (CVE-2026-26190, CVSS 9,8) mostró que el puerto de métricas 9091 exponía una API REST sin autenticar incluso con la autenticación activada; se corrigió en 2.5.27 y 2.6.10, y el aviso señala que muchos de esos puertos eran accesibles desde internet. Qdrant exige mucho menos a quienes lo operan, y esa es la comparación real para cualquier cosa por debajo de unos cientos de millones de vectores.

Dónde se gana su sitio

  • Un equipo de plataforma de un marketplace con 800 millones de embeddings de productos

    Servir búsqueda por similitud filtrada con latencia de producción sin particionar a mano

    Desplegar el clúster con Helm o el Milvus Operator, dimensionar los nodos de consulta por separado de los de índice y filtrar por campos escalares como categoría y precio. Hay que contar con dedicación continua de un ingeniero de plataforma y nodos de la clase de 128 GB; Zilliz Cloud es la alternativa si falta esa plantilla.

  • Un equipo de ingeniería de datos cuyos embeddings acaban en tablas Iceberg

    Buscar en datos del lakehouse sin mantener un segundo pipeline de copia

    Apuntar una External Collection de la 3.0 a los archivos Parquet o Iceberg en S3 e indexarlos donde están. Elimina un trabajo de ingesta, pero es nuevo en la 3.0 y el cambio de formato impide volver a la 2.6.

  • Un responsable de ingeniería que presupuesta un corpus RAG de 100 millones de vectores

    Decidir entre alojarlo por su cuenta y pagar a Zilliz

    Con las tarifas Dedicated publicadas por Zilliz para vectores de 768 dimensiones, 100 millones de vectores cuestan desde unos 6.300 $ al mes con optimización para rendimiento, 1.600 $ con optimización para capacidad o 500 $ con almacenamiento por niveles, antes de réplicas. Hay que compararlo con un clúster propio más el tiempo del personal.

Antes de decidirte

Puesta en marcha
Standalone: descargar el archivo compose de la v3.0.3 y ejecutar docker compose up -d, que arranca etcd, MinIO y Milvus en el puerto 19530. Producción: Helm 3 en Kubernetes 1.16 o posterior, con Woodpecker como cola de mensajes incluida y Pulsar opcional.
Integraciones
SDK de Python (pymilvus 3.0.2), Java, Go y Node más una API REST; Milvus Lite se ejecuta dentro del proceso para prototipos. Las External Collections leen Parquet, Lance, Iceberg y Vortex en almacenamiento de objetos.
Datos y privacidad
Milvus autoalojado no envía nada a Zilliz; los datos viven en tu almacenamiento de objetos y en etcd. La autenticación hay que activarla a mano y cambiar la contraseña de root, Milvus. Mantén privado el puerto 9091: CVE-2026-26190 (CVSS 9,8) exponía ahí una API sin autenticar antes de 2.5.27/2.6.10, y un fallo de importación de 2026 que se saltaba el RBAC de las colecciones se corrigió en la 3.0.3.
Coste a escala
Autoalojado: la documentación recomienda 8 o más núcleos y 128 GB de RAM por clúster, con NVMe. Zilliz Cloud Dedicated empieza en 63 $ por millón de vectores al mes con optimización para rendimiento, 16 $ para capacidad y 5 $ por niveles; el nivel gratuito da 5 GB y hasta 5 colecciones, y Enterprise empieza en 197 $ al mes con SSO y endpoints privados.
Límites
Unas 1.450 incidencias abiertas. Las actualizaciones entre versiones mayores requieren cuidado (los formatos de la 3.0 son de un solo sentido), y la superficie operativa (etcd, almacenamiento de objetos, cola, varios tipos de nodo) es mucho mayor que la de Qdrant o pgvector.

Lo bueno

  • Servicios separados de almacenamiento, índice y consulta que escalan de forma independiente
  • Busca en archivos Parquet, Lance e Iceberg sin moverlos (3.0)
  • Búsqueda densa, dispersa y de texto completo BM25 en un solo motor
  • Apache 2.0, con Zilliz Cloud como salida gestionada

Lo malo

  • Un clúster pide 32 GB de RAM como mínimo, 128 GB recomendados, más Kubernetes
  • Autenticación desactivada por defecto; la contraseña de root es Milvus
  • La mayoría de los benchmarks publicados vienen de Zilliz
  • Los formatos de almacenamiento de la 3.0 impiden volver atrás una vez activados

Ideal para

Equipos de plataforma que operan búsqueda vectorial con cientos de millones o miles de millones de vectores.

Alternativas a Milvus

Milvus: preguntas frecuentes

¿Merece la pena Milvus?
Construida para miles de millones de vectores y pagada en esfuerzo operativo; por debajo de unos cientos de millones, es más base de datos de la que necesitan la mayoría de los equipos. Le damos un 4.4 sobre 5.
¿Cuánto cuesta Milvus?
Gratuito y de código abierto bajo Apache 2.0. Zilliz Cloud es el servicio gestionado: nivel gratuito (5 GB, cinco colecciones), Dedicated desde 63 $, 16 $ o 5 $ por millón de vectores de 768 dimensiones al mes (rendimiento, capacidad o almacenamiento por niveles), Enterprise desde 197 $ al mes, Business Critical bajo presupuesto.
¿Qué inconvenientes tiene Milvus?
Un clúster pide 32 GB de RAM como mínimo, 128 GB recomendados, más Kubernetes; autenticación desactivada por defecto; la contraseña de root es Milvus; la mayoría de los benchmarks publicados vienen de Zilliz; los formatos de almacenamiento de la 3.0 impiden volver atrás una vez activados.
¿Para quién es Milvus?
Equipos de plataforma que operan búsqueda vectorial con cientos de millones o miles de millones de vectores.
¿Cuánto cuesta Milvus para un equipo o en producción?
Autoalojado: la documentación recomienda 8 o más núcleos y 128 GB de RAM por clúster, con NVMe. Zilliz Cloud Dedicated empieza en 63 $ por millón de vectores al mes con optimización para rendimiento, 16 $ para capacidad y 5 $ por niveles; el nivel gratuito da 5 GB y hasta 5 colecciones, y Enterprise empieza en 197 $ al mes con SSO y endpoints privados.
¿Es Milvus seguro para los datos de la empresa?
Milvus autoalojado no envía nada a Zilliz; los datos viven en tu almacenamiento de objetos y en etcd. La autenticación hay que activarla a mano y cambiar la contraseña de root, Milvus. Mantén privado el puerto 9091: CVE-2026-26190 (CVSS 9,8) exponía ahí una API sin autenticar antes de 2.5.27/2.6.10, y un fallo de importación de 2026 que se saltaba el RBAC de las colecciones se corrigió en la 3.0.3.
¿Cuáles son las mejores alternativas a Milvus?
Las alternativas más cercanas que hemos analizado son Qdrant, Weaviate, pgvector y LanceDB.

Respuestas comprobadas el 26 oct 2026.