Cómo un importante minorista en línea indio escaló la coincidencia de productos con Milvus

75% menos uso de memoria
Trasladamos los embeddings de la RAM al almacenamiento de objetos, eliminando la memoria como cuello de botella para el escalado.
Tiempos de procesamiento 6 veces más rápidos
Reduje la comparación de catálogos de días a horas en búsquedas a gran escala.
~200ms de latencia
Ofreció una mayor precisión a escala mientras cumplía estrictos objetivos de latencia.
Mayor flexibilidad operativa
El escalado independiente de nodos elimina las reconstrucciones completas del índice durante las actualizaciones.
Acerca de la empresa
El cliente es una de las plataformas de comercio minorista en línea más grandes de la India, a menudo conocida como el “Amazon de la India”, que atiende a una audiencia nacional en categorías como electrónica, moda, comestibles y artículos esenciales para el hogar. Más allá de su marketplace orientado al consumidor, la empresa también opera una división SaaS que ofrece soluciones de comercio integrales para empresas y vendedores en línea. Un componente clave de esta oferta es un sistema de inteligencia de precios que ayuda a los minoristas a mantenerse competitivos en un mercado donde el precio sigue siendo uno de los factores que más influyen en la toma de decisiones de los clientes.
Sin embargo, respaldar precios precisos y en tiempo real a escala nacional introdujo importantes desafíos de ingeniería. El equipo necesitaba emparejar productos en un catálogo digital en constante expansión —que crecía de unos pocos millones de SKU a decenas de millones— y actualizarlos diariamente en varios competidores grandes, cada uno con amplios inventarios propios. Este crecimiento explosivo sobrecargó la arquitectura existente basada en palabras clave y FAISS, elevando los costos de infraestructura y ralentizando los ciclos de actualización.
Para abordar estos cuellos de botella, el equipo migró su canalización de emparejamiento de productos a la base de datos vectorial Milvus. Con la indexación basada en disco y la arquitectura distribuida de Milvus, redujeron significativamente los tiempos de procesamiento y disminuyeron los costos operativos, lo que permitió un sistema más escalable, sostenible y de alto rendimiento para la gestión de precios de nivel empresarial.
El desafío: escalar el emparejamiento de productos a nivel empresarial
La plataforma de inteligencia de precios de la empresa se basa en tres módulos principales: inteligencia competitiva (seguimiento de precios de la competencia mediante scraping y emparejamiento de productos), precios dinámicos (ajustes basados en reglas según señales del mercado) e inteligencia de surtido (identificación de brechas en el catálogo de un minorista). A medida que la plataforma incorporó más clientes empresariales, el motor de emparejamiento de productos que sustenta estas capacidades comenzó a mostrar signos de tensión.
Los minoristas gestionaban más de 20 millones de SKU, actualizados diariamente o incluso cada hora, mientras rastreaban a 10 o más competidores. Cada catálogo de competidor añadía otros 5 millones de SKU para rastrear y comparar, creando una carga de trabajo que crecía casi exponencialmente.
Además de la escala, los datos no estructurados en sí eran desordenados: imágenes de productos en resoluciones inconsistentes, descripciones escritas en diferentes estilos y la necesidad de admitir tanto coincidencias exactas como variantes “suficientemente parecidas”.
La precisión también era crítica. Incluso una pequeña tasa de error podía afectar negativamente las recomendaciones de precios, haciendo que los minoristas perdieran ventas cuando los artículos tenían precios demasiado altos, perdieran dinero cuando tenían precios demasiado bajos o se quedaran con inventario que no se mueve, reduciendo directamente los ingresos y erosionando la confianza de los minoristas en el sistema.
La optimización de recursos presentaba otro obstáculo importante. El sistema necesitaba gestionar eficientemente los recursos computacionales, incluidos CPU, memoria y almacenamiento, para el procesamiento y las consultas continuas de datos a una escala empresarial masiva.
La arquitectura heredada, construida sobre un índice en memoria basado en FAISS de un solo servidor, simplemente no estaba diseñada para este nivel de crecimiento de datos. Los embeddings de la competencia se almacenaban en disco local y luego se cargaban periódicamente en memoria para la búsqueda de similitud. Aunque funcionaba con volúmenes más pequeños, el diseño colapsó a escala. El uso de memoria se disparó: almacenar alrededor de 20 millones de embeddings de 1.024 dimensiones requería casi 400 GB de RAM, lo que provocó un aumento brusco de los costos de infraestructura. El rendimiento también se degradó, con ciertos trabajos de procesamiento de extremo a extremo tardando hasta 12 días en completarse. Para los clientes que esperaban información competitiva oportuna, el sistema claramente había alcanzado sus límites.
Evaluación de caminos para escalar y elección de Milvus
Ante estas limitaciones críticas, el equipo de ingeniería consideró tres posibles caminos para abordar sus desafíos de escalabilidad.
Escalado vertical: pasar a VM más grandes y con mayor consumo de memoria. Si bien esta opción podría cumplir temporalmente los requisitos de rendimiento, las limitaciones físicas de la solución volverían a surgir rápidamente, lo que llevaría a un aumento significativo de los costos. Claramente, esto era simplemente una solución provisional.
Extender su base de datos SQL con funcionalidad de búsqueda vectorial. Desde una perspectiva de integración, este enfoque era atractivo, pero el equipo comprendió rápidamente los riesgos: sobrecargar su base de datos SQL principal podría ralentizar tanto las operaciones transaccionales como las consultas vectoriales, socavando la fiabilidad de todo el sistema.
Adoptar una base de datos vectorial dedicada diseñada para búsqueda por similitud a escala. Esta resultó ser la opción más prometedora. El equipo ejecutó benchmarks exhaustivos en Milvus, Pinecone, Qdrant y Weaviate, probando su velocidad de inserción, latencia de consulta, precisión de filtrado y flexibilidad de despliegue. En estas evaluaciones, Milvus surgió como el líder claro.
Por qué Milvus: factores clave de decisión
Durante la evaluación, Milvus surgió como la única solución que cumplía todos los requisitos, ya que abordaba directamente los desafíos de escalado y costos de la plataforma. A continuación se presentan los factores clave:
La arquitectura distribuida de Milvus permitió el escalado horizontal y una utilización eficiente de los recursos, lo que dio al equipo la flexibilidad para gestionar miles de millones de embeddings sin sobredimensionar la infraestructura. Además, el diseño ajustable de Milvus permitió al equipo de ingeniería optimizar el sistema para satisfacer las demandas exactas de carga de trabajo de sus aplicaciones.
Un segundo diferenciador fue DiskANN, el algoritmo de indexación basado en disco de Milvus. Al reducir los requisitos de memoria hasta en un 75% en comparación con métodos en memoria como HNSW, DiskANN hizo que la búsqueda a gran escala no solo fuera viable, sino también rentable. Combinado con el soporte para almacenamiento de objetos como S3, esto proporcionó a la plataforma una base escalable y asequible.
Por último, las capacidades de prefiltrado de Milvus se alinearon perfectamente con la estrategia de optimización de búsqueda del equipo, lo que les permitió reducir los conjuntos de candidatos por categoría, marca o precio antes de realizar una búsqueda vectorial. Esto redujo significativamente el espacio de búsqueda, mejorando tanto el rendimiento como la precisión.
La solución: construir correspondencia de productos a escala con Milvus
Tras seleccionar Milvus, el equipo de ingeniería del cliente diseñó una nueva arquitectura optimizada tanto para la escala como para la precisión.
El pipeline comienza con la ingesta de datos, donde los catálogos de clientes y los datos de competidores se rastrean y almacenan. Luego, una capa de normalización procesa datos desordenados y no estructurados, como imágenes y descripciones de productos inconsistentes, en formatos estandarizados. Después, los modelos propios de machine learning del equipo, entrenados explícitamente con datos de comercio electrónico, generan vectores de 1024 dimensiones con floats de 4 bytes que capturan los atributos clave de cada producto. Estos embeddings se indexan y almacenan en Milvus, donde la búsqueda por similitud compara los embeddings de productos del cliente con los catálogos de competidores utilizando similitud coseno en un espacio de alta dimensionalidad.
El pipeline de búsqueda sigue un proceso de múltiples etapas. Comienza con el prefiltrado basado en atributos estructurados como categoría, marca y rango de precios, reduciendo el conjunto de candidatos. Luego, Milvus realiza una búsqueda de similitud vectorial dentro de este subconjunto filtrado, seguida del posprocesamiento y la puntuación de los resultados. Por último, un filtro basado en umbrales genera recomendaciones, con revisión manual aplicada a las coincidencias de alta confianza. Este enfoque por capas logra un equilibrio entre automatización y supervisión, garantizando tanto velocidad como precisión a escala empresarial.
Al adoptar Milvus, el equipo aceleró los ciclos de correspondencia de productos a la vez que redujo significativamente los costos de infraestructura. Más importante aún, establecieron una base preparada para el futuro, capaz de respaldar a clientes empresariales con catálogos masivos y entornos competitivos altamente dinámicos.
Los resultados: emparejamiento de productos escalable, rentable y preciso
Migrar a Milvus transformó la forma en que la plataforma de inteligencia de precios gestiona el emparejamiento de productos a escala empresarial. Lo que antes estaba limitado por restricciones de memoria, largos ciclos de procesamiento y operaciones rígidas se ha convertido en algo eficiente, preciso y listo para escalar con el crecimiento empresarial.
Menores costos de infraestructura: La configuración anterior de FAISS requería cargar todos los embeddings en memoria, lo que hacía que el escalado fuera caro y poco práctico. Al pasar a Milvus, el equipo de ingeniería del cliente redujo los requisitos de memoria hasta en un 75%, trasladando el almacenamiento a buckets de S3 y GCP. Lo que antes era una barrera de costos es ahora una base sostenible para la expansión.
Tiempos de procesamiento 6 veces más rápidos: Los grandes trabajos de emparejamiento de catálogo a catálogo que antes se extendían hasta 12 días ahora terminan en unos 2 días en 20M búsquedas. Aunque sigue siendo un proceso por lotes, esta mejora de seis veces garantiza que la inteligencia competitiva se mantenga lo suficientemente actualizada como para informar decisiones de precios en tiempo real.
Mayor precisión a escala: Para la fijación de precios, la precisión es innegociable. Milvus ofreció mayor precisión que alternativas como HNSW, al tiempo que cumplía el objetivo de latencia de ~200ms del equipo para consultas por lotes. Al combinar filtros estructurados (categoría, marca, precio) con búsqueda por similitud vectorial, el equipo minimizó los desajustes costosos y generó confianza en sus recomendaciones.
Mayor flexibilidad operativa: Con Milvus, el equipo ya no necesita reconstrucciones completas del índice para gestionar actualizaciones. Su arquitectura distribuida permite que los nodos de consulta, índice y datos escalen de forma independiente. Una integración híbrida con MySQL optimizó aún más el flujo de trabajo, combinando el filtrado estructurado con la búsqueda vectorial para lograr la máxima eficiencia.
Conclusión
Para el equipo detrás de esta plataforma, un mejor emparejamiento de productos significó más que un procesamiento más rápido: creó una base más sólida para todo su motor de precios. Al adoptar Milvus, obtuvieron la capacidad de gestionar catálogos enormes y desordenados con precisión y a un costo sostenible. Utilizando DiskANN para la indexación, una arquitectura distribuida autoalojada para escalar y un enfoque híbrido integrado con sus bases de datos existentes, el equipo construyó un sistema que es práctico y resiliente a la vez.
Este cambio les ha permitido ofrecer información competitiva fiable y recomendaciones de precios en las que los clientes empresariales pueden actuar con confianza. A medida que los catálogos de comercio electrónico crecen y la competencia se intensifica, esta experiencia demuestra que las bases de datos vectoriales ofrecen un enfoque práctico para lograr tanto escala como precisión, cualidades que ahora son esenciales para mantenerse competitivo en mercados que evolucionan rápidamente.
- Acerca de la empresa
- El desafío: escalar el emparejamiento de productos a nivel empresarial
- Evaluación de caminos para escalar y elección de Milvus
- La solución: construir correspondencia de productos a escala con Milvus
- Los resultados: emparejamiento de productos escalable, rentable y preciso
- Conclusión
Contenido
Caso de uso
Industria
Comercio electrónico


