image de chargement
Retour au glossaire

MariaDB

Fork open-source de MySQL offrant des performances optimisées, une compatibilité étendue et des fonctionnalités avancées pour les applications modernes.

Mis à jour le 14 janvier 2026

MariaDB est un système de gestion de base de données relationnelle (SGBDR) open-source créé en 2009 par les fondateurs originaux de MySQL. Développé comme un fork compatible de MySQL, MariaDB se distingue par son engagement envers l'open-source, ses performances améliorées et ses fonctionnalités enrichies. Adopté par des organisations comme Wikipedia, Google et Red Hat, MariaDB s'impose comme une alternative robuste et innovante pour les infrastructures de données critiques.

Fondements techniques

  • Architecture relationnelle compatible avec le protocole MySQL, permettant une migration transparente depuis MySQL
  • Moteurs de stockage multiples : InnoDB, Aria, ColumnStore, MyRocks pour différents cas d'usage (OLTP, OLAP, analytique)
  • Support natif des standards SQL modernes (SQL:2016) avec extensions propriétaires pour la compatibilité MySQL
  • Réplication avancée avec MariaDB MaxScale pour la haute disponibilité et l'équilibrage de charge

Avantages stratégiques

  • Compatibilité binaire avec MySQL permettant un remplacement drop-in dans la plupart des cas
  • Performances supérieures avec des optimisations du moteur de requêtes et des index améliorés
  • Gouvernance open-source garantissant la pérennité sans risque de fermeture ou de changement de licence
  • Fonctionnalités avancées : colonnes virtuelles, fenêtres analytiques, tables système versionnées
  • Sécurité renforcée avec authentification PAM, chiffrement des données au repos et en transit
  • Coûts réduits comparé aux solutions commerciales avec support entreprise disponible

Exemple concret d'utilisation

mariadb-features.sql
-- Création d'une table avec colonnes virtuelles et versioning
CREATE TABLE products (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  price_ht DECIMAL(10,2) NOT NULL,
  tva_rate DECIMAL(4,2) DEFAULT 20.00,
  -- Colonne virtuelle calculée automatiquement
  price_ttc DECIMAL(10,2) AS (price_ht * (1 + tva_rate/100)) VIRTUAL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB
WITH SYSTEM VERSIONING; -- Active l'historique automatique

-- Requête avec window functions (SQL avancé)
SELECT 
  name,
  price_ttc,
  ROW_NUMBER() OVER (ORDER BY price_ttc DESC) as ranking,
  AVG(price_ttc) OVER () as avg_price,
  price_ttc - AVG(price_ttc) OVER () as diff_from_avg
FROM products
WHERE price_ttc > 100;

-- Consultation de l'historique des modifications
SELECT name, price_ht, price_ttc, row_start, row_end
FROM products FOR SYSTEM_TIME ALL
WHERE id = 42;

Cet exemple illustre des fonctionnalités distinctives de MariaDB : les colonnes virtuelles pour les calculs automatiques, le versioning système pour l'audit automatique, et les window functions pour l'analyse de données avancée, le tout avec une syntaxe SQL standard.

Mise en œuvre d'une infrastructure MariaDB

  1. Installation : Déployer MariaDB via gestionnaire de paquets (apt, yum), conteneur Docker, ou service cloud (AWS RDS, Azure Database)
  2. Configuration initiale : Définir les paramètres mémoire (innodb_buffer_pool_size), connexions (max_connections), et sécurité (bind-address)
  3. Optimisation du schéma : Choisir le moteur adapté (InnoDB pour transactions, ColumnStore pour analytics), définir les index pertinents
  4. Sécurisation : Configurer l'authentification forte, activer SSL/TLS, restreindre les privilèges utilisateurs selon le principe du moindre privilège
  5. Haute disponibilité : Implémenter la réplication master-slave ou Galera Cluster pour la redondance, configurer MariaDB MaxScale pour le load balancing
  6. Monitoring : Mettre en place la surveillance avec Performance Schema, PMM (Percona Monitoring), ou solutions APM tierces
  7. Sauvegarde : Établir une stratégie de backup avec mariabackup (hot backup physique) ou mysqldump (backup logique)

Conseil Pro : Migration depuis MySQL

Lors d'une migration MySQL vers MariaDB, utilisez l'outil mariadb-upgrade après installation pour mettre à jour les tables système. Testez d'abord la compatibilité de vos requêtes complexes et procédures stockées dans un environnement de staging. MariaDB 10.6+ introduit des changements de comportement subtils (notamment dans les modes SQL stricts) qu'il convient de valider avant une migration en production. Privilégiez une migration progressive avec réplication MySQL→MariaDB pour minimiser les risques.

Écosystème et outils associés

  • MariaDB MaxScale : Proxy intelligent pour routage de requêtes, load balancing et failover automatique
  • MariaDB ColumnStore : Moteur de stockage colonne optimisé pour l'analytique massive (OLAP)
  • Galera Cluster : Solution de réplication synchrone multi-master pour haute disponibilité
  • HeidiSQL, DBeaver, MySQL Workbench : Outils graphiques de gestion et administration
  • Percona Monitoring and Management (PMM) : Suite complète de monitoring et dashboards
  • Frameworks ORM : Sequelize, TypeORM, Doctrine, Laravel Eloquent avec support MariaDB natif

MariaDB représente un choix stratégique pour les organisations recherchant une base de données relationnelle performante, évolutive et sans dépendance propriétaire. Son écosystème mature, sa compatibilité MySQL et ses innovations techniques (moteurs spécialisés, colonnes virtuelles, versioning système) en font une solution de référence pour des applications critiques exigeant fiabilité, performances et contrôle total. L'engagement communautaire fort et la gouvernance open-source garantissent une évolution continue alignée sur les besoins réels des développeurs et architectes de données.

L'argentestdéjàsurlatable.

En 1 heure, découvrez exactement combien vous perdez et comment le récupérer.