SNCF es el operador ferroviario nacional de Francia. Su misión es simplificar los viajes y, al mismo tiempo, ofrecer servicios de pasajeros y carga sin interrupciones y sostenibles. Una forma de lograrlo es con SNCF Connect, una aplicación diseñada y desarrollada por una organización interna llamada SNCF Connect & Tech. Un tercio de la población de Francia utiliza la aplicación para buscar rutas, reservar tickets y obtener la información más reciente sobre trenes, autobuses y otros modalidades de transporte público.
Esta aplicación es fundamental para el negocio de SNCF. Cada día se venden más de 550,000 tickets a través de la aplicación y el volumen crece rápidamente. Entre 2022 y 2024, las ventas anuales pasaron de 190 millones a 209 millones. También tiene que escalar para manejar los picos estacionales, como el periodo de ventas de Navidad, que comienza en octubre.
“Las ventas de Navidad son el mayor evento comercial del año para SNCF Connect”, dijo Vincent Liboutet. “Da a los pasajeros la oportunidad de planificar sus viajes con antelación. Pueden consultar el horario, encontrar los mejores precios de los tickets y añadir nuevos destinos para asegurarse de que el mayor número posible de personas pueda utilizar el transporte público durante las vacaciones”.
En 2023, la base de datos detrás de SNCF Connect procesaba 1 millón de conexiones por minuto, frente a las 300,000 conexiones por minuto del año anterior. La venta de tickets de primavera, que comienza a finales de enero, es otro periodo intenso: se vendieron 1.3 millones de tickets en solo un día, lo que representa un aumento del 29 % en comparación con 2022.
Hacer que la aplicación sea más escalable y fácil de gestionar con MongoDB Atlas.
Superar las limitaciones de la base de datos heredada
A medida que SNCF Connect ganaba popularidad, los administradores de bases de datos de la empresa comenzaron a tener dificultades con los desafíos de mantenimiento y escalabilidad. El diseño original de la base de datos tampoco era adecuado para integrar nuevas funciones empresariales, lo que limitaba la capacidad para satisfacer las expectativas cambiantes de los pasajeros.
En 2022, la empresa decidió buscar una nueva solución para reemplazar su base de datos Oracle. “Hemos estado utilizando MongoDB en otras partes de la empresa desde 2014 y lanzamos nuestro primer proyecto en MongoDB Atlas en 2019”, reveló Valérie Pujol. “Adoptar MongoDB Atlas para este proyecto fue una obviedad: tiene el modelo orientado a documentos adecuado y, con nuestra experiencia interna, estábamos seguros de que podíamos migrar de Oracle a MongoDB Atlas con una interrupción mínima para los clientes”.
Optimización de la transferencia de datos y las pruebas en cada etapa de la migración
SNCF Connect & Tech formó un equipo multidisciplinario y colaboró con MongoDB para diseñar la solución. Definieron los requisitos técnicos y de seguridad en torno a RTO, RPO, purga y copia de seguridad continua, crearon el modelo orientado a documentos y discutieron la mejor manera de transferir datos a MongoDB Atlas.
El equipo desarrolló un proceso asíncrono para transferir 130 millones de pedidos de la base de datos heredada a MongoDB. Se utilizó una herramienta de observabilidad para supervisar la migración en tiempo real y establecer un plan de recuperación en caso de cualquier interrupción. Se implementaron mecanismos de limitación para garantizar una calidad de servicio óptima mediante la regulación del flujo de datos entre las dos bases de datos.
La transferencia completa de datos tomó 18.5 horas, y una transferencia final de los cambios de pedido realizados 48 horas antes del cambio final tomó solo 30 minutos.
La implementación se dividió en cuatro etapas para migrar gradualmente de Oracle a MongoDB Atlas. Se realizaron pruebas de rendimiento, fiabilidad de la API, procesamiento por grupos y escalabilidad en cada etapa. “Nuestras pruebas confirmaron que MongoDB Atlas era la elección correcta; no se le pudo encontrar ninguna falla”, añadió Valérie Pujol. “Por ejemplo, las operaciones de guardado de MongoDB no tuvieron impacto en términos de latencia de la API empresarial”.
