Mise à jour vers MySQL 8 sur tous les serveurs SiteGround

Il y a quelques semaines, nous avons lancé une mise à niveau vers MySQL 8 sur l’ensemble de nos serveurs. C’est le résultat d’un long processus de contrôle et de test de la compatibilité de cette version avec les sites web de nos clients, jusqu’à ce que nous concluions que MySQL 8 est hautement compatible avec les principales applications hébergées sur notre plateforme et qu’il n’y a pas de danger à passer à cette version.

MySQL est un logiciel fondamental dans notre stack, utilisé par la grande majorité de nos clients pour alimenter leurs bases de données. Son fonctionnement optimal a un impact important sur la performance et la disponibilité de l’ensemble du site web. C’est pourquoi l’équipe de SiteGround consacre beaucoup de ressources à l’optimisation et à la personnalisation de notre MySQL, en cherchant toujours à obtenir de meilleures performances. Pour atteindre cet objectif au fil des ans, nous avons introduit diverses personnalisations telles que notre configuration MySQL unique, et nous planifions et testons soigneusement toute nouvelle mise à niveau de la version MySQL, en veillant à ce que les avantages l’emportent sur les dommages potentiels qu’une telle mise à niveau pourrait entraîner. Nous sommes maintenant convaincus que la version 8 de MySQL est largement compatible et que nos clients peuvent profiter en toute sécurité des performances accrues de la base de données, de l’évolutivité et des optimisations de codage qu’elle apporte.

Quel est le plan pour la mise à jour de MySQL ?

Tout d’abord, nous aimerions annoncer que tous les nouveaux sites web créés sur nos serveurs mutualisés et tous les comptes cloud nouvellement créés sont désormais livrés avec MySQL 8 par défaut.

Deuxièmement, le processus de migration vers MySQL 8 des sites partagés existants est en cours. Une fois nos serveurs partagés mis à jour, nous commencerons à mettre à jour les instances Cloud également. Le processus se poursuivra au cours des prochains mois. Selon notre calendrier, nous prévoyons de migrer tous nos clients vers MySQL 8 d’ici la fin du mois de juin de cette année.

Afin de rendre la transition aussi facile et fluide que possible, nous vous envoyons des e-mails au moins une semaine à l’avance pour vous informer des dates exactes auxquelles nous allons mettre à jour votre site web vers MySQL 8. La procédure de mise à jour est effectuée tard dans la nuit, lorsque le trafic vers le serveur est minimal. Une brève interruption de service peut se produire pendant la mise à jour du logiciel. Aucune action n’est requise de votre part en ce qui concerne la migration.

Quelles sont les nouveautés de MySQL 8 ?

MySQL 8 introduit une variété de nouvelles fonctionnalités et d’améliorations d’anciennes fonctionnalités qui visent toutes à améliorer les performances et l’évolutivité globales ainsi que l’expérience des développeurs. Voici quelques-unes des plus remarquables.

Meilleures performances et évolutivité

MySQL 8 offre de meilleures performances et une meilleure évolutivité. Les tests de benchmarking montrent de meilleurs résultats en termes de performances et d’évolutivité pour MySQL 8 par rapport à MySQL 5.7. Les tests montrent que MySQL 8 gère beaucoup mieux les opérations de lecture/écriture et que le nombre de transactions traitées est beaucoup plus élevé.

De plus, les tests montrent que MySQL 8 utilise beaucoup mieux le matériel que la version 5.7.

Voici quelques-unes des améliorations qui rendent cela possible :

Évolution des charges de travail en lecture/écriture

MySQL 8 affiche de meilleures performances sur les lectures/écritures intensives et des performances plus de deux fois supérieures sur les charges élevées sont observées par rapport à MySQL 5.7.

Meilleures performances en cas de chargements importants

Les performances pour les charges de travail à forte contention ont été considérablement améliorées dans MySQL 8. Une charge de travail à forte contention se produit lorsque plusieurs transactions attendent un verrou sur la même ligne d’une table, ce qui provoque des files d’attente de transactions.

Les performances pour les charges de travail à forte contention ont été considérablement améliorées dans MySQL 8. Une charge de travail à forte contention se produit lorsque plusieurs transactions attendent un verrou sur la même ligne d’une table, ce qui provoque des files d’attente de transactions.

Partitionnement natif/ Amélioration du pool InnoDB

MySQL 8 prend en charge le partitionnement natif pour le moteur InnoDB. Cela vous permet de diviser les grandes tables en partitions plus petites. Cela peut améliorer les performances des requêtes et réduire les besoins en stockage, en particulier pour les grandes tables. La nouvelle version de MySQL apporte également des améliorations au pool InnoDB. Le pool est responsable de la mise en cache des données et de la réduction des opérations d’E/S.

Expressions de table communes (CTE)

Avec la dernière version de MySQL 8, vous pouvez désormais tirer parti des expressions de table communes. Une expression de table commune est un ensemble de résultats qui n’existe que temporairement lors de l’exécution d’une requête et qui peut être utilisé ultérieurement dans la même requête.

Ces CTE permettent de créer des requêtes plus complexes en utilisant des blocs plus simples, basés sur des tables temporaires. En d’autres termes, les expressions de tables communes permettent d’utiliser des ensembles de résultats temporaires nommés.

Changement de caractère par défaut

Le caractère par défaut dans MySQL 8 est remplacé par utf8mb4.

L’une des différences les plus notables entre utf8, utf8mb3 et utf8mb4 est le nombre maximal d’octets par caractère. Alors que utf8 et utf8mb3 ne peuvent stocker que des caractères dans le BMP (Basic Multilingual Plane) d’Unicode, utf8mb4 peut stocker des caractères dans le “Supplementary Plane”. utf8mb4 prend en charge une large gamme de caractères, y compris les emojis et d’autres caractères spéciaux.

Index invisibles

Les index invisibles constituent une autre nouveauté de MySQL 8. En général, les index sont utilisés par l’optimiseur de requêtes MySQL pour améliorer la vitesse de récupération des données, tandis que les index invisibles sont ceux qui sont cachés à l’optimiseur de requêtes MySQL et qui permettent de tester la suppression d’un index sur les performances de la requête, sans faire de changement destructif.

Par exemple, si vous travaillez avec une très grande table comportant quelques index et que vous souhaitez l’optimiser davantage en supprimant certains index et en en ajoutant de nouveaux. Imaginez que vous sachiez que vous aurez besoin de ces index à l’avenir. Il peut être dangereux de les supprimer dès le départ, car leur reconstitution ultérieure nécessite beaucoup de ressources. Pour éviter cela, vous pouvez maintenant simplement utiliser des index invisibles – transformer certains index existants en index invisibles, tester ce dont vous avez besoin avec les nouveaux index, puis les rendre à nouveau visibles en cas de besoin.

Pourquoi le moment est-il venu de migrer ?

MySQL étant une technologie fondamentale, les mises à jour majeures sont rares et mettent du temps à être adoptées par tous. MySQL 8 a été publié pour la première fois en 2018, mais il a fallu plusieurs années pour que la majorité des sites web et leurs applications sous-jacentes deviennent compatibles avec lui. Nous avons constamment surveillé le niveau de compatibilité et avons choisi le temps de mise à jour actuel, car nous avons vu que maintenant le risque d’impact négatif sur un site web avec la mise à niveau a considérablement diminué. Depuis le début de la mise à jour, il y a quelques semaines, nous avons déjà fait passer des centaines de milliers de sites à MySQL 8.

Daniel Kanchev

Directeur Développement de produits

Daniel est chargé de donner vie aux nouveaux produits chez SiteGround. Cela implique de gérer tous les types de tâches et de communication entre les différentes équipes. Passionné par la technologie, l'expérience utilisateur, la sécurité et la performance, vous ne vous ennuierez jamais avec lui. Également conférencier occasionnel et accro aux voyages.

Les commentaires pour cet article sont maintenant fermés.

Articles liés