Qu’est-ce que MariaDB ? Définition & fonctionnement de la base de données

Par Xavier Deloffre

Lorsque l’on évoque les bases de données relationnelles, MySQL figure souvent parmi les références incontournables. Pourtant, depuis plusieurs années, une alternative libre et performante s’impose dans les infrastructures modernes : MariaDB. Conçu comme un remplaçant direct de MySQL, mais avec une gouvernance communautaire indépendante, MariaDB séduit par sa compatibilité, sa robustesse et ses innovations. Que vous soyez développeur, administrateur système ou architecte cloud, comprendre ce qu’est MariaDB et comment il fonctionne est essentiel pour bâtir des systèmes fiables et évolutifs.

MariaDB : La définition et l’origine historique du projet

MariaDB est un système de gestion de base de données relationnelle (SGBDR) libre et open source, conçu pour stocker, interroger, organiser et manipuler des ensembles de données structurées selon le paradigme relationnel. Comme tout SGBDR, il repose sur le langage SQL (Structured Query Language) pour permettre la communication entre l’utilisateur (ou l’application) et la base de données. Mais au-delà de sa dimension technique, MariaDB est aussi le fruit d’une histoire singulière, étroitement liée à celle de son prédécesseur, MySQL, et aux enjeux de la gouvernance du logiciel libre.

Origines : du succès de MySQL à sa reprise par Oracle

Pour bien comprendre la naissance de MariaDB, il faut remonter aux années 1990. En 1995, trois ingénieurs scandinaves (Michael « Monty » Widenius (Finlande), David Axmark (Suède) et Allan Larsson (Suède)) fondent la société MySQL AB, à Uppsala en Suède. Leur but : créer un moteur de base de données simple, rapide, libre et accessible, capable de rivaliser avec les solutions commerciales comme Oracle ou Microsoft SQL Server. Le nom « MySQL » vient de « My », la fille de Monty, et « SQL », le langage standardisé. MySQL devient rapidement l’un des piliers de l’écosystème open source, notamment grâce à son intégration dans la pile LAMP (Linux, Apache, MySQL, PHP/Perl/Python). Dans les années 2000, il est utilisé par de nombreux projets web emblématiques (WordPress, Joomla, Drupal, Wikipedia) et par des entreprises à très forte charge comme Facebook, YouTube ou Google.

En 2008, Sun Microsystems rachète MySQL AB pour un montant de 1 milliard de dollars, intégrant MySQL dans son portefeuille de solutions open source. Mais en janvier 2010, Oracle, géant américain de l’édition de logiciels propriétaires et concurrent direct de MySQL, rachète à son tour Sun Microsystems. Cette acquisition provoque une onde de choc dans la communauté du libre : beaucoup craignent que MySQL perde son indépendance, voire qu’il soit progressivement marginalisé au profit d’Oracle Database.

La naissance de MariaDB en 2009

Anticipant ces risques, Michael Widenius quitte Sun en 2009 et initie un fork de MySQL : c’est la naissance de MariaDB, baptisé cette fois du prénom de sa deuxième fille, Maria. L’idée est de reprendre le code source libre de MySQL (encore sous licence GPLv2), de le faire évoluer indépendamment et de garantir un développement communautaire transparent et pérenne. MariaDB conserve dès le départ une compatibilité maximale avec MySQL : mêmes commandes SQL, mêmes fichiers de configuration, mêmes protocoles réseau. Cela permet à toute application conçue pour MySQL de fonctionner avec MariaDB sans aucune modification, dans une logique de drop-in replacement.

La MariaDB Foundation et la gouvernance ouverte

En 2012, la MariaDB Foundation est créée à but non lucratif pour assurer la gouvernance du projet. Basée à Helsinki en Finlande, elle regroupe un écosystème d’acteurs du logiciel libre, d’entreprises utilisatrices et de développeurs bénévoles. Son objectif est clair : garantir l’indépendance du projet face aux intérêts commerciaux, maintenir sa transparence, et encourager la contribution communautaire. La Fondation veille notamment à ce que :

  • Le code source de MariaDB reste sous licence libre GPLv2 ;
  • Les contributions soient évaluées publiquement via un processus de revue ouvert ;
  • La feuille de route du projet soit définie de manière collective et publique.

En parallèle, l’entreprise MariaDB Corporation, également fondée par Monty, propose des services commerciaux autour du logiciel libre : support, consulting, hébergement cloud (MariaDB SkySQL), tout en reversant ses améliorations à la branche communautaire.

L’évolution du projet MariaDB

Depuis sa création, MariaDB n’a cessé d’évoluer. Alors que MySQL, sous l’égide d’Oracle, suit un cycle de développement plus fermé, MariaDB a su se différencier par son rythme d’innovation rapide et sa politique d’ouverture. Chaque version apporte son lot de fonctionnalités nouvelles, souvent absentes de MySQL ou intégrées beaucoup plus tardivement. Quelques jalons clés dans l’histoire de MariaDB :

  • 2010 : première version stable (MariaDB 5.1), entièrement compatible avec MySQL 5.1 ;
  • 2013 : adoption par plusieurs distributions Linux majeures (Arch Linux, Fedora, OpenSUSE, Mageia) ;
  • 2015 : sortie de MariaDB 10.1 avec chiffrement natif des tablespaces ;
  • 2017 : lancement de MariaDB ColumnStore pour le traitement analytique (OLAP) ;
  • 2020 : introduction de MariaDB SkySQL, plateforme cloud managée ;
  • 2022 : MariaDB devient cotée en bourse via SPAC à New York (NYSE : MRDB).

MariaDB est aujourd’hui utilisé par des millions de serveurs à travers le monde, tant dans les petites structures que dans des déploiements critiques à l’échelle des grandes entreprises ou administrations publiques.

Grâce à son héritage MySQL, à son ouverture et à sa capacité à innover, MariaDB est devenu un symbole de la résilience de l’open source face aux logiques d’appropriation commerciale. Sa philosophie, incarnée par ses créateurs historiques et sa communauté internationale, continue de défendre un modèle technologique fondé sur la liberté, la transparence et la collaboration.

Le fonctionnement technique de MariaDB

MariaDB repose sur une architecture client-serveur classique : le serveur MariaDB (daemon) écoute les requêtes SQL envoyées par des clients (interfaces en ligne de commande, bibliothèques, applications web ou mobiles) et y répond en accédant aux données stockées sur disque.

Les moteurs de stockage de MariaDB

MariaDB supporte plusieurs moteurs de stockage (storage engines) permettant de gérer la façon dont les données sont physiquement organisées et manipulées :

Moteur de stockage Description et cas d’usage
InnoDB Moteur de stockage par défaut de MariaDB, conforme au modèle ACID (Atomicité, Cohérence, Isolation, Durabilité). Il supporte les transactions, les verrous au niveau des lignes (row-level locking), le ROLLBACK, les contraintes de clé étrangère et les transactions concurrentes via le mécanisme MVCC (Multi-Version Concurrency Control). Idéal pour les applications transactionnelles, ERP, CRM et les sites e-commerce.
Aria Successeur de MyISAM, conçu comme moteur de remplacement plus robuste. Aria permet des écritures rapides et un accès performant en lecture, tout en assurant une meilleure tolérance aux pannes. Il est optimisé pour les opérations de cache disque et peut fonctionner en mode transactionnel (non ACID) ou non transactionnel. Pratique pour les tables temporaires ou les systèmes nécessitant des performances élevées avec un minimum de logique transactionnelle.
MyISAM Moteur historique de MySQL, encore pris en charge dans MariaDB pour des raisons de compatibilité. Il se distingue par sa rapidité en lecture grâce à une faible surcharge transactionnelle, mais ne gère pas les transactions ni les contraintes d’intégrité. Vulnérable en cas de crash serveur. À réserver pour des cas spécifiques, comme des tables en lecture seule ou des systèmes d’archivage statique.
TokuDB Moteur conçu pour les applications à forte volumétrie de données. Il utilise un algorithme de compression avancé (Fractal Tree Index) pour réduire l’espace disque utilisé tout en maintenant de bonnes performances en écriture. Bien adapté au Big Data, aux systèmes d’audit ou aux historiques de logs volumineux. Il est toutefois marqué comme obsolète dans les versions récentes de MariaDB, et son usage est progressivement remplacé par des moteurs comme ColumnStore.
Spider Moteur de stockage distribué permettant de partitionner horizontalement des tables sur plusieurs serveurs MariaDB distants. Il est particulièrement utile pour gérer de très grands ensembles de données répartis sur plusieurs nœuds tout en conservant une interface SQL unique. Spider gère les requêtes inter-serveurs, la distribution des index, et les jointures distribuées. Idéal pour des architectures de type cluster ou multitenant.
ColumnStore Moteur orienté colonnes, destiné aux traitements analytiques massifs (OLAP). Il permet des agrégations rapides sur des milliards de lignes, tout en optimisant les lectures sélectives grâce au stockage en colonnes et à la compression. Parfait pour les entrepôts de données, les rapports décisionnels, la BI (Business Intelligence) et les requêtes complexes sur des jeux de données historiques.

Le moteur de stockage est défini à la création de la table, mais peut être modifié selon les besoins. Cette modularité permet d’adapter MariaDB à des cas d’usage variés (transactionnel, analytique, embarqué, distribué…).

Le langage SQL et les fonctionnalités avancées avec MariaDB

MariaDB implémente une vaste partie du standard SQL ANSI/ISO tout en y ajoutant des extensions propres, ce qui en fait un moteur à la fois compatible et innovant. Il est conçu pour prendre en charge des cas d’usage variés : du traitement transactionnel classique aux requêtes analytiques massives. Sa richesse fonctionnelle permet d’optimiser à la fois les performances, la maintenabilité et la fiabilité des bases de données dans des environnements hétérogènes.

Fonctionnalité SQL Description et utilité
Transactions SQL MariaDB prend en charge les transactions avec START TRANSACTION, COMMIT et ROLLBACK, permettant de regrouper plusieurs opérations en un tout cohérent. Idéal pour les systèmes bancaires, de facturation ou les processus critiques où la cohérence des données est primordiale.
Procédures stockées, fonctions, triggers Ces éléments permettent de stocker de la logique métier directement dans la base de données, réduisant ainsi la charge côté application et facilitant la réutilisabilité du code. Les triggers sont déclenchés automatiquement sur des événements (INSERT, UPDATE, DELETE).
Vues SQL Une vue est une requête stockée qui agit comme une table virtuelle. Elle permet d’isoler la complexité des jointures ou des règles de sécurité, en exposant uniquement les colonnes nécessaires à certains utilisateurs ou modules.
Index full-text Permettent la recherche de texte libre dans de grandes quantités de données textuelles. Utilisés notamment pour les moteurs de recherche interne, blogs ou forums avec fonctionnalités de recherche avancée.
Index spatiaux Gèrent les types de données géographiques (POINT, POLYGON…), utiles dans les applications de cartographie ou de géolocalisation, avec des extensions compatibles avec OpenGIS.
Colonnes virtuelles Colonnes calculées à la volée à partir d’autres champs, sans occuper d’espace disque. Permettent d’implémenter des règles métier ou des dérivations de données directement dans la couche SQL.
Colonnes invisibles Colonnes non exposées dans les requêtes SELECT * par défaut, mais stockées et exploitables. Utile pour intégrer des métadonnées ou éléments techniques sans polluer les jeux de résultats standards.
Support natif du JSON MariaDB permet de stocker, interroger et manipuler des documents JSON via des fonctions dédiées : JSON_EXTRACT, JSON_CONTAINS, JSON_SET, etc. Cela autorise une flexibilité semi-structurée dans un environnement relationnel.
Réplication SQL MariaDB permet la réplication de données entre plusieurs serveurs. Elle peut être configurée en mode maître-esclave (lecture répartie) ou maître-maître (écriture simultanée). Indispensable pour la haute disponibilité et la montée en charge.
Transactions distribuées (XA) MariaDB prend en charge les transactions XA qui permettent d’assurer la cohérence de données réparties sur plusieurs bases ou services, même dans des architectures microservices ou multi-nœuds.

Fonctionnalités spécifiques à MariaDB (non présentes dans MySQL)

Fonctionnalité avancée Description
Connecteur Cassandra Permet à MariaDB d’interagir avec une base de données Cassandra, offrant une hybridation SQL/NoSQL. Cela permet d’exploiter des données issues d’un cluster Cassandra via des requêtes SQL classiques.
Réplication asynchrone multi-source Autorise un serveur MariaDB à répliquer les données depuis plusieurs sources maîtres simultanément, facilitant la consolidation de données distribuées (ex : consolidation de données multi-régions).
Optimiseur de requêtes avancé MariaDB intègre un optimiseur qui analyse, réorganise et accélère l’exécution de requêtes complexes (jointures multiples, sous-requêtes corrélées, index conditionnels…). Cela améliore les performances globales sans modifications de code SQL.

Grâce à cette richesse fonctionnelle, MariaDB se positionne comme une base de données relationnelle de haut niveau, capable de répondre à des besoins variés, allant des applications métiers critiques aux environnements analytiques modernes. Sa compatibilité avec les standards SQL, couplée à ses innovations propres, en fait une solution particulièrement attractive dans les environnements open source et cloud-native.

L’administration et la sécurité de MariaDB

MariaDB offre une large palette d’outils et de fonctionnalités pour administrer et sécuriser ses bases de données, tant pour les petites structures que pour les environnements d’entreprise critiques. Que ce soit pour la gestion quotidienne, l’optimisation, la supervision ou la sécurisation des accès, le système a été pensé pour offrir flexibilité, performance et conformité aux standards modernes de sécurité informatique.

Interfaces d’administration

Outil ou interface Description et usage
mariadb ou mysql (CLI) Interface en ligne de commande permettant d’exécuter des requêtes SQL, d’administrer les utilisateurs, de configurer le serveur ou d’automatiser des tâches via des scripts. Préférée pour les opérations avancées, les scripts cron ou l’automatisation DevOps.
phpMyAdmin Interface web populaire, écrite en PHP, permettant une gestion visuelle des bases de données. Idéale pour les débutants ou pour l’administration rapide de bases simples via navigateur.
Adminer Alternative légère à phpMyAdmin, en un seul fichier PHP, rapide à déployer. Convient bien aux environnements limités ou aux audits ponctuels.
MariaDB SkySQL Plateforme cloud officielle de MariaDB Corporation, incluant une API REST pour piloter les bases à distance, les scaler automatiquement, appliquer des politiques de sécurité et assurer la haute disponibilité.
Outils de monitoring MariaDB peut être intégré avec des solutions comme Prometheus + Grafana, Percona Monitoring and Management (PMM) ou Netdata pour une supervision avancée des performances et de l’état des serveurs.

Les fonctionnalités de sécurité intégrées à MariaDB

MariaDB intègre par défaut une série de mécanismes de sécurité conçus pour protéger l’intégrité des données, limiter l’exposition réseau et tracer les accès ou les modifications.

Mécanisme Description
GRANT / REVOKE Gestion fine des droits d’accès aux bases, tables, colonnes, procédures et objets SQL. Possibilité de restreindre les actions par hôte, IP, utilisateur ou rôle.
Authentification externe Support d’authentification via plugins : PAM (Linux), LDAP (annuaire centralisé), Kerberos (SSO), ou unix_socket pour l’authentification système directe.
SSL/TLS pour les connexions Chiffrement des communications client-serveur pour éviter les interceptions sur le réseau. Utilisation de certificats x.509, validation mutuelle possible.
Chiffrement des données au repos Support du chiffrement des tablespaces, des fichiers de log (binary logs), des colonnes sensibles via ENCRYPTED, avec intégration à des solutions de gestion de clés (Key Management Systems).
Audit logging Activation possible du journal d’audit (server_audit) pour tracer les connexions, requêtes, modifications, erreurs ou lectures sur des tables sensibles. Compatible avec les politiques RGPD, HIPAA ou PCI-DSS.
Plugin mysql_secure_installation Assistant de configuration initiale qui permet de sécuriser rapidement une installation : suppression des comptes anonymes, désactivation des connexions root à distance, définition d’un mot de passe fort.
Contrôle des politiques de mot de passe Support de la validation de complexité des mots de passe (via plugins), expiration automatique, historique, et politiques basées sur des rôles.
Gestion des rôles (CREATE ROLE) Permet de créer des rôles utilisateur réutilisables pour simplifier l’attribution des privilèges (ex : rôle “lecture seule”, “admin catalogue”…)

Les bonnes pratiques de sécurisation de MariaDB

  • Éviter l’utilisation du compte root en production ; préférer des utilisateurs dédiés à privilèges limités ;
  • Configurer les pare-feux pour restreindre les connexions réseau aux seules adresses autorisées ;
  • Désactiver les fonctionnalités inutiles (ex. LOAD DATA LOCAL INFILE si non utilisé) ;
  • Tenir MariaDB à jour pour bénéficier des derniers correctifs de sécurité ;
  • Surveiller les logs système et les journaux MariaDB à l’aide de solutions SIEM (type Wazuh ou ELK Stack).

L’administration de MariaDB combine puissance, granularité et adaptabilité. Couplée à ses nombreuses fonctionnalités de sécurité natives, elle permet de déployer des environnements fiables, évolutifs et conformes aux standards actuels de protection des données, quel que soit le secteur d’activité ou la taille du projet.

Xavier Deloffre

Xavier Deloffre

Fondateur de Facem Web, agence implantée à Arras et à Lille (Hauts-de-France), je suis spécialiste du Web Marketing, formateur expérimenté, et blogueur reconnu dans le domaine du Growth Hacking. Passionné par le référencement naturel (SEO) que j'ai découvert en 2009, j'imagine et développe des outils web innovants afin d'optimiser la visibilité de mes clients dans les SERPs. Mon objectif principal : renforcer leur notoriété en ligne par des stratégies digitales efficaces et créatives.

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Besoin de visibilité ?

☑️ Experts du référencement

☑️ + de 12 ans d’éxpérience

☑️ + 500 clients satisfaits

☑️ Création de sites

☑️ Audit SEO

☑️ Conseil SEO

☑️ Référencement de sites

☑️ Devis gratuit