ArticleDonnées & IA
MySQL : 30 ans et toujours très populaire
MySQL a été longtemps la principale base de données des développeurs. Si elle a perdu du terrain au profit de PostgreSQL et d'autres SGBD spécialisées, elle reste néanmoins très populaire.

Ce mois-ci, MySQL fête ses 30 ans. Autrefois base du développement web, MySQL reste immensément populaire. Mais, alors qu’elle entame sa quatrième décennie, MySQL a paradoxalement semé les graines de son propre déclin, en particulier par rapport à PostgreSQL. Oracle, qui gère MySQL depuis 2010, peut continuer à dire que MySQL est « la base de données préférée du monde », mais cela fait longtemps que c’est objectivement faux, comme le montrent les enquêtes auprès des développeurs et les classements de popularité de Stack Overflow et DB-Engines. Il ne s'agit pas de déprécier l'importance de MySQL. Elle était et elle reste toujours une infrastructure critique pour le web. Mais elle n'est plus la base de données par défaut des développeurs pour la plupart des choses.
Mais comment en est-on arrivé là ? Pendant des années, MySQL a été la base de données de référence sur Internet. À l’origine, MySQL voulait offrir une alternative légère et open source aux systèmes commerciaux coûteux. De fait, elle a facilité la construction sur le web. Elle a contribué à l'essor de la pile LAMP (Linux, Apache, MySQL, PHP). Elle était simple, rapide et gratuite. Mais au fil du temps, les éléments qui ont permis à MySQL de s'imposer ont fini par freiner sa croissance. Le parti pris de simplicité l'a rendu facile à apprendre, mais difficile à faire évoluer. Sa conception résolument permissive a contribué à son expansion rapide, mais l'a également rendu inadapté aux applications modernes et complexes. Sa position dominante l'a rendu moins avide d'innovation que PostgreSQL, une base de données qui n'a cessé de combler ses lacunes et d'ajouter de nouvelles fonctionnalités.
L'essor de MySQL à l'ère du web
L'histoire de MySQL est ancrée dans les débuts du mouvement open source. En 1995, le développeur suédois Michael « Monty » Widenius a créé MySQL en tant que projet interne avant de le rendre public peu après. En 2000, MySQL était entièrement open source (licence GPL) et sa popularité a explosé. En tant que composant de base de données de la pile LAMP, MySQL offrait une combinaison irrésistible pour les développeurs web : il était gratuit, facile à installer et « suffisamment bon » pour soutenir les sites web dynamiques. À une époque dominée par les bases de données propriétaires onéreuses, MySQL tombait à point nommé. Les start-ups web des années 2000 - Facebook, YouTube, Twitter, Flickr et un tas d’autres - ont adopté MySQL pour stocker les données et le contenu des utilisateurs. MySQL est rapidement devenu synonyme de création de sites web.
Les débuts de MySQL ont été marqués par des compromis. Les premières années, certaines fonctionnalités « d'entreprise », comme la conformité totale à SQL ou les transactions dans son moteur par défaut, manquaient, mais pour de nombreux utilisateurs cette simplicité était une caractéristique, et non un bogue. Elle rendait MySQL extrêmement rapide pour les lectures et les requêtes simples, et plus facile à gérer pour les nouveaux venus. Les développeurs pouvaient faire fonctionner une base de données MySQL avec un minimum d'efforts, ce qui contrastait à l'époque avec des systèmes plus lourds comme Oracle ou même PostgreSQL. En 2022, j’écrivais encore qu’il était « difficile de rivaliser avec la facilité ».
Au milieu des années 2000, MySQL était omniprésent et de plus en plus riche en fonctionnalités. La base de données avait mûri (en ajoutant InnoDB, un moteur de stockage plus robuste pour les transactions) et continuait à profiter de l'explosion du web. Malgré l’apparition de nouvelles bases de données, MySQL est resté un choix par défaut pour des millions de déploiements, depuis les petites applications professionnelles jusqu'aux infrastructures web à grande échelle. En 2025, MySQL est probablement encore la base de données open source (ou propriétaire) la plus déployée au niveau mondial en termes de volume d'installations. De nombreuses applications ont été écrites avec MySQL comme base de données, et beaucoup d'entre elles sont toujours utilisées. En ce sens, MySQL est aujourd'hui un peu comme DB2 d'IBM : une base de données de travail avec une base installée massive qui ne disparaît pas, même si elle n'est plus le choix préféré.
Nouvelles dynamiques
Au cours de la dernière décennie, la domination incontestée de MySQL sur les bases de données open source a commencé à s’éroder face à des concurrents relativement nouveaux (MongoDB, Redis, Elasticsearch) et plus anciens (PostgreSQL). Chez MongoDB (pour rappel, je m'occupe des relations avec les développeurs chez MongoDB), j'ai pu voir un grand nombre de développeurs se tourner vers MongoDB pour créer des applications web et autres avec plus de souplesse. Mais c'est PostgreSQL qui est devenue la solution évidente pour les développeurs qui veulent conserver SQL, mais qui ont besoin de plus de capacités que MySQL.
Alors qu'en 2005, les développeurs web auraient pu choisir MySQL pour pratiquement n'importe quel projet, ils disposent aujourd'hui d'une pléthore de choix adaptés à des besoins spécifiques. Ainsi, MongoDB s'impose pour ceux qui veulent un magasin de documents JSON flexible pour répondre aux besoins d'une base de données polyvalente. Elasticsearch est sans doute plus adapté aux analyses en temps réel ou à la recherche plein texte. Redis offre un cache en mémoire ou un magasin de structures de données à grande vitesse. Même dans le domaine de l'analyse et de l'entreposage de données, des options cloud natives telles que Snowflake et BigQuery (Google) ont gagné en popularité.
Mais c'est PostgreSQL qui peut s'attribuer le mérite (ou la responsabilité, si l’on préfère) du déclin de MySQL. Les raisons en sont à la fois techniques et culturelles. PostgreSQL offre des capacités que MySQL n'a jamais eues. Notamment :
-
Des fonctionnalités SQL plus riches et le respect des standards : PostgreSQL a depuis longtemps donné la priorité aux standards SQL et aux fonctionnalités avancées. Il supporte les requêtes complexes, les fonctions de fenêtre, les expressions de table courantes, la recherche plein texte et les transactions ACID (atomicité, cohérence, isolation, durabilité) robustes, dont certaines sont absentes de MySQL ou n'ont été ajoutées que plus tard. PostgreSQL peut gérer des charges de travail complexes, de niveau entreprise, sans déroger aux règles.
-
Extensibilité et flexibilité : PostgreSQL est très extensible. Il permet de définir de nouveaux types de données et d'index, et même d’écrire des extensions personnalisées ou des procédures stockées dans différents langages. Qu'il s'agisse de données SIG/géospatiales (PostGIS), d'extensions de séries temporelles ou d'extensions pgcrypto et pgvector pour les cas d’usage de la cryptographie et de l'intelligence artificielle, Postgres peut s'adapter aux besoins. Ces crochets d'extensibilité ont permis à PostgreSQLde rester à la pointe de la technologie, même lorsque ces extensions peuvent offrir des performances manifestement inférieures pour les applications modernes. L'extensibilité de PostgreSQL représente toujours un net avantage par rapport au modèle de plug-in plus limité de MySQL.
-
Open source et culture ouverte : MySQL et PostgreSQL sont tous deux des logiciels libres, mais la licence et la gouvernance de PostgreSQL sont plus permissives. Postgres est un véritable projet communautaire, développé par une équipe mondiale et soutenu par de nombreuses entreprises sans propriétaire unique. En revanche, MySQL est sous licence GPL (pour la version open source) « qui autorise l'utilisation publique, la modification et la redistribution du code source selon les termes de la licence GPL » et appartient à Oracle depuis des années. La gestion de big red a été une arme à double tranchant. D'une part, l’éditeur a indubitablement investi dans le développement de MySQL. La version actuelle de MySQL 8.x est bien loin du MySQL des années 2000. Il s'agit d'une base de données beaucoup plus robuste et riche en fonctionnalités (avec des améliorations en matière de réplication, de sécurité, de SIG, de support JSON, etc). Mais ce même contrôle étroit de l'ingénierie de MySQL a modifié la dynamique de la communauté MySQL d'une manière qui a sans doute freiné son élan.
En bref, PostgreSQL a convaincu de nombreuses personnes qu'il offrait une valeur plus adaptée « à l'épreuve du temps » que MySQL.
MySQL perdurera
Malgré tous les défis, MySQL va continuer à nous accompagner pendant très longtemps. Il y a de bonnes raisons pour que de nombreux développeurs et organisations restent fidèles à MySQL, même si les alternatives se multiplient. Tout d'abord, MySQL a fait ses preuves en matière de fiabilité à grande échelle. La base de données a prouvé qu'elle était capable de gérer d'énormes charges de travail. Les Facebook et Twitter du monde entier n'ont pas dépassé MySQL, mais l'ont plié à leur volonté grâce à des outils personnalisés et à une ingénierie minutieuse. Si MySQL peut répondre aux besoins en données d'un réseau social comptant des milliards d'utilisateurs, il peut probablement gérer un site de commerce électronique ou une application interne. Cette généalogie compte pour beaucoup.
Ensuite, MySQL reste simple et familier pour des légions de développeurs. C'est souvent la première base de données relationnelle apprise par les développeurs en herbe, grâce à sa prédominance dans les tutoriels et les boot camps, et à son intégration avec des outils conviviaux pour les débutants. La documentation de MySQL est très complète, et ses messages d'erreur et ses comportements sont bien connus. Très souvent, les développeurs n'ont pas besoin des fonctionnalités avancées de PostgreSQL, et l'empreinte plus légère de MySQL (et sa nature parfois indulgente avec la syntaxe SQL) peut rendre le développement plus rapide. Le sentiment d’un « MySQL plus facile » perdure, même si PostgreSQL a amélioré sa facilité d'utilisation au fil des ans. Cette familiarité crée une inertie : les entreprises ont des administrateurs de bases de données MySQL, des scripts de sauvegarde MySQL et une surveillance MySQL déjà en place. Il est difficile de changer.
Il existe également une sorte de verrouillage de l'écosystème. Des centaines d'applications et de plateformes web populaires reposent sur MySQL (ou son cousin MariaDB). WordPress par exemple, qui équipe une grande partie des sites web dans le monde, utilise MySQL/MariaDB comme couche de base de données. De nombreux autres systèmes de gestion de contenu, de plateformes de commerce électronique et de terminaux dépendent de MySQL. Cette base bien établie signifie que MySQL continue d'être déployé par défaut lors de la configuration de ces outils. Même les fournisseurs de cloud, qui proposent néanmoins PostgreSQL avec enthousiasme, offrent aussi des services MySQL entièrement gérés (souvent des services compatibles avec MySQL tels qu'Amazon Aurora) pour répondre à la demande. En bref, MySQL est profondément ancré dans l'infrastructure du web, et cela ne s'efface pas du jour au lendemain.
Triomphe de l'open source
Cependant, les raisons mêmes de la persistance de MySQL menacent également la loyauté future de ses utilisateurs. L'utilisation généralisée de MySQL signifie qu'il restera pertinent, mais les projets sont de plus en plus susceptibles de choisir autre chose, que ce soit PostgreSQL, MongoDB, Redis, ou autre. Le risque pour MySQL est qu'une nouvelle génération de développeurs ne nourrisse pas le même attachement à son égard. La dynamique est importante dans les communautés technologiques : PostgreSQL en a une, MySQL un peu moins. De plus, si MySQL ne suit pas les nouvelles tendances, des utilisateurs fidèles pourraient se tourner vers d'autres solutions. Par exemple, lorsque les développeurs ont commencé à s'intéresser aux embeddings et à la recherche vectorielle pour les applications d'IA, Postgres avait une réponse avec pgvector, et MongoDB a ajouté Atlas Vector Search. MySQL n'avait rien de comparable jusqu'à très récemment.
L'évolution continue de MySQL sera cruciale pour maintenir la fidélité des utilisateurs, et cela dépend encore une fois de la façon dont Oracle et la communauté MySQL orienteront le projet dans les années à venir. Alors que MySQL fête ses 30 ans, l'incroyable héritage de cette base de données open source mérite d’être célébré. Peu de projets logiciels ont eu un impact aussi profond sur l’informatique pendant une aussi longue période. MySQL a permis à toute une génération de développeurs de créer des sites web et des applications dynamiques, abaissant ainsi la barrière à l'entrée pour les startups et les projets open source. MySQL a démontré que l'infrastructure open source pouvait rivaliser avec les solutions propriétaires, et même les surpasser, remodelant ainsi l'économie de l'industrie des bases de données. Pour cela, MySQL méritera toujours d'être reconnue. Ses jours de gloire appartiennent peut-être à l’histoire, mais celle-ci est loin d'être terminée. Le monde des bases de données se porte mieux grâce aux 30 années de compétition et d'innovation que MySQL a inspirées et continue d'inspirer.

