Tecnologías de Retail Rocket
Tecnologías de Retail Rocket
La visión del equipo de ingenieros de software de Retail Rocket es cambiar el mundo del e-commerce y hacerlo verdaderamente personalizado.
Solicita una demoRetail Rocket en cifras:
-
Clúster analítico con más de 250 servidores en 6 centros de datos diferentes
-
Más de 230 millones de visitantes únicos utilizan mensualmente los sitios web de nuestros clientes
-
Más de 1.000 empresas están conectadas a Retail Rocket en todo el mundo
-
Nuestros servidores procesan más de 450.000 solicitudes API externas por minuto
-
Solicitudes API por segundo en el punto álgido: 15,000+
-
Más de 200 años de trabajo invertidos en el desarrollo de la plataforma
-
Máxima seguridad en almacenamiento de datos: cero pérdida de información en 8 años
Enfoque de Data Science
La esencia del trabajo de Retail Rocket es identificar las necesidades del visitante de una tienda analizando su comportamiento (clickstream, consultas de búsqueda, historial de pedidos, etc.). Además nos centra en la matriz de productos del minorista para personalizar las comunicaciones en cualquier canal (sitio web, aplicación móvil, correo electrónico, SMS, etc.). Para formar recomendaciones personalizadas, nuestro equipo de data science desarrolló un fundamento matemático escalable. Son varios los enfoques que utilizamos hoy en día:
- Filtrado de contenidos;
- Estadística bayesiana;
- Filtrado colaborativo;
- Algoritmos de personalización híbridos en tiempo real;
- Análisis predictivos basados en el aprendizaje automático y las cadenas de Markov;
- Muchos otros.
Pila tecnológica
Plataforma analítica
Para el aprendizaje automático utilizamos Spark, basado en la plataforma Hadoop Yarn, un sistema de computación en clúster que es el más adecuado para nuestras tareas actuales. En cuanto a los componentes nativos de Hadoop, contamos con Apache Kafka para la entrega de datos, la biblioteca distribuida de Machine Learning Mahout y el programador de tareas Oozie.
El equipo de RetailRocket tiene un repositorio en GitHub con muchos proyectos interesantes: un motor para tests A/B en JavaScript, una biblioteca Spark MultiTool en Scala, scripts para desplegar un cluster Hadoop usando Puppet y otros.
Frontend
Casi todo lo que recibe el usuario final se procesa en clusters de servidores linux, el código está escrito en C#, Asp.Net MVC. Todos los datos se almacenan y distribuyen en tres sistemas de gestión de bases de datos: Redis, MongoDB y PostgreSQL.
Cuando necesitamos asegurar la interacción de los componentes distribuidos, por ejemplo, al calcular un segmento de usuarios, se utiliza Thrift. Y para que varios subsistemas reciban un flujo de datos de los almacenes en línea, se utiliza el transporte Kafka mencionado anteriormente.
Proceso de desarrollo
En el desarrollo, nuestro equipo se ciñe a la metodología de entrega continua de nuevas funcionalidades a los clientes (más de 2.000 tiendas están actualmente conectadas a nosotros).
Utilizamos un paquete de Git + GitLab con las pruebas unitarias (a principios de 2021, tenemos más de 3.000+ pruebas), pruebas de aceptación y revisión de código.