A SNCF é o operador ferroviário nacional da França. Sua missão é simplificar as viagens oferecendo serviços de transporte de passageiros e cargas contínuos e sustentáveis. Uma maneira de conseguir isso é com o SNCF Connect, um aplicativo projetado e desenvolvido por uma organização interna chamada SNCF Connect & Tech. Um terço da população da França usa o aplicativo para procurar rotas, reservar tickets e obter as últimas informações sobre trens, ônibus e outros modos de transporte público.
Este aplicativo é fundamental para as operações da SNCF. Mais de 550.000 tickets são vendidos pelo aplicativo todos os dias, e esse volume continua crescendo rapidamente. Entre 2022 e 2024, as vendas anuais saltaram de 190 milhões para 209 milhões. O aplicativo também precisa ser dimensionado para lidar com os picos sazonais, como o período de vendas de Natal, que começa em outubro.
“As vendas de Natal são o maior evento comercial do ano para a SNCF Connect”, disse Vincent Liboutet. “Isso dá aos passageiros a oportunidade de planejar suas viagens com antecedência. Eles podem navegar pelo horário, encontrar os melhores preços de ticket, e nós adicionamos novos destinos para garantir que o maior número possível de pessoas possa usar o transporte público durante as festas.”
Em 2023, o banco de dados por trás do SNCF Connect processava 1 milhão de conexões por minuto, um aumento em relação às 300.000 conexões por minuto do ano anterior. O período de vendas de primavera, que começa no fim de janeiro, é outro período movimentado: 1,3 milhão de tickets foram vendidos em apenas um dia, um aumento de 29% em relação a 2022.
Tornando o aplicativo mais escalável e mais fácil de gerenciar com o MongoDB Atlas.
Superando as limitações do banco de dados legado
À medida que a SNCF Connect se tornava popular, os administradores de banco de dados da empresa começaram a enfrentar problemas de manutenção e escalabilidade. A arquitetura original do banco de dados também era inadequada para integrar novas funcionalidades de negócios, o que limitava sua capacidade de atender às mudanças nas expectativas dos passageiros.
Em 2022, a empresa decidiu procurar uma nova solução para substituir seu banco de dados Oracle. Usamos o MongoDB em outras áreas da empresa desde 2014 e lançamos nosso primeiro projeto com o MongoDB Atlas em 2019", revelou Valérie Pujol. "Adotar o MongoDB Atlas para esse projeto foi uma escolha natural: ele tem o modelo de documentos ideal e, com nossa experiência interna, estávamos confiantes de que poderíamos migrar do Oracle para o MongoDB Atlas com o mínimo de interrupção para os clientes."
Otimizando a transferência de dados e os testes em todas as etapas da migração
A SNCF Connect & Tech formou uma equipe multidisciplinar e trabalhou com o MongoDB para projetar a solução. Eles definiram os requisitos técnicos e de segurança relacionados a RTO, RPO, purga e backup contínuo, criaram o modelo de documentos e discutiram a melhor forma de transferir os dados para o MongoDB Atlas.
A equipe desenvolveu um processo assíncrono para transferir 130 milhões de pedidos do banco de dados legado para o MongoDB Atlas. Eles usaram uma ferramenta de observabilidade para monitorar a migração em tempo real e configurar um plano de recuperação em caso de interrupção. Mecanismos de controle de taxa foram implementados para garantir a qualidade ideal do serviço regulando o fluxo de dados entre os dois bancos de dados.
A transferência completa dos dados levou 18,5 horas, e a transferência final das alterações de pedidos, realizada 48 horas antes da migração definitiva, levou apenas 30 minutos.
A implementação foi dividida em quatro etapas para realizar a migração gradual do Oracle para o MongoDB Atlas. Testes de desempenho, confiabilidade de API, processamento em lote e escalabilidade foram realizados em todas as etapas. "Nossos testes confirmaram que o MongoDB Atlas era a escolha certa — não havia nada a apontar", acrescentou Valérie Pujol. “Por exemplo, as operações de gravação do MongoDB não tiveram impacto na latência da API de negócios”.
