La SNCF est l'opérateur ferroviaire national en France. Sa mission est de simplifier les voyages tout en fournissant des services de transport de passagers et de fret fluides et durables. L'un des moyens d'y parvenir est SNCF Connect, une application conçue et développée par une organisation interne appelée SNCF Connect & Tech. Un tiers de la population française utilise l'application pour rechercher des itinéraires, réserver des billets et obtenir les dernières informations sur les trains, les bus et les autres modes de transport public.
Cette application est essentielle aux activités de la SNCF. Plus de 550 000 billets sont vendus chaque jour via l’application, et les volumes augmentent rapidement. Entre 2022 et 2024, les ventes annuelles sont passées de 190 à 209 millions. Elle doit également monter en puissance pour faire face aux pics saisonniers tels que la période des soldes de Noël, qui commence en octobre.
« Les ventes de Noël constituent le plus grand événement commercial de l'année pour SNCF Connect », a déclaré Vincent Liboutet. « Il donne aux passagers la possibilité de planifier leurs voyages à l'avance. Ils peuvent parcourir les horaires, trouver les meilleurs prix des billets, et nous ajoutons de nouvelles destinations pour nous assurer que le plus grand nombre possible de personnes puisse utiliser les transports publics pendant les fêtes. »
En 2023, la base de données de SNCF Connect traitait 1 million de connexions par minute, contre 300 000 l'année précédente. Les ventes de billets pour le printemps, qui commencent à la fin du mois de janvier, constituent une autre période chargée : 1,3 million de billets ont été vendus en une seule journée, soit une augmentation de 29 % par rapport à 2022.
Rendre l’application plus évolutive et plus facile à gérer avec MongoDB Atlas.
Surmonter les limitations de la base de données héritée
À mesure que la popularité de SNCF Connect augmentait, les administrateurs de base de données de l’entreprise ont commencé à rencontrer des difficultés en matière de maintenance et d’évolutivité. La conception initiale de la base de données était également inadaptée à l’intégration de nouvelles fonctions métier, ce qui limitait sa capacité à répondre aux attentes changeantes des passagers.
En 2022, l'entreprise a décidé de rechercher une nouvelle solution pour remplacer sa base de données Oracle. « Nous utilisons MongoDB ailleurs dans l’entreprise depuis 2014 et avons lancé notre premier projet sur MongoDB Atlas en 2019 », a révélé Valérie Pujol. « L'adoption de MongoDB Atlas pour ce projet a été une évidence. Il dispose du bon document model et, avec notre expertise interne, nous étions convaincus de pouvoir migrer d'Oracle vers MongoDB Atlas avec une perturbation minimale pour les clients. »
Optimisation du transfert de données et des tests à chaque étape de la migration
SNCF Connect & Tech a mis en place une équipe pluridisciplinaire et a travaillé avec MongoDB pour concevoir la solution. Ils ont défini les exigences techniques et de sécurité concernant le RTO, le RPO, le purge et la sauvegarde continue, créé le modèle de document et discuté de la meilleure façon de transférer des données vers MongoDB Atlas.
L'équipe a développé un processus asynchrone pour transférer 130 millions de commandes de l'ancienne base de données vers MongoDB. Ils ont utilisé un outil d'observabilité pour surveiller la migration en temps réel et établir un plan de récupération en cas de perturbation. Des mécanismes de limitation ont été mis en place pour garantir une qualité de service optimale en régulant le flux de données entre les deux bases de données.
Le transfert de données complet a pris 18,5 heures, et un transfert final des modifications de commande effectuées 48 heures avant le basculement définitif n'a pris que 30 minutes.
La mise en œuvre a été divisée en quatre étapes afin de passer progressivement d'Oracle à MongoDB Atlas. Des tests de performance, de fiabilité des API, de traitement par lots et d'évolutivité ont été effectués à chaque étape. « Nos tests ont confirmé que MongoDB Atlas était le bon choix — il n'y avait rien à redire », a ajouté Valérie Pujol. « Par exemple, les opérations d'écriture MongoDB n'ont eu aucun impact en termes de latence des API métier. »
