MySQL (aussi dénommé « My Sequel ») est le système de gestion de base de donnée relationnelles (SGBD) open source le plus répandu au monde et le plus utilisé à ce jour. Ce SGBD fonctionne comme un serveur fournissant un accès multi-utilisateurs à de nombreuses bases de données. Les initiales SQL sont l’abréviation de Structured Query Language ou « langage de requête structurée » en français. Quant au préfixe My, il provient du prénom de la fille du co-fondateur de ce système, Michael Widenius.

gestion-base-de-donneesLe projet de développement MySQL a rendu son code source disponible selon les termes de la licence publique générale (GNU) ainsi que dans une variété d’accords de confidentialité. Au départ, ce système fut développé afin de concurrencer les propriétaires de base de données puissants, il n’était donc à ses débuts qu’une alternative bas de gamme gratuite. Au fil du temps, ce SGBD a évolué et a su s’imposer comme l’un des meilleurs systèmes existants, accessible à tous.
MySQL, projet originellement développé et financé par la société suédoise MySQL AB, fut racheté en 2008 par Sun Microsystems, devenu propriété de la société Oracle l’année suivante.
Ce SGBD fait également partie de LAMP (acronyme désignant Linux, Apache, MySQL et PHP/Perl/Python), ensemble de logiciels libres et langages de programmation les plus utilisés dans la construction de serveurs et de sites web.

UTILISATION ET CARACTÉRISTIQUES

1) Utilisation

MySQL est couramment utilisé pour les projets de logiciels libres et open source requérant un système de gestion de base de données complet.
Pour un usage commercial, plusieurs éditions payantes offrant des fonctionnalités supplémentaires sont disponibles.
De nombreuses applications célèbres utilisent MySQL, parmi lesquelles Joomla!, WordPress, Drupal, TYPO3 ou MODx. De ce fait, un prestataire Web utilise généralement MySQL pour la réalisation et la gestion de sites internet.
Des sites Web à grande échelle et forte visibilité tels que Wikipédia, Facebook, Twitter, Flickr, Youtube ou encore Google (excepté pour les recherches) utilisent également MySQL.

2) Langages et systèmes d’exploitation supportés

Les deux langages informatiques supportés par MySQL sont le langage de requête SQL et le SQL/PSM (Persistent Stored Modules). Ce dernier est une extension du SQL, combinant requêtes SQL et instructions procédurales. Il est notamment utilisé pour la génération de procédures stockées ou de déclencheurs.
MySQL supporte quasiment tous les systèmes d’exploitation, Mac OS X, Linux, Windows, AIX, Tru64 Unix, SCO UnixWare, SCO OpenServer, FreeBSD, OpenBSD, NetBSD, BSDi, NetWare, HP-UX, Solaris, SunOS, OS/2 Warp et IBM i-5 inclus.
Pour accéder à la base de données et gérer son site web, le Webmaster en Belgique peut utiliser les langage de programmation suivants : PHP, Python, Perl, C, C++, C#, Java, Eiffel, Windev, VB, VB.NET, Delphi/Kylix, Tcl et Ruby.

3) Limites

webmaster-ottigniesCe SGBD présente néanmoins certaines limites. En effet, comme d’autres bases de données SQL, MySQL n’est actuellement pas compatible avec le standard SQL complet en ce qui concerne diverses fonctionnalités avancées telles que la gestion de clés étrangères lors de l’utilisation d’autres moteurs de base de données que le Inno-DB standard (inclus d’origine dans toutes les distributions de MySQL AB).
D’autre part, les déclencheurs du système MySQL sont pour l’instant limités à un par action, c’est à dire au maximum un avant l’insert et un après l’insert sur une même table. Il n’y a pas de déclencheur sur les vues.
Par ailleurs, comme la plupart des bases de données relationnelles transactionnelles, MySQL est fortement limité par les performances du disque dur, particulièrement en terme de latence d’écriture.

DEPLOIEMENT

MySQL est généralement installé à partir d’un paquet binaire, à moins que des personnalisations spécifiques soient nécessaires, auquel cas il peut être construit puis installé à partir du code source.
Sur la plupart des distributions Linux, le gestionnaire de paquets peut télécharger et installer MySQL facilement mais nécessite une configuration supplémentaire afin d’ajuster les paramètres de sécurité et d’optimisation.
L’intérêt de ce SGBD réside en sa relative simplicité et sa facilité d’utilisation, rendue possible grâce à une panoplie d’outils open source tels que phpMyAdmin. Pour des réalisations à grande échelle (encyclopédie, bibliothèque d’informations, d’images ou de sons, site internet riche en contenu ou en services, etc.), un déploiement de serveurs multiples MySQL est requis pour en augmenter la performance et la fiabilité.