Aller au contenu
VOZit

Blog · Bases de données

MySQL, MariaDB ou PostgreSQL : quelle base choisir pour votre application ?

Les trois sont libres, éprouvés, et font tourner une part immense du web. Le choix entre MySQL, MariaDB et PostgreSQL se joue donc moins sur la fiabilité que sur l'histoire, la licence, la compatibilité et quelques fonctionnalités qui comptent selon le projet.

MySQL et MariaDB : une histoire commune

MySQL est la base de données historique du web, celle des piles LAMP. Elle appartient aujourd'hui à Oracle, qui l'a récupérée avec le rachat de Sun Microsystems, et la distribue sous double licence : GPL pour la version communautaire, commerciale pour le reste.

MariaDB est un fork de MySQL lancé par Michael Widenius, l'un des créateurs de MySQL, au moment de ce rachat. Elle est restée sous licence GPL et a longtemps été un remplaçant direct de MySQL. Plusieurs distributions Linux, dont Debian, installent MariaDB lorsqu'on leur demande « MySQL ».

Compatibles… jusqu'à un certain point

Pour une application classique — tables InnoDB, requêtes SQL courantes, PDO ou mysqli côté PHP — MySQL et MariaDB restent interchangeables. Mais les deux projets divergent depuis des années :

  • le type JSON : MySQL le stocke dans un format binaire dédié ; chez MariaDB, JSON est un alias de LONGTEXT avec une contrainte de validation ;
  • les interclassements : MySQL 8 utilise par défaut utf8mb4_0900_ai_ci, que MariaDB n'a longtemps pas reconnu — un export MySQL 8 importé tel quel dans une version de MariaDB qui l'ignore échoue ;
  • certaines fonctionnalités n'existent que d'un côté (séquences et tables versionnées côté MariaDB, par exemple).

Conséquence pratique : choisissez l'un des deux et testez sur celui-là. Une migration de l'un à l'autre se prépare comme une vraie migration.

PostgreSQL : l'autre philosophie

PostgreSQL est un projet indépendant, sous une licence très permissive proche de BSD, développé par une communauté sans éditeur dominant. Il est réputé pour sa rigueur et son respect du standard SQL.

  • Des types riches : JSONB indexable, tableaux, plages de dates, types géométriques, et des types personnalisés.
  • Le DDL transactionnel : un ALTER TABLE peut être annulé dans une transaction. Sous MySQL et MariaDB, une modification de structure valide implicitement la transaction en cours — une migration qui échoue à mi-chemin laisse la base dans un état intermédiaire.
  • Les extensions, dont PostGIS, la référence pour les données géographiques.
  • Des requêtes analytiques avancées : fonctions de fenêtrage, CTE récursives, index partiels et sur expressions.

Comment nous choisissons

MySQL ou MariaDB quand l'application s'inscrit dans un écosystème qui les attend — un CMS comme WordPress, un hébergement mutualisé, un existant à faire évoluer — ou quand le modèle de données est simple et que la priorité est la facilité d'exploitation.

PostgreSQL quand le modèle de données est riche, quand l'intégrité doit être garantie par la base elle-même (contraintes, transactions sur la structure), quand il y a de la géographie ou des analyses complexes.

Dans tous les cas, deux règles valent pour les trois : requêtes préparées systématiques (jamais de concaténation de valeurs dans le SQL), et sauvegardes testées — une sauvegarde qu'on n'a jamais restaurée n'est qu'une hypothèse.

Publié le 16/09/2025.

Parlons de votre projet

Un projet, une idée, une application à reprendre ?

Décrivez-le en quelques lignes. Nous revenons vers vous rapidement avec nos questions ou une proposition d'échange. L'étude est gratuite et sans engagement.

  • Étude gratuite, sans engagement
  • Un interlocuteur unique, du devis à la maintenance
  • Développé et hébergé en France
  • Basés près d'Angers, projets partout en France
Demander un devis gratuit