Selon Wikipédia, MySQL est un système de gestion de bases de données relationnelles distribué sous une double licence (Licence GPL et propriétaire). Fort de ses 24 années d’existence, il est incontestablement le plus populaire des gestionnaires de bases de données. De grandes entreprises très connues et gérant des données presque infinies comme Facebook, Twitter ou encore Yahoo l’utilisent pour la gestion de leurs données.

C’est à partir de 2012 que la popularité du logiciel MySQL décline. Il se fait progressivement évincer par son concurrent et fork Mariadb. Créé en 2009 et reposant sur le concept d’Open Source, ce dernier a vite évolué pour devenir aujourd’hui le meilleur. Outre ses performances largement supérieures, Mariadb bénéficie également d’une communauté très active. Vous ne savez pas quelle technologie choisir pour la gestion de vos bases de données ? Mariadb ou MySQL ? Dans cet article, nous allons voir en détail tout ce qu’il y a à savoir sur Mariadb & MySQL.

Mariadb, le Fork de MySQL

Ces deux logiciels sont intimement liés, car Mariadb est le Fork de MySQL. À titre d’information, un fork est un logiciel créé à partir du code source d’un logiciel existant. En ce sens, Mariadb a été conçu à partir du code source de MySQL, ce qui explique pourquoi ils ont autant de points communs : même structure, des index identiques, mêmes ports et sockets…

Faits intéressants, ces deux gestionnaires de bases de données sont l’œuvre d’une seule et même personne, à savoir Michael Widenius. MySQL tire son nom du prénom (My) de la première fille de Michael Widenius. Mariadb, quant à lui, porte le nom de sa seconde fille Maria.

C’est à l’annonce du rachat de MySQL par Oracle que Widenius a décidé de créer Mariadb. À l’époque, il a même demandé de l’aide à la Commission européenne (CE) pour stopper la transaction. Finalement, elle a eu lieu. De son côté, Widenius a, lui aussi, réussi à construire un logiciel à l’image de ce qu’était de MySQL : gratuit, Open Source, distribué sous licence GPL…

Compatibilité entre Mariadb & MySQL

Widenius a voulu faire des versions de MariaDB comme un « remplacement instantané » des versions équivalentes de MySQL. MariaDB est une sorte de substitution de MySQL prêt à exécuter. C’est la raison pour laquelle MySQL 5.5 est par exemple compatible avec MariaDB 5.5. C’est pareil pour la plupart des autres versions des deux logiciels. Ainsi, pour passer de MySQL à Mariadb, il suffit de désinstaller le premier et d’installer le second pour que tout re-fonctionne, comme s’il s’agissait d’un seul et même logiciel. Vous n’aurez pas à modifier vos applications, car tous les APIs clients, les protocoles, les structures, les fichiers sont identiques.

Afin de supprimer les bugs de compatibilité avec MySQL, les développeurs de Mariadb mettent à jour celui-ci en permanence. Chaque mois, une sorte de fusion avec la base de code MySQL doit systématiquement être faite. Ainsi, s’ils existent, les problèmes de compatibilité ne seront que mineurs. Et encore, ils ne tarderont pas à être corrigés par les innombrables ingénieurs qui composent la communauté MariaDB. C’est principalement à cause de ce gros travail derrière, ajouté aux nouvelles options et extensions qui lui sont propres que Mariadb arrive autant à séduire tout le monde.

Les incompatibilités entre les deux logiciels

Bien sûr, les versions des deux logiciels ne sont pas toutes compatibles, malgré l’effort de l’équipe de Mariadb. Ainsi, MariaDB 5.1 ne va pas avec MySQL 5.1. Vous risquez de rencontrer un paquet de soucis en s’entêtant à faire le passage. C’est également le cas avec MariaDB 10.3 et MySQL 5.7 ; MariaDB 10.2 et MySQL 5.7 ; MariaDB 10.1 et MySQL 5.7 ; MariaDB 5.5 et MySQL 5.5 ; MariaDB 10.0 et MySQL 5.6 ; MariaDB 5.3 et MySQL 5.1.

Les principales différences entre MariaDB et MySQL

Ils ne sont pas pareils en tout point. Basé sur la version 5.1 de MySQL, MariaDB surpasse celui-ci à bien des égards :

Plus de moteurs de stockage

MySQL possède de nombreux moteurs. Les plus connus sont MyISAM, InnoDB, MEMORY (anciennement HEAP), MERGE, BLACKHOLE, BerkeleyDB ou BDB, ARCHIVE, CSV, FEDERATED. Chacun d’eux possède une utilité particulière.

Concernant MariaDB, à ceux-là s’ajoute Aria, XtraDB (replacement direct pour InnoDB), FederatedX (ederated), OQGRAPH, SphinxSE, IBMDB2I, TokuDB, Cassandra, CONNECT, SEQUENCE, Spider et finalement PBXT. Notez cependant que parmi ces moteurs, certains ont déjà été retirés ou désactivés.

Améliorations de performance

Grâce à ses moteurs plus performants, MariaDB est plus rapide que MySQL. D’autre part, il propose gratuitement des capacités intéressantes qu’Oracle ne fournit que sur la version commerciale de MySQL. En outre, contrairement à MariaDB Corporation AB et la communauté MariaDB, Oracle met trop de temps pour ajouter des améliorations de performance à son produit. Du coup, MariaDB a toujours une longueur d’avance sur MySQL.

Extensions et nouvelles fonctionnalités

Il est impossible de noter ici toutes les extensions et les fonctionnalités qui sont propres au logiciel MariaDB, tellement elles sont nombreuses. Néanmoins, voici une petite liste des plus notables :

  1. Précision à la microseconde dans le Processlist
  2. La possibilité de résoudre une requête sans accéder à certaines des tables auxquelles la requête fait référence.
  3. Authentification enfichable : Lorsqu’un utilisateur tente de se connecter, le plug-in d’authentification contrôle la manière dont MariaDB Server détermine si la connexion provient d’un utilisateur légitime.
  4. Fonctionnalité GIS : MariaDB prend en charge les extensions spatiales permettant la création, le stockage et l’analyse d’entités géographiques.

Les autres atouts de MariaDB

On apprécie également MariaDB pour ses mises à jour très fréquentes, ses documentations à profusion et les services de qualité que sa communauté dispose.

Un support technique à la fois expert MariaDB et MySQL

En créant MariaDB et sentant de loin que MySQL deviendra payant avec son acquisition par Oracle, l’objectif de son concepteur a été de promouvoir la poursuite du développement communautaire, et ensuite de garantir qu’il existera toujours une version libre de MySQL. C’est notamment grâce à cela que sa communauté peut aujourd’hui fournir un support technique à la fois expert de MariaDB et MySQL. Ce qui n’est pas le cas pour Oracle, qui se concentre uniquement sur son système. En outre, ils seraient très déplacés de demander l’aide des ingénieurs de l’Oracle pour résoudre un problème en rapport avec MariaDB. Les deux entreprises, en revanche, proposent toutes les deux un support disponible 24h/ 24, 7j / 7. Une autre alternative pour vous, serait de faire appel à un hébergeur qui propose ces technologies et s’occupe de tout pour vous afin que vous n’ayez pas à vous souciez de tout cela. Une hébergeur qui a un support technique fiable, réactif et à l’écoute. Avez-vous déjà entendu parlé d’EasyHoster ? Ils sont en mesure de vous assister, d’héberger en toute sécurité votre site WordPress, de vous le dépanner en cas de piratage, etc.

Un développement ouvert au public

MariaDB jouit des nombreux avantages du concept d’Open Source. À ce titre, son développement est confié à tous les membres de la communauté. MariaDB bénéficie de ce fait de beaucoup plus d’idées et d’experts engagés en matière de codage, de correction de bugs, de création de nouveaux contenus… Cette méthodologie est excellente et permet un développement plus accru et des mises à jour de contenu et sécurité plus rapides. À l’inverse, le développement de MySQL est exclusivement assuré par Oracle Corporation.

Documentation ouverte à toute la communauté

Si vous vous intéressez aux systèmes de gestion de bases de données, ne serait-ce qu’un petit peu, vous êtes surement au courant que MariaDB dispose de plus de ressources que son concurrent de longue date. Cela tient au fait que pour MariaDB, la documentation est gérée par la fondation MariaDB, mais également ouverte à tous les membres de la communauté.