Facebook présente les leçons tirées de la migration MySQL 8.0

Facebook a décrit sa migration vers MySQL 8.0, une multitude de maux de tête et un calendrier qui met en évidence que ces mises à niveau peuvent être pénibles, même pour une entreprise connue pour ses prouesses et son envergure en ingénierie.

Dans un article de blog, l’équipe d’ingénierie de Facebook a décrit une mise à niveau de MySQL de 5.6 à 8.0. MySQL sert de base au moteur de stockage, à la réplication et aux charges de travail de Facebook. Facebook avait des fonctionnalités personnalisées avec la base de données open source, devait s’assurer que la réplication était compatible et devait minimiser les changements tout en renforçant les performances.

La mise à niveau vaut la peine d’être lue car elle montre comment les entreprises peuvent personnaliser les logiciels open source et se retrouver avec toutes les complications d’un système propriétaire. Voici quelques points à retenir de la dissection de la mise à niveau MySQL 8.0 de Facebook.

  • Le projet a duré quelques années.
  • La dernière mise à jour majeure de Facebook vers MySQL 5.6 a pris plus d’un an à être déployée. Facebook a décidé de sauter une mise à niveau vers la version 5.7 alors qu’il développait son moteur de stockage MyRocks.
  • MySQL 8.0 a été annoncé lorsque MyRocks a été achevé, Facebook a donc choisi de mettre à niveau pour ajouter des améliorations à son moteur de stockage.
  • Facebook avait 1 700 correctifs de code à porter de sa branche personnalisée MySQL 5.6 vers la version 8.0. L’effort a été compliqué par les nouvelles fonctionnalités et correctifs de Facebook MySQL continuellement ajoutés à la base de code 5.6.
  • La mise à niveau de 5.6 à 8.0 a complètement ignoré la 5.7 et certaines API ont été soit obsolètes, soit complètement supprimées. Toute application utilisant les anciennes API avait besoin d’une mise à jour.
  • La documentation du code personnalisé était inégale. Facebook a déclaré que la plupart de son code personnalisé contenait de bons commentaires et une bonne documentation. L’autre code n’était pas non plus documenté, et Facebook a dû fouiller dans d’anciens documents, publications et commentaires de code pour comprendre l’historique.
  • Les fonctionnalités les plus complexes nécessitaient des modifications importantes de MySQL 8.0 et il y avait des problèmes de compatibilité à résoudre.
  • Au final, Facebook a évalué plus de 2 300 correctifs et en a porté 1 500 vers MySQL 8.0.

La mise à niveau en valait-elle la peine ? Facebook a fait valoir que la mise à niveau de MySQL 8.0 améliore considérablement ce que l’entreprise peut faire. Cependant, Facebook voudra peut-être déjà commencer à réfléchir aux futures mises à niveau.

Related Site :
ridesmartsedan.com
developershandbook.com
santarosaconcafestival.com
adunblock.com
69facesofrock.com