Pourquoi BlaBlaCar migre ses bases de données sous MariaDB
Publié par La rédaction le | Mis à jour le
Réconciliation de données dans le datawarehouse et facilité à déployer des clusters : tels sont les arguments qui ont poussé BlaBlaCar à se tourner vers MariaDB, un fork de MySQL. La base de données est déployée dans des conteneurs Rocket.
Avant tout une démarche pragmatique. Si la start-up française BlaBlaCar a choisi de migrer sur la base de données Open Source MariaDB, un fork de MySQL créé par le créateur du projet (Michael "Monty" Widenius) et soutenu aujourd'hui par une fondation, c'est avant tout pour répondre à deux contraintes très concrètes. « D'abord, nous avons été confrontés à un problème classique dans les environnements MySQL. Nous avions éclaté la base de données en plusieurs grappes et avions besoin de réagréger l'information pour le datawarehouse. La fonction multimaster de MariaDB permettait de le faire simplement », raconte Nicolas Blanc, responsable de l'architecture de BlaBlaCar.
La start-up était également engagée dans des réflexions sur une refonte de son architecture. « La base de données est au coeur du site, elle supporte toutes les informations sur les utilisateurs et les paiements. C'est ce qui explique que nous voulions passer d'une architecture MySQL standard, de type maître-esclaves, à un cluster synchrone Galera », reprend Nicolas Blanc. Là encore, le niveau d'intégration avec cette technologie proposé par MariaDB plaide pour une migration vers le fork de Monty Widenius.
MariaDB supplante Percona
« Nous avons migré un premier cluster. L'opération s'est bien déroulée, ce qui nous a incités à en faire de même avec le second. Par la suite, nous avons contracté un support sur l'ensemble du déploiement », reprend le responsable de l'architecture. En réalité, avant même cette migration, BlaBlaCar avait déjà quitté MySQL - aujourd'hui entre les mains d'Oracle - pour une distribution Percona, autre variante de la base de données Open Source. C'est cette dernière que vient supplanter MariaDB. Selon Nicolas Blanc, les tarifs de support des deux solutions sont équivalents.
Pour BlaBlaCar, rester dans une technologie proche de MySQL lui assure de bénéficier d'environnements binairement compatibles. Ce qui facilite les migrations. « De toute façon, la technologie MySQL est trop maîtrisée en interne pour qu'on puisse en sortir facilement », observe Nicolas Blanc (en photo ci-contre). Malgré la proximité entre Percona et MariaDB, l'effort de préparation des différentes opérations de migration a été assez soutenu, « du fait des volumétries en jeu, assure notre interlocuteur. Les scripts de tests ont pris beaucoup de temps à s'exécuter ». La préparation de la migration sur la partie datawarehouse a ainsi duré entre 3 et 4 mois. Sur les deux clusters Galera, cette durée est montée à six mois dans chacun des cas.
En production dans des conteneurs Rocket
Le cluster principal, dédiée aux données des utilisateurs du service, comprend 5 noeuds. Tandis qu'un second cluster, qui stocke les logs d'activité, en compte 3. Au total, MariaDB stocke 2 fois 2,2 To de données au sein de la start-up spécialisée dans le covoiturage.
Notons qu'à l'occasion de cette migration, MariaDB a été placé dans des conteneurs, une technologie que la start-up a décidé d'exploiter en production. En la matière, BlaBlaCar a opté pour la solution Rocket de CoreOS. Et non pour Docker. « Nous avons fait ce choix il y a un an. A l'époque, la partie réseau, le système de fichiers et le daemon de Docker ne nous satisfaisaient pas, justifie Nicolas Blanc. Docker était alors avant tout un outil conçu pour des développeurs. Aujourd'hui, un outil comme Kubernetes masque ces défauts. » Façon de dire que la technologie de la start-up américaine lancée par des anciens de l'Epitech dispose aujourd'hui, alors qu'approche son troisième anniversaire, d'arguments plus solides qu'il y a seulement un an pour envisager un passage en production.
A lire aussi :
Comment BlaBlaCar a automatisé sa production IT
Big Data : BlablaCar copilote sa BI avec HP, Tableau et Dataiku
MariaDB : une version de printemps en toute sécurité