| Créateur | Michael Widenius |
|---|---|
| Développé par | MariaDB plc, MariaDB Foundation |
| Première version | |
| Dernière version | 13.0.2 () |
| Dépôt | MariaDB sur GitHub |
| État du projet | En développement permanent |
| Écrit en | C, C++ et Perl |
| Système d'exploitation | Microsoft Windows, macOS, Linux, Solaris et OpenBSD |
| Environnement | Amazon Web Services et Google Cloud Platform |
| Langues | Anglais |
| Type | SGBDR |
| Licence | GPLv2 |
| Documentation | mariadb.com/kb/en/documentation |
| Site web | mariadb.com |
MariaDB est un système de gestion de base de données édité sous licence GPL. Il s'agit d'un dérivé communautaire de MySQL : la gouvernance du projet est assurée par la fondation MariaDB, et sa maintenance par la société MariaDB plc, successeur de Monty Program AB. Cette gouvernance confère au logiciel l'assurance de rester libre.
En 2009, à la suite du rachat de MySQL par Sun Microsystems et des annonces du rachat de Sun Microsystems par Oracle Corporation, Michael Widenius, fondateur de MySQL, quitte cette société pour lancer le projet MariaDB, dans une démarche visant à remplacer MySQL tout en assurant l'interopérabilité.
MariaDB doit son nom à Maria, la 2e fille de Michael Widenius ; MySQL avait quant à lui été nommé en l'honneur de sa première fille, My.
Son logo représente un lion de mer, que Widenius a choisi à la suite d'une rencontre avec ces animaux lors d'une session de plongée avec tuba avec sa fille aux îles Galápagos, en 2002.
MariaDB a été créé en 2009 par Michael « Monty » Widenius et d'autres développeurs originaux de MySQL, suite à l'annonce du rachat de Sun Microsystems — propriétaire de MySQL depuis 2008 — par Oracle Corporation. Soucieux qu'Oracle restreigne le développement en open source, Widenius et ses collaborateurs ont publié la première version, MariaDB 5.1.38, le 29 octobre 2009.
Les premières versions (5.1, 5.2, 5.3, 5.5) reprenaient le schéma de numérotation de MySQL pour signaler une compatibilité de substitution directe. En 2013, la Wikimedia Foundation a migré les bases de données de Wikipédia vers MariaDB, et Google ainsi que Mozilla ont adopté MariaDB pour leurs bases de données internes,. Plusieurs grandes distributions Linux ont ensuite remplacé MySQL par MariaDB comme base de données par défaut, dont openSUSE et Fedora (2013), Red Hat Enterprise Linux (2014) et Debian (2017).
En 2012, les développeurs ont annoncé que la prochaine série de versions serait numérotée 10.x, marquant explicitement l'indépendance du projet vis-à-vis de MySQL. La série 10.x (à partir de 2014) a introduit notamment la réplication multi-primaire virtuellement synchrone via Galera Cluster, un mode de compatibilité Oracle avec la syntaxe PL/SQL, ainsi que la première version à Long-term support (LTS), MariaDB 10.6, en 2021.
La série 11.x (à partir de 2022) a introduit en 2024 un support natif de la recherche vectorielle, disponible en version LTS avec MariaDB 11.8 (2025). La série 12.x, lancée en 2025, se distingue par un nombre record de contributions extérieures à MariaDB plc. La série 13.x est disponible en version préliminaire depuis 2026.
Les deux principales caractéristiques qui distinguent MariaDB et MySQL de PostgreSQL sont l'utilisation de threads plutôt que de processus et une prise en charge étendue et intégrée des configurations de réplication, à la fois locales et globales. Cela inclut la réplication géodistribuée et les configurations multi-primaires via Galera Cluster.
L'API et le protocole de MariaDB sont compatibles avec ceux de MySQL, et prennent notamment en charge les opérations natives non bloquantes ainsi que le suivi de progression. La plupart des connecteurs, bibliothèques et applications conçus pour MySQL fonctionnent avec MariaDB. Les connecteurs officiels de MariaDB sont publiés sous licence LGPL, ce qui permet leur utilisation dans des applications commerciales sans les contraintes du copyleft, et sont largement utilisés par les distributions de systèmes d'exploitation pour se connecter aussi bien à MariaDB qu'à MySQL.
Le format sur disque de MySQL et de MariaDB était identique jusqu'à MySQL 5.7. MySQL 8.0 a modifié ce format — en supprimant les fichiers de schéma .frm, en changeant le protocole d'authentification par défaut et en modifiant d'autres fonctionnalités — ce qui fait que le transfert de données entre MySQL 8.0 (ou une version ultérieure) et MariaDB nécessite un export logique puis une réimportation. La plupart des fonctionnalités visibles par l'utilisateur partagent largement la même syntaxe, ce qui facilite la migration de MySQL vers MariaDB. La réplication entre MySQL et MariaDB reste possible dans les deux sens.
Certaines fonctionnalités divergent davantage, notamment le format de réplication GTID et l'implémentation du stockage JSON.
MariaDB intègre un pool de threads (thread pool) dans toutes ses éditions, y compris la version communautaire, qui gère les connexions via un petit groupe de threads de travail plutôt qu'un modèle à un thread par connexion. Le pool de threads de MySQL, longtemps réservé à MySQL Enterprise Edition, est disponible dans MySQL Community Edition depuis la version 26.7.0 (Early Access).
Le mode de compatibilité Oracle (sql_mode=ORACLE), disponible depuis MariaDB 10.3, est conçu pour faciliter une migration incrémentale depuis Oracle Database, en permettant de porter les applications fonctionnalité par fonctionnalité ou application par application plutôt que de nécessiter une réécriture complète. Le mode Oracle prend en charge la syntaxe des procédures stockées PL/SQL, une gestion de NULL compatible avec Oracle, ainsi que des fonctions de style Oracle telles que NVL() et DECODE(). Dans de nombreux cas, les applications Oracle peuvent fonctionner sans modification avec MariaDB en remplaçant simplement le connecteur ODBC ou JDBC d'Oracle par celui de MariaDB. Le mode Oracle a été développé initialement en collaboration avec DBS Bank.
Les séquences, créées avec CREATE SEQUENCE, sont des objets de base de données à part entière, indépendants de toute table particulière, avec prise en charge des séquences décroissantes et un contrôle fin de la mise en cache ; MySQL ne dispose d'aucune instruction CREATE SEQUENCE équivalente.
MariaDB prend en charge une architecture de moteurs de stockage enfichables, permettant de choisir un moteur différent pour chaque table selon les besoins de la charge de travail — un éventail plus large que celui de MySQL, centré sur InnoDB.
MariaDB propose des transactions entièrement conformes aux propriétés ACID, avec la prise en charge de plusieurs niveaux d'isolation : lecture non validée (read uncommitted), lecture validée (read committed), lecture répétable (repeatable read) et sérialisable. Le moteur de stockage par défaut, InnoDB, implémente le contrôle de concurrence multiversion (MVCC), permettant aux lecteurs et aux rédacteurs d'opérer simultanément sans se bloquer mutuellement. Depuis MariaDB 11.8, l'isolation par instantané (snapshot isolation) utilise par défaut le mode strict, garantissant que les transactions voient une vue cohérente de la base de données depuis leur instant de démarrage.
Au-delà des moteurs de stockage, MariaDB dispose d'un ensemble d'API enfichables (pluggable). Les catégories de plugins comprennent :
Les plugins peuvent être chargés ou remplacés à l'exécution sans qu'il soit nécessaire de recompiler le serveur. Un catalogue sélectionné de plugins et d'autres outils compatibles avec MariaDB est maintenu par la fondation MariaDB sous le nom de MariaDB Server Ecosystem Hub.
MariaDB fournit des connecteurs officiels pour C, C++, Java, Python, Node.js, ODBC et R2DBC, publiés sous licence LGPL, ce qui permet leur utilisation dans des applications commerciales sans les contraintes du copyleft. MariaDB utilise le protocole client-serveur de MySQL, maintenant une compatibilité au niveau du protocole avec les bibliothèques clientes de MySQL.
MariaDB prend en charge le SQL standard, notamment les procédures stockées, les fonctions, les déclencheurs (triggers), les vues, les fonctions de fenêtrage et le type de données JSON, avec un ensemble complet de fonctions de stockage et d'interrogation de documents.
Les tables à contrôle de versions de système (system-versioned tables), conformes à la norme SQL:2011, enregistrent automatiquement l'historique complet de chaque ligne. Les données historiques peuvent être interrogées à l'aide de la clause FOR SYSTEM_TIME AS OF pour récupérer l'état d'une table à un instant passé donné, sans nécessiter de tables d'audit ni de déclencheurs maintenus manuellement.
L'algorithme INSTANT pour ALTER TABLE permet d'effectuer en quelques microsecondes l'ajout ou la suppression de colonnes ainsi que la modification des valeurs par défaut, en ne mettant à jour que les métadonnées, sans reconstruire la table. Depuis MariaDB 11.2, les modifications de schéma non instantanées s'exécutent par défaut de manière non bloquante, permettant des lectures et écritures concurrentes pendant l'opération.
MariaDB prend en charge les charges de travail analytiques grâce à ColumnStore, un moteur de stockage en colonnes qui conserve les données par colonne plutôt que par ligne, réduisant les entrées-sorties pour les requêtes d'agrégation et le rendant adapté aux cas d'usage d'entrepôt de données et d'informatique décisionnelle. Les capacités analytiques SQL standard, notamment les fonctions de fenêtrage et les expressions de table commune (common table expressions), sont prises en charge par tous les moteurs de stockage. L'édition Enterprise de MariaDB plc peut utiliser Exasol pour accélérer les requêtes analytiques.
MariaDB prend en charge la réplication primaire-secondaire au moyen d'un journal binaire (binary log), avec des modes asynchrone et semi-synchrone. La réplication multi-source permet à un serveur secondaire de recevoir des modifications de plusieurs serveurs primaires simultanément, et la réplication parallèle réduit le retard en appliquant les modifications de manière concurrente.
Galera Cluster est une solution de réplication multi-primaire virtuellement synchrone intégrée directement au serveur MariaDB, permettant des écritures sur n'importe quel nœud tout en maintenant la cohérence à travers le cluster.
MariaDB prend en charge le contrôle d'accès basé sur les rôles, permettant d'attribuer des ensembles de privilèges à des rôles nommés puis de les accorder aux utilisateurs, ce qui simplifie la gestion des permissions dans les déploiements de grande envergure.
L'authentification repose sur une architecture de plugins prenant en charge plusieurs méthodes, notamment mysql_native_password, ED25519 basé sur la cryptographie sur courbes elliptiques, et PARSEC (Password Authentication using Response Signed with Elliptic Curve), introduite dans MariaDB 11.6. MariaDB prend en charge le chiffrement au niveau des tables ainsi que l'intégration avec HashiCorp Vault pour la gestion des clés.
MariaDB 11.7 a introduit un type de données VECTOR natif avec une indexation HNSW pour la recherche des plus proches voisins, permettant des charges de travail de bases de données vectorielles, notamment la génération augmentée par récupération (RAG), sans nécessiter d'extension ou de plugin distinct. L'implémentation utilise l'accélération matérielle SIMD (AVX2 et AVX512 sur x86 ; NEON sur ARM) et est devenue disponible en version générale avec MariaDB 11.8 LTS en mai 2025. MariaDB Vector est intégré aux principaux frameworks d'applications d'IA, notamment LangChain, LlamaIndex, Spring AI et LangChain4j. MySQL Community Edition prend en charge le type de données VECTOR depuis MySQL 9.0, mais ne dispose pas d'index de recherche vectorielle.
Les numéros de version de MariaDB suivent le schéma de numérotation de MySQL jusqu'à la version 5.5. Étant donné que de nouvelles fonctionnalités spécifiques ont été développées dans MariaDB, les développeurs ont décidé qu'un changement majeur de numéro de version était nécessaire - la version suivante après 5.5 était 10.0,.
MariaDB maintient actuellement plusieurs branches de version en développement :
La version 10.1 n'est plus développée ni maintenue depuis le 17 octobre 2020.
La fondation MariaDB dit, traduit en français :
MariaDB Server restera un logiciel libre et open source sous licence GPLv2, indépendant de toute entité commerciale.
MariaDB est utilisée par ServiceNow, DBS Bank, Google, et Mozilla.
Plusieurs distributions Linux et systèmes d'exploitation BSD incluent MariaDB. Certains utilisent par défaut MariaDB, comme Arch Linux, Manjaro, Debian (de Debian 9), Fedora (de Fedora 19),, Red Hat Enterprise Linux (de RHEL 7 en ),, CentOS (de CentOS 7), Mageia (de Mageia 2), openSUSE (à partir d'openSUSE 12.3 Dartmouth), SUSE Linux Enterprise Server (à partir de SLES 12), OpenBSD (à partir de 5.7),, et FreeBSD.
MariaDB est utilisé par davantage d'installations de WordPress que MySQL : selon les statistiques officielles de WordPress, MariaDB représentait en septembre 2025 54 % des bases de données utilisées par WordPress. Drupal recommande MariaDB comme base de données dans sa documentation officielle pour Drupal 10, 11 et 12, et Nextcloud recommande MariaDB plutôt que MySQL dans son manuel d'administration officiel.

La fondation MariaDB est une organisation à but non lucratif fondée en 2012 pour superviser le développement de MariaDB,. L'actuelle PDG de la fondation MariaDB est Anna Widenius (en) depuis . Kaj Arnö (en), PDG de à , est depuis lors président exécutif du conseil d'administration. La fondation décrit sa mission comme suit traduit en français :
Les pierres angulaires de la mission de la Fondation MariaDB sont l'ouverture, l'adoption et la continuité.
- Nous veillons à ce que la base de code de MariaDB Server reste ouverte à l'utilisation et aux contributions sur les mérites techniques.
- Nous nous efforçons d'augmenter l'adoption par les utilisateurs et à travers les cas d'utilisation, les plateformes et les moyens de déploiement.
- Nous assurons la continuité de l'écosystème MariaDB Server, indépendamment de toute entité commerciale.
La fondation soutient le développement de l'écosystème MariaDB au sens large à travers le MariaDB Server Ecosystem Hub, un catalogue sélectionné d'outils, de plateformes et de services qui s'intègrent à MariaDB Server. Le Hub vise à mettre en relation les utilisateurs de MariaDB avec des technologies, des projets et des prestataires de services pertinents,.
Les sponsors Diamond de la fondation MariaDB sont Amazon et DBS Bank ; les sponsors Platinum incluent IBM, Intel et MariaDB plc.
La fondation travaille également avec des partenaires technologiques, par ex. Google a chargé l'un de ses ingénieurs de travailler à la fondation MariaDB en 2013.
Initialement, le développement de MariaDB reposait entièrement sur l'open source et non commercial. Pour bâtir une entreprise mondiale, MariaDB Corporation Ab a été fondée en 2010 par Patrik Backman, Ralf Wahlsten, Kaj Arnö (en), Max Mether, Ulf Sandberg, Mick Carney et Michael "Monty" Widenius,.
MariaDB Corporation Ab a obtenu son nom actuel après une fusion entre SkySQL Corporation Ab et Monty Program en 2013.
Les premiers investisseurs (série A) comprenaient OpenOcean (sv) et Tesi. Les séries suivantes ont inclus Intel en 2013, Runa Capital en 2015 et Alibaba en 2017 ; la Banque européenne d'investissement a accordé un prêt de 25 millions d'euros la même année.
MariaDB Corporation Ab a annoncé en son intention de devenir une société cotée à la Bourse de New York (NYSE). La société a été introduite en Bourse en sous le symbole MRDB et a changé son nom en MariaDB plc après s'être réenregistrée comme société publique à responsabilité limitée irlandaise (public limited company).
Le , le fonds d'investissement K1 Investment Management a finalisé l'acquisition de MariaDB plc pour environ 37 millions de dollars et a retiré la société de la Bourse. Rohit de Souza a été nommé nouveau PDG. Ce rachat ne concerne pas la fondation MariaDB.