MySQL
Le plus populaire des gestionnaires de bases de données relationnelles est installé sur des millions de serveurs. Cela inclut Youtube, Flickr, Facebook (partiellement avec Cassandra).
MySQL est créé en 1995 par David Axmark, Allan Larsson et Michael Widenius qui fondent la société MySQL AB pour le commercialiser.
En juin 2000 il passe sous licence GPL mais il conserve une double licence, on peut choisir une licence payante, notamment pour l'intégrer à d'autres logiciels incompatible avec GPL.
La société est acquise par Sun le 26 février 2008. Quand elle-même est acquise par Oracle le 20 avril 2009 MySQL a un nouveau propriétaire.
Conception
MySQL est optimisé pour la lecture, il convient bien pour le Web ou la consultation des pages est plus fréquente que leur création ou modification.
Il supporte les requêtes concurrentes d'utilisateurs multiples (contrairement à SQLite par exemple qui n'en exécute qu'une à la fois).
Il est compatible avec SQL2 et le langage procédural PL/SQL depuis la version 5.
On utilise souvent MySQL en conjonction avec MemCached, un programme qui conserve la base de données en mémoire pour accélérer les transactions. Les grands sites comme Facebook, Twitter l'utilisent. Il est disponible pour Wordpress, Joomla, Drupal.
Des moteurs de stockage différents peuvent être utilisés par le système, dont le rôle est de gérer la création et suppression des données de la base, et le stockage correspondant dans le système de fichier:
- MyISAM. Le moteur par défaut initial.
- InnoDB. Plus puissant, racheté par Oracle en octobre 2005, est devenu le moteur par défaut, avec la version 5.5.
- BerkeleyDB. A été racheté par Oracle en février 2006, obsolete depuis MySQL 5.1.
- Et de nombreux autres.
MySQL Cluster est une version multi-serveurs. Elle répartit la charge ce qui permet de fonctionner en temps réel sans attente ni défaillance. Dans ce cas le moteur est NDB et on plus un des moteurs traditionnels ci-dessus. La version 7.2GA peut traiter un milliard de transactions par minute. Elle est open source, seul le support est payant.
Programmation
La plupart des langages de programmation peuvent être utilisée pour utiliser le SGDB, donc pour effectuer des requêtes.
Les langages les plus couramment utilisés étant PHP et Java.
Le M de MySQL donne une lettre à l'environnement LAMP (Linux Apache MySQL PHP), un système de serveur de sites très populaire.
L'avenir de MySQL
Après le rachat de Sun par Oracle, éditeur de base de donnée qui trouve en MySQL un produit gratuit concurrent de ses autres produits payants, quel peut être l'avenir de MySQL?
Voici l'avis du créateur de MySQL, Michael Widenius, à ce sujet: Les créateurs de MySQL ne sont plus chez Sun.
Il a en projet la création d'une "Fedora" pour MySQL, un projet indépendant libre de toute attache commerciale.
En fait quelques forks ont été créés qui tentent de conserver la compatibilité:
- MariaDB. Par le créateur de MySQL. Basé sur MySQL 5.1, utilise XtraDB ou InnoDB.
- Drizzle. Version allégée pour le cloud. Dérivée de MySQL 6.0 qui était en développement.
- Percona Server. Utilise le moteur de stockage XtraDB.
- OurDelta. Un sur-ensemble de MySQL.
Comme MySQL tend a devenir de plus en plus commerciale, ces solutions alternatives finiront par la remplacer. A 2000$ par serveur par an, cela peut devenir indispensable.
Sites et outils
- MySQL. Télécharger une des versions du logiciel.
- phpMyAdmin. Interface pour gérer en ligne une base de donnée. On peut aussi le faire à partir de LibreOffice.
- HeidiSQL. Fonctionne localement et peut gérer une base de donnée distante. (Windows).
Documents
- MySQL mieux que NoSQL?
- NoSQL. L'autre design, toujours en SQL.
|
|
|
