MariaDB mise sur l’expertise humaine pour devenir le numéro un des SGBDR

L’éditeur enrichit la version commerciale de son serveur de bases de données de fonctions de pointe, dont un packaging SkySQL qui favorise le fine-tuning. L’enjeu est de prouver qu’il sert mieux les experts que ne le font les services de données en cloud, ou qu’Oracle.

Tenant salon à New York fin février, l’éditeur MariaDB a clarifié sa stratégie autour de la solution Clustrix racheté en décembre dernier, a levé le voile sur une prochaine version 10.4 de son SGBDR et a surtout dévoilé SkySQL. Plus que des annonces produits, il s’agissait surtout de marteler que l’éditeur sait répondre à des attentes très techniques.

SkySQL est un nouveau packaging au format Kubernetes de son SGBDR, pour reconfigurer à la volée les ressources utilisées par une base de données. La simplicité de mise en production par Kubernetes est ici censée adresser la problématique du « fine-tuning » d’une base ; comprendre sa configuration aux petits oignons. Cette tâche est essentielle pour éviter de gâcher des ressources, mais elle est si laborieuse que les entreprises rechignent à la répéter à chaque fois que les données grimpent en volume.

« SkySQL permettra aux entreprises de gagner du temps et de l’argent dans leurs déploiements. Car déployer le bon nombre de serveurs pour traiter des données n’est simple que lorsque l’on connaît à l’avance la charge que la base va subir. Comme ce n’est généralement pas le cas, on se retrouve très souvent soit à payer trop cher en ressources, soit à ne pas en avoir assez et être limité en performances », assure au MagIT Sylvain Arbaudie, consultant chez MariaDB.

« Avec Kubernetes, nous simplifions le tuning à l’extrême. Il n’y a plus à jongler sans cesse entre les consoles d’administration des machines virtuelles, de MariaDB, etc. pour tester les meilleures configurations. Il suffit de cliquer pour déployer ou enlever des ressources jusqu’à trouver la solution la plus optimale. »

Précisons qu’en aucun cas l’éditeur ne parle de microservices. Sa solution consiste à placer des serveurs maîtres ou esclaves MariaDB TX (transactionnels) ou AX (analytiques) avec leurs données dans des containers Docker uniquement pour profiter de la facilité de les administrer avec Kubernetes.

SkySQL pour s’affranchir des automatismes du cloud

Les serveurs MariaDB n’étant généralement déployés en ressources virtuelles que lorsqu’ils sont hébergés dans le cloud, SkySQL se veut une alternative plus efficace aux consoles d’administration et aux services tout automatisés d’Azure, AWS et consort. Techniquement parlant, il ne s’agirait plus d’héberger une base de données dans un service cloud dédié à cette fonction, comme RDS chez AWS par exemple, mais de l’encapsuler dans un container exécuté par un cloud IaaS, comme EC2 chez AWS.

Sur scène, le CEO Michael Howard illustre avec des courbes la comparaison entre le service RDS d’AWS, lorsqu’il attribue automatiquement des ressources MariaDB Server à une base de données selon sa taille, et des nœuds MariaDB gérés par des humains qui savent exactement quand et comment les déployer.
Dans le premier cas, le nombre de transactions par cœur de processeurs chute rapidement au fur et à mesure que des ressources virtuelles sont automatiquement ajoutées, suggérant qu’on les paie au prix fort pour une fraction de plus en plus réduite de leur puissance. Dans le second cas, la courbe reste à son plus haut niveau dans le temps, ce qui laisse entendre que l’expert est meilleur que la machine pour savoir comment configurer la scalabilité des serveurs.

Selon l’aveu de Michael Howard, SkySQL doit surtout servir à sponsoriser les Managed Services lancés l’année dernière et qui consistent à confier toute l’administration d’une base (reconfiguration, réplications, backup...) à des experts de l’éditeur. Ce service souffrait jusqu’ici de la concurrence du cloud, puisque les entreprises qui n’ont pas assez de DBA en interne pour assurer la maintenance de leurs SGBDR, ont la facilité de confier leur administration à des services tout automatisés chez AWS, Azure et autre Google Cloud.

« Avec Kubernetes, nous devenons neutres vis-à-vis de la couche technique qui exécute nos serveurs MariaDB. Si bien que les entreprises peuvent compter sur notre expertise quel que soit l’hébergeur cloud de leurs bases », commente Sylvain Arbaudie.

Le CEO de Severalnines, Vinay Joosery, qui édite la solution Cluster Control pour automatiser les tâches d’administration d’un SGBDR, ne croît pas que SkySQL va accélérer la commercialisation des Managed Services : « Les entreprises ont besoin de gérer plusieurs types de bases de données et MariaDB ne peut les aider que sur les produits qu’il leur vend. La prise en charge d’une partie des données par un éditeur en particulier restera donc marginale selon moi. »

Il y voit en revanche une véritable avancée technique. « Le véritable intérêt de SkySQL est qu’il concrétise l’encapsulation des bases de données dans des containers, alors que les entreprises ne font habituellement cela que sur leurs applications et stockent leurs données sur des ressources physiques. Cette encapsulation va permettre de répliquer très simplement les données, typiquement vers des cloud d’appoint pour tester des projets », commente-t-il, en promettant d’intégrer plus tard cette année des fonctions dédiées à Kubernetes dans Cluster Control. 

La prochaine version 10.4 apportera la reconfiguration en temps réelle

MariadDB n’a indiqué ni tarifs ni date de sortie pour SkySQL. Il est cependant probable que l’offre arrivera avec la prochaine version 10.4 des serveurs TX et AX, désormais unifiés sous le label X3.

Parmi les nouveautés apportées par cette prochaine version, quatre ont été dévoilées lors de l’événement. Les deux plus importantes concernent les backups et les restructurations des tables de données qui se font désormais en temps réel. Les backups ne bloqueront plus le fonctionnement de la base et il sera possible de changer la structure d’une table à la volée, sans devoir en préparer une copie pour l’architecturer différemment ensuite. Ces caractéristiques inédites reposent sur de nouveaux parallélismes de pointe dans le moteur du SGBDR qui ont été développés en collaboration avec l’éditeur SaaS ServiceNow.

« Jusqu’ici, pour modifier la structure d’une table, par exemple ajouter ou enlever une colonne, il fallait faire une copie de la structure, la modifier, puis insérer dedans le contenu de chaque ligne une à une. Avec une table de 1 To, l’opération pouvait durer deux jours », explique Max Mether, le directeur produits de l’offre serveur chez MariaDB.

« Désormais, il suffit de définir les caractéristiques de la nouvelle structure et les changements s’appliquent en quelques microsecondes au fur et à mesure que les données sont mises à jour. Ainsi, si une colonne doit être supprimée, elle le sera quand on écrira sur la ligne et l’espace de stockage occupé par cette colonne sera automatiquement récupéré. »

Les deux autres nouveautés de la version 10.4 concernent la sécurité – il sera possible de bloquer l’accès de certains comptes utilisateurs directement depuis la base – et une amélioration de la vitesse pour le module de cluster Galera, désormais en version 4.

MaxScale, la clé de voute de la version commerciale

Le grand absent de cette mise à jour estivale sera en revanche Clustrix, le moteur de stockage en Cluster racheté en septembre dernier. MariaDB se réjouit qu’il permette de répartir une base de données transactionnelle sur 3000 cœurs pour atteindre 5,23 millions de transactions à la seconde. Mais l’éditeur veut se donner le temps d’affuter la solution pour qu’elle soit intégrée au mieux à son offre. Il n’est pas question toutefois d’utiliser Clustrix pour remplacer l’actuel module Galera.

« Galera et Clustrix ont deux objectifs différents. Galera réplique entièrement la base du serveur maître sur des esclaves afin de démultiplier les possibilités d’accès en lecture et en écriture simultanés. Clustrix, quant à lui, étale les données sur plusieurs nœuds afin de paralléliser le traitement des transactions », indique Max Mether.

Selon lui, il n’y a pas d’intérêt immédiat à packager Clustrix dans X3 car il impose son propre moteur de stockage en cluster, lequel mettra environ une année à être évalué par les entreprises (Galera, lui, fonctionne avec le classique InnoDB).

Techniquement, on se doute surtout qu’il reste du chemin à faire pour faire communiquer correctement Clustrix et MaxScale, le proxy de MariaDB désormais en version 2.3. Celui-ci sert tout autant à répartir la charge sur un cluster Galera qu’à assurer, grâce à son module CDC (Change Data Capture), la réplication en temps réel des données entre un serveur OLTP (TX) et un OLAP (AX) afin de faire du transactionnel et de l’analytique avec le même jeu de données et les mêmes licences MariaDB. MaxScale, surtout, est le module qui différencie la version commerciale de MariaDB de sa version Open source. Il est hors de question qu’on le voit dysfonctionner parce qu’on l’aurait interfacé trop vite à Clustrix.

« MariaDB marche sur des œufs avec MaxScale. Selon nos tests, il n’est pas exempt de bugs dans le cadre de X3. Notamment, il ne vérifie pas assez que les données sont répliquées correctement entre les serveurs OLTP et OLAP. Or, ce n’est pas systématiquement le cas : il peut y avoir des problèmes de réseau ou même de serveurs et ils ne sont pas encore complètement pris en compte », observe Vinay Joosery. Il pondère son propos en reconnaissant la jeunesse du produit ; X3 n’ayant été officialisé qu’en janvier dernier.

L’Open source, l’argument qui pose MariaDB en meilleure alternative d’Oracle

Selon Michael Howard, MariaDB peut se targuer d’être le SGBDR le plus répandu au monde. Il omet toutefois de préciser que ce record n’est dû qu’à la livraison de la version Open source du logiciel dans toutes les distributions Linux, à l’exception étrange d’Ubuntu.

Vinay Joosery a une analyse plus factuelle du succès de MariaDB : « nous avons de plus en plus d’utilisateurs de MariaDB parmi nos clients ; je dénombre une vingtaine de grands comptes en France. Outre le fait qu’il s’agisse du SGBDR par défaut dans Linux, je pense que MariaDB a fini par gagner le titre honorifique de l’anti-Oracle ; il s’agit de la solution vers laquelle se tournent désormais toutes les entreprises qui n’en peuvent plus d’Oracle et de ses tarifs. ».

« Il est vrai que la compatibilité avec le langage PL/SQL d’Oracle que nous proposons depuis un an a dynamisé l’adoption de MariaDB auprès des entreprises car cela simplifie grandement la migration vers notre SGBDR qui coûte en moyenne 80 % moins cher », commente pour sa part Olivier Beutels, directeur commercial de MariaDB pour la zone EMEA. Il précise d’ailleurs que cette compatibilité a été rendue possible grâce au financement de la banque singapourienne DBS : « en sponsorisant le développement d’une couche de compatibilité PL/SQL, DTS s’est offert la possibilité de migrer ses 180 applications de bases Oracle à MariaDB. En un an, ils en ont déjà migré une centaine et ont économisé 5 à 6 millions d’euros », ajoute-t-il.

Selon Olivier Beutel, MariaDB serait commercialisé auprès d’une cinquantaine de clients français. Outre des banques et des institutions comme la Haute Autorité des Pharmaciens qui migrent désormais depuis Oracle, l’éditeur séduit nombre d’entreprises nées avec le web (Pixid, Blablacar, Booking.com...) et pour qui MySQL, le prédécesseur de MariaDB, était déjà le choix technique idéal. La France serait pour MariaDB la quatrième zone commerciale européenne après l’Allemagne, le Royaume-Uni et la Scandinavie.

Mais le gros des utilisateurs français est surtout constitué d’un nombre incalculable d’entreprises qui utilisent jusque-là la version Open Source du logiciel. Parmi elles, le spécialiste du reciblage publicitaire Criteo.

« Nous utilisons plusieurs systèmes de bases de données pour nos différents besoins. Entre SQL Server, Vertica, Cassandra et autres Couchbase, nous avons déployé la version Open source de MariaDB pour les applications internes non critiques. Mais comme nous nous rendons compte que MariaDB fonctionne en définitive très bien, nous souhaitons à présent étendre son usage à nos autres applications », témoigne Pierre Dumont, senior database engineer chez Criteo.

« Il appartient donc à mon équipe de construire une plateforme solide, avec haute disponibilité, résilience, sauvegarde, monitoring, etc. Manifestement, le moyen le plus standard de mettre tout cela en place est de déployer le module MaxScale. Mais nous avons bien compris que pour profiter de toutes ses fonctions intéressantes, nous devrons passer à la version payante », conclut-il.

Pour approfondir sur Open Source