MariaDB MaxScale : un proxy pour passer MySQL et MariaDB à l’échelle
MariaDB a développé une couche d’abstraction entre la base de données et l’application afin de faciliter le dimensionnement ou la gestion du clustering sans toucher à l’application.
MariaDB veut caler les applications sur le modèle des architectures Web. La société, ex- SkySQL, qui développe la base de données Open Source MariaDB (fork de MySQL) a présenté MaxScale, une technologie de proxy Open Source, dont la particularité est d’insérer une couche d’abstraction entre l’application et la base de données.
L’objectif : installer un médiateur entre ces deux couches - généralement interdépendantes - pour au final les découpler et faciliter le dimensionnement de la base sans toucher à l’application. L’idée est de permettre d’ajuster et de faire évoluer le back-end (la base de données) d’une application afin d’en améliorer sa scalabilité et la disponibilité.
MaxScale est présenté comme « un composant d’infrastructure modulaire qui s’enfiche entre les clients et les bases de données et qui a la capacité de cacher la complexité du clustering de la base et de traduire de façon dynamique les requêtes et leurs réponses entre plusieurs technologies de bases de données », comme le décrit un livre blanc publié sur le site de MariaDB.
Une sorte de serveur médiateur qui vient traduire concrètement les pics en matière de trafic et de demandes clients de l’application sur le back-end. Et au final gérer les ressources de la base depuis un point unique.
« Ce concept de proxy n’est pas nouveau. Mais du moins pour MySQL, ils ont été cantonnés à des usages spécifiques », résume encore MariaDB.
Une architecture évolutive à base de plug-ins
La solution met à disposition une série d’APIs, proposant plusieurs fonctions sous la forme de plug-ins, permettant à la solution d’être étendue en fonctions des besoins.
Par défaut, MaxScale dispose de cinq types de plug-ins, ciblant : les protocoles, la supervision, le routage, l’authentification et la journalisation des requêtes. Autant d’opérations pour l’heure prises en charge par MaxScale.
Côté protocoles clients, MariaDB supporte d’abord les connecteurs MySQL (avec lesquels MariaDB est compatible). Dans le futur, la technologie de proxy devrait supporter JSON sur http, BSON ou « des connecteurs vers des bases de données commerciales » comme SQL Server, Hadoop ou encore PostGreSQL, précise l’éditeur.
Du côté des protocoles back-end, qui créent une couche d’abstraction au-dessus des différents bases ou technologies de clustering, MaxScale supporte MySQL et MariaDB, ainsi que Galera Cluster (technologie de cluster déjà embarqué dans MariaDB Enterprise).
Une configuration peut contenir plusieurs proxies MaxScale pour accroître la disponibilité et éliminer les points uniques de défaillance, précise encore MariaDB dans ce même livre blanc.
La solution est disponible en Open Source dans sa version 1.0 sous une licence GPLv2 depuis GitHub.
Pour MariaDB, MaxScale symbolise le positionnement de la société, initié lors du changement de nomination en octobre 2014 (SkySQL en MariaDB). Une mutation qui avait pour vocation de clarifier l’offre du groupe et de concrétiser la place de chef de fil de la société dans le monde MariaDB.