L’essentiel sur MySQL

LeMagIT fait le point sur les principales bases de données du marché. Aujourd’hui, la base relationnelle open-source d'Oracle, MySQL.

Très répandu, MySQL est un système de gestion de base de données relationnelle (SGBDR) open source destiné aux applications Web. Les développeurs, administrateurs de base de données et équipes DevOps s’en servent pour élaborer et gérer des applications Web et cloud.

La version 5.7 de MySQL a apporté de nombreuses améliorations en matière de sécurité, notamment la suppression des valeurs de colonne non vides dans la table mysql.user, l’expiration automatique de mot de passe gérée par des règles, le verrouillage des comptes utilisateur et une meilleure gestion des certificats RSA OpenSSL. On y trouve également des fonctions telles que les changements de mode SQL, la commande ALTER TABLE en ligne et de nombreuses améliorations du moteur de base de données InnoDB.

Sans remplacer la version 5.7, la mouture 8.0 introduite en 2018 a optimisé les fonctions de sécurité avec des améliorations de la gestion d’OpenSSL, une meilleure gestion des rôles, le renforcement des mots de passe, le chiffrement au repos des logs UNDO et REDO. Oracle prétend que les performances de lecture et d’écriture du moteur InnoDB sont considérablement améliorées, tandis que le SGBD supporte davantage de capacités de réplication, les données au format JSON et de géolocalisation et ajoute la prise en charge du fenêtrage SQL. La dernière version en date, la 8.0.29, disponible en avril 2022, poursuit ces optimisations et affine le fonctionnement général du SGBD.

Les éditions de MySQL

Comme pour la plupart des solutions SGBDR open source, MySQL se décline en plusieurs éditions pour Windows, OS X, Solaris, FreeBSD et d’autres variantes de Linux et Unix :

  • MySQL Classic Edition, destinée uniquement aux fournisseurs de logiciels indépendants, aux partenaires OEM et aux revendeurs, est conçue comme une base de données intégrable pour les applications présentant de forts taux d’opérations de lecture.
  • MySQL Community Edition est la version téléchargeable gratuite de MySQL, disponible sous licence GPL (General Public License) GNU.
  • MySQL Standard Edition est l’offre de SGBDR d’entrée de gamme pour les applications de traitement de transactions.
  • MySQL Enterprise Edition propose en plus des fonctionnalités avancées, des outils de gestion (dont OEM pour MySQL) et une assistance technique.
  • MySQL Cluster Carrier Grade Edition est conçue pour le développement Web et Cloud.
  • MySQL Database Services est la dernière catégorie en date pour mettre en avant MySQL Heatwave, une version entièrement managée du SGBD et calibrée pour le machine learning.

MySQL Cluster est un SGBD open source adaptable, conçu pour fournir des performances et une disponibilité élevées à de nombreux types d’applications métier. Par exemple, MySQL Cluster pilote les bases d’abonnés des principaux fournisseurs de services de télécommunication et est utilisé au niveau mondial pour la détection des fraudes dans les transactions financières.

La version 7.4 de MySQL Cluster a ajouté de nouvelles fonctionnalités permettant de faire évoluer automatiquement les services de base de données tout en assurant une disponibilité quasi totale. Cette édition permet la mise en cluster sans partage des bases de données In-Memory. Il peut s’agir d’une solution viable lorsque vous avez besoin de transactions ACID (atomiques, cohérentes, isolées et durables) assorties d’une haute disponibilité ou de taux très rapides de modification ou d’insertion des données sur du matériel bon marché.

MySQL Cluster 8.0 s’est aligné sur le développement de MySQL 8. Allocation automatisée de la mémoire, jusqu’à quatre réplicas, possibilité de stocker plus de 100 To par cluster, synchronisation des privilèges, auto-partitionnements… voilà quelques fonctionnalités clés de cette édition qu’Oracle continue de peaufiner en 2022.

En outre, l’architecture modulaire de MySQL lui permet de charger et de décharger des moteurs de stockage sur un serveur MySQL en cours d’exécution. Le moteur de stockage gère les opérations SQL pour différents types de tables MySQL. En permutant les moteurs de stockage MySQL, il est possible d’influer sur le comportement du SGBD. MySQL Cluster dispose donc de son propre moteur de stockage : NDB.

InnoDB, qui assure la sécurité des transactions et est conforme au concept ACID, est le moteur de stockage par défaut de MySQL depuis la version 5.6. Les autres moteurs sont MyISAM (pour le Web et les entrepôts de données), Memory (pour les traitements In-Memory), CSV (pour le texte) et Archive.

Types de données pris en charge par le SGBDR open source MySQL

MySQL inclut les types de données suivants : numérique, date et heure, chaîne (dont binaire, caractère et BLOB – Binary Large OBject) et spatial. En outre, MySQL mappe certains types de données issus d’autres SGBD à des types MySQL pour faciliter la portabilité.

Licences, tarifs et performances

MySQL est un SGBDR open source disponible sous licence GPL GNU. Les versions commerciales sont vendues directement par Oracle (notamment via une boutique en ligne) et ses partenaires commerciaux.

Les tarifs sont établis par socket et vont de 2 000 à 10 000 $, selon l’édition. MySQL est disponible en téléchargement gratuit. Et vous pouvez vous procurer une version d’essai de MySQL Enterprise Edition auprès d’Oracle.

Des bancs d’essai pour MySQL et pour MySQL Cluster sont disponibles, ainsi que la MySQL Benchmark Suite. Cette dernière peut servir à déterminer les opérations qu’une mise en œuvre SQL donnée exécute de façon satisfaisante ou pas.

Article mis à jour le 4 juillet 2022.

Pour approfondir sur Base de données

Close