Faut-il passer à MariaDB, le fork de MySQL ?
vendredi 1 mars 2013 à 11:47Cet article a pour but de présenter le fork de MySQL suite au rachat de Sun puis par Oracle.
Pour la partie histoire, MariaDB a été forké par le développeur à l’origine de MySQL (Monty Widenius). Il n’était cependant plus impliqué dans le développement de MySQL. Petite anecdote sur le nom du SGBD, Maria est le nom de la seconde fille de Monty.
Avantages
MariaDB se veut être un fork de MySQL plus « libre » que celui-ci (coucou Oracle), MariaDB est plus ouvert et communautaire. Tout les bugs et les roadmap concernant les nouvelles versions sont donc librement accessible (contrairement à Oracle). Pour rappel, Oracle se contente de fournir des patch sans annoncer à quoi cela sert … Regardez cette alerte de sécurité Debian. Oracle pratique la sécurité par l’obscurité. Et apparemment certaines failles ne sont toujours pas corrigées !
MariaDB est compatible à 100% avec MySQL ! (Chouette la documentation Evolix est donc compatible à 100% ), le cœur du développement est basé sur la version de MySQL en upstream.
Nouvelles fonctionnalités
Nouveaux moteurs de stockage
- XtraDB remplace InnoDB, une version améliorée par Percona conçu pour un meilleur scaling sur le matériel actuel, incluant de nombreuses fonctionnalités très utiles sur les environnements à haute performances. En savoir plus (en).
- Aria remplace MyISAM (initialement nommé Maria, puis renommé en Aria pour éviter les confusions entre le moteur de stockage et le SGBD). Ce moteur est « crash-safe » permettant de se restaurer automatiquement après un crash. Dans sa version 2, il permettra de gérer les transactions.
Il est aussi plus rapide pour les requêtes complexes car il n’a plus besoin d’écrire des informations temporaire sur le disque comme le faisait MyISAM. En savoir plus (en).
Amélioration des performances
- Beaucoup d’optimisation globales sur les jointures, accès disques, gestion des accès concurrentiels, etc.
- Réplication plus rapide et sécurisée ! Notamment grâce à l’utilisation de « groupes de commit dans les binlogs ». La réplication est annoncée comme 2 fois plus rapide qu’avec MySQL.
- Chargement des requêtes plus efficace grâce à l’utilisation de Thread Pool, permettant de charger plusieurs requêtes par thread au lieu « d’une requête par connexion ».
En savoir plus (en), notamment un tableau récapitulatif des fonctionnalités optimisées par rapport à MySQL.
Quid des performances ?
Selon les cas, elles sont annoncées comme meilleures avec MariaDB qu’avec MySQL.
Benchmark
Les benchmark sont toujours délicats et reflètent rarement d’un environnement en production. On peut trouver des benchmarks sur le blog de MariaDB. Voici un benchmark sur les nombreuses améliorations de MariaDB 5.3, globalement MariaDB s’en sort bien mieux que MySQL.
Sucess-stories
Outre les tests de performances, on peut aussi trouver des rapports de « success‑stories ». Voici le retour du site Particulier à Particulier qui a migré en 2011 et annonce un gain en performance et stabilité.
Comment l’installer sur Debian Wheezy
MariaDB n’est pas encore disponible dans les dépôts officiels de Debian. Pour l’installer il faut donc utiliser les dépôts de MariaDB que l’on peut trouver sur leur site. Les packageurs Debian sont toujours en discussions pour savoir s’ils vont remplacer MySQL par MariaDB.
Conclusion
Faut-il passer à MariaDB ? Sans aucun doute oui ! Plus performant, plus libre, plus sécurisé (avis personnel – on ne va pas ressortir le troll sur la sécurité par l’obscurité) et futur assuré contrairement à Oracle qui pourrait décider d’abandonner MySQL (ou de le rendre complètement fermé) à tout moment ! MariaDB 10, la prochaine version toujours en cours de développement (correspondant à Oracle MySQL 5.6) semble être très prometteuse, avec des nouvelles fonctionnalités non présentes pour MySQL 5.6 (réplication multi-source, group commit plus rapide, le moteur NoSQL Cassandra, plus de statistiques pour les optimisation des moteurs, …).
De mon point de vu personnel, outre les aspects performances, MariaDB me semble être le SGBDR de référence dans le monde des logiciels libres avec PostgreSQL.
Sources
- https://mariadb.org/
- https://kb.askmonty.org/en/about-xtradb/
- https://kb.askmonty.org/en/mariadb-versus-mysql-features/
- https://kb.askmonty.org/en/aria-faq/
- https://linuxfr.org/news/mariadb-et-drizzle-pour-repartir-sur-de-bonnes-bases
Note : Relecteur(s) apprécié(s) pour corriger les fautes