Table des matières de l'article :
Dans le vaste univers des systèmes de gestion de bases de données (SGBD), les développeurs sont souvent confrontés au choix entre MySQL, Percona Server et MariaDB. Ce choix, en apparence simple, révèle en réalité un paysage complexe et riche. Nombreux sont ceux qui considèrent ces trois systèmes comme équivalents, mais en réalité, ils diffèrent par un certain nombre de fonctionnalités uniques et spécifiques, chacune avec ses avantages et ses inconvénients. Dans cet article, « MySQL, Percona Server ou MariaDB ? », nous explorerons l'histoire de ces SGBD populaires, leurs origines, leurs liens et leurs caractéristiques uniques. Nous analyserons en détail les similitudes et les différences entre MySQL, Percona Server et MariaDB, offrant ainsi une vue d'ensemble complète qui guidera les développeurs dans leur choix en fonction de leurs besoins en 2024. L'objectif est de fournir une compréhension claire et approfondie de ces outils, leur permettant de prendre une décision éclairée et stratégiquement avantageuse dans un environnement de bases de données en constante évolution.
L'histoire de MySQL et l'acquisition de Sun qui fut à son tour racheté par Oracle
MySQL, l'un des systèmes de gestion de bases de données (SGBD) les plus connus et les plus utilisés, possède une histoire riche et variée qui remonte au début des années 90. Initialement développé par deux figures emblématiques du secteur des bases de données, Michael Widenius, plus connu sous le nom de « Monty », et David Axmark , MySQL a rapidement conquis le public grâce à sa simplicité, son efficacité et son modèle open source. Son nom, MySQL, est un hommage à la fille de Monty, My, soulignant ainsi l'approche personnelle et passionnée qui a présidé à la création de ce logiciel.
Un tournant important dans l'histoire de MySQL a été l'introduction de deux moteurs de stockage principaux : MyISAM et InnoDB. MyISAM, le moteur de stockage d'origine, se distinguait par sa rapidité et sa facilité d'utilisation, mais était limité par son manque de prise en charge des transactions, une fonctionnalité clé pour de nombreuses applications modernes. L'intégration d'InnoDB a marqué un changement radical, offrant une prise en charge des transactions, une plus grande fiabilité des données et améliorant considérablement la polyvalence de MySQL dans des scénarios d'utilisation plus complexes.
Au fil des ans, MySQL a changé de mains à plusieurs reprises. En 2008, Sun Microsystems a acquis MySQL AB, la société initialement fondée par Widenius et Axmark, intégrant ainsi le SGBD à un groupe plus important. Cependant, le véritable tournant s'est produit en 2010, lorsque Oracle Corporation a racheté Sun Microsystems.
L'acquisition de MySQL par Sun Microsystems en 2008 a marqué un tournant dans l'histoire des systèmes de gestion de bases de données. Sun Microsystems, pionnier des systèmes d'information et des logiciels, a décidé d'acquérir MySQL AB, la société suédoise à l'origine de MySQL, pour environ un milliard de dollars. Cette opération a représenté une évolution majeure pour MySQL, qui était jusqu'alors un pilier du mouvement du logiciel libre et open source.
Les raisons de cette acquisition étaient multiples. D'une part, Sun cherchait à renforcer son offre sur le marché en pleine croissance des services et solutions basés sur des logiciels open source. L'inclusion de MySQL dans son portefeuille a permis à Sun d'offrir une solution de base de données complète, s'intégrant de manière transparente à ses autres technologies et services. D'autre part, l'acquisition représentait une opportunité pour MySQL d'accélérer son développement, en bénéficiant des ressources et de l'expertise technologique de Sun.
Cette acquisition n'était toutefois pas sans susciter des inquiétudes. Au sein de la communauté open source, certains craignaient que MySQL, sous l'égide d'une grande entreprise comme Sun, ne perde de son indépendance et de son esprit d'innovation. Ces inquiétudes se sont accentuées lorsque, deux ans plus tard, Oracle Corporation a annoncé le rachat de Sun Microsystems, plaçant ainsi MySQL sous le contrôle de l'un des principaux concurrents du marché des bases de données.
Malgré ces inquiétudes, l'acquisition de MySQL par Sun a représenté une étape importante sur la voie de la consolidation de l'open source dans le secteur technologique grand public. Il a mis en évidence l'importance croissante des bases de données open source dans un marché dominé par les solutions propriétaires et a marqué le début d'une nouvelle ère pour MySQL, avec de nouveaux défis et opportunités.
La naissance de MariaDB en tant que Fork de MySQL après le rachat d'Oracle.
MariaDB représente l'une des histoires les plus fascinantes du monde des systèmes de gestion de bases de données (SGBD). Initialement dérivée de MySQL, MariaDB a été créée par Michael « Monty » Widenius, cofondateur de MySQL, en réponse aux inquiétudes de la communauté open source suite au rachat de MySQL par Sun en 2008 et par Oracle Corporation en 2010. Le nom « MariaDB » rend hommage à la deuxième fille de Monty, Maria, perpétuant ainsi la tradition familiale initiée avec MySQL.
Si l’on considère que MariaDB est née fin 2009, il semble logique comme lien de causalité que le rachat de MySQL par Oracle ait en réalité été le déclencheur du fork.
L'objectif principal de MariaDB était de rester fidèle à l'esprit open source et de proposer une alternative aux utilisateurs de MySQL recherchant une solution plus indépendante. Développée pour être entièrement compatible avec MySQL, MariaDB permet aux utilisateurs de passer facilement de l'une à l'autre. Cette compatibilité a fait de MariaDB un choix populaire auprès des développeurs et des entreprises souhaitant éviter la dépendance à un produit contrôlé par Oracle.
Au fil des années, MariaDB a introduit de nombreuses innovations et améliorations, s'éloignant de plus en plus de MySQL et perdant une grande partie de sa rétrocompatibilité.
En fait, MariaDB a développé de nouvelles fonctionnalités, des améliorations de performances et la prise en charge de différentes architectures de stockage, ce qui en fait un SGBD de plus en plus puissant et polyvalent. MariaDB a également acquis une communauté active et grandissante, qui contribue au développement et à la diffusion du projet.
Le succès de MariaDB s'explique non seulement par son héritage technique issu de MySQL, mais aussi par sa philosophie ouverte et collaborative. Ceci a permis à MariaDB de s'adapter rapidement aux besoins changeants des développeurs et des entreprises, tout en restant fidèle aux principes de l'open source. L'histoire de MariaDB illustre parfaitement comment la communauté des développeurs peut réagir et s'adapter aux évolutions technologiques, garantissant ainsi la continuité et l'innovation dans un secteur en perpétuelle mutation.
L'erreur d'évaluation de Michael « Monty » Widenius
L'erreur d'appréciation de Michael « Monty » Widenius concernant le rachat de MySQL par Oracle a joué un rôle crucial dans l'histoire de la gestion des bases de données. MariaDB, comme nous l'avons déjà mentionné, est née précisément en réaction aux inquiétudes suscitées par cette acquisition. Il est essentiel de souligner que Monty, créateur initial de MySQL, considérait ce projet non pas comme un simple travail, mais comme une mission, un engagement quasi paternel, visant à nourrir et à faire grandir son « fils » avec dévouement et affection. La vente de MySQL à Sun Microsystems était une décision calculée, entreprise avec la conviction et l'espoir qu'un investissement financier plus important de la part de l'une des entreprises les plus prestigieuses au monde pourrait apporter des améliorations significatives et de nouvelles fonctionnalités au projet. Sun, qui a enregistré une perte de 1,7 milliard de dollars en 2018, voyait dans le rachat de MySQL une opportunité de raviver son attrait auprès des investisseurs et des clients.
Cependant, les choses n'ont pas évolué comme prévu et, en six mois, en avril 2009, Oracle a annoncé l'acquisition de Sun Microsystems, une entreprise à l'avant-garde du secteur du matériel pour serveurs et déjà propriétaire de logiciels de premier plan tels que Java et MySQL récemment acquis. .
Monty percevait Oracle, le créateur du célèbre SGBD éponyme, comme une menace importante . Il craignait probablement qu'Oracle ne marginalise MySQL, en réduisant son budget, en ralentissant son développement et en limitant ses fonctionnalités et ses performances au profit de son produit phare, le SGBD Oracle. Cette préoccupation reflétait la vision de Monty en tant que développeur, plutôt qu'en tant qu'entrepreneur ; il ne prenait pas en compte le fait qu'un atout comme MySQL, même face à un SGBD dominant comme Oracle, pouvait représenter une valeur ajoutée pour les investisseurs et attirer de nouveaux clients, au lieu d'être simplement un concurrent.
De plus, du point de vue d'un développeur, Monty a négligé un aspect fondamental : PostgreSQL. Dès 2009, avec sa version 8.4 et à l'approche de la version 9, PostgreSQL était un SGBD bien plus complet que MySQL, tant en termes de performances que de fonctionnalités, et représentait une alternative de qualité professionnelle à l'hégémonie d'Oracle. Étant entièrement open source, PostgreSQL n'aurait pas pu être facilement mis hors jeu par une quelconque tentative de Larry Ellison d'acquérir des concurrents open source.
En réalité, les années suivantes furent bien différentes des prévisions. Oracle a en effet développé MySQL, en y introduisant des fonctionnalités innovantes et en améliorant ses performances, contrairement aux craintes initiales de la communauté MySQL et de Monty lui-même . Ce développement a démontré que, malgré les inquiétudes initiales, MySQL avait su conserver sa place et évoluer dans le paysage des SGBD sous l'égide d'Oracle.
Cependant, l'opportunité de créer un fork de MySQL pour garantir un SGBD gratuit, libre et Open Source a créé les bonnes conditions de concurrence capables d'apporter de la valeur à l'ensemble de l'écosystème dérivé de MySQL.
Les problèmes financiers de Maria AB et l'incertitude du projet.
MariaDB, malgré son statut de projet open source réussi, a rencontré des difficultés financières ces dernières années, une réalité commune à de nombreuses initiatives open source. La dernière fois que MariaDB a été discutée en termes financiers, c'était en février 2019, lorsque le PDG de la société MariaDB Corporation a exprimé ses inquiétudes quant au peu de contributions au projet des grandes entreprises, malgré les bénéfices importants que ces dernières ont générés grâce à l'utilisation du logiciel.
MariaDB Corporation, qui prend en charge le développement de logiciels, a récemment réduit ses effectifs de 28 % et a mis fin au développement de deux de ses produits, SkySQL et XPand, comme le rapporte linuxiac.com. Ces décisions indiquent les défis financiers auxquels l’entreprise est confrontée pour assumer le fardeau de la maintenance du projet.
Cependant, dans un curieux contraste, la Fondation MariaDB, une entité à but non lucratif distincte de la société, a reçu un parrainage en diamant d'AWS début octobre. Ce support pourrait contribuer à assurer une plus grande durabilité de la maintenance du code de MariaDB. Malgré cela, la crise financière de MariaDB Corporation, qui reste le principal contributeur au code, pourrait impacter la partie du projet qui se déroule bien.
De plus, la décision de Microsoft de retirer le produit Azure MariaDB de son cloud, invitant les utilisateurs à migrer vers Azure MySQL, signale de nouveaux défis, pour des raisons qui pourraient être plus commerciales que techniques.
Prédire l’avenir de MariaDB est complexe compte tenu de ces circonstances, mais l’espoir demeure que le projet puisse continuer à prospérer malgré les défis actuels.
L'histoire du serveur Percona
Percona, fondée en 2006 par Peter Zaitsev et Vadim Tkachenko, s'est imposée comme une société leader de logiciels et de services, spécialisée notamment dans les bases de données MySQL. L'entreprise est reconnue dans le domaine des systèmes de gestion de bases de données pour son expertise dans MySQL, offrant des solutions innovantes et des services de haute qualité qui séduisent aussi bien les petites que les grandes entreprises.
Outre ses services de conseil et de support, Percona est particulièrement réputé pour les forks qu'il développe et maintient, contribuant de manière significative à l'écosystème MySQL. Parmi eux, Percona Server et XtraDB sont les plus connus.
Percona Server est un fork de MySQL, tandis que XtraDB est un fork du moteur de stockage InnoDB. Ces deux forks ont été créés dans le but d’optimiser les performances, l’évolutivité et la sécurité par rapport aux versions originales. Même s'ils ne disposent pas d'une base d'utilisateurs comparable à celle de MySQL ou MariaDB, leurs fonctionnalités avancées et les correctifs qu'ils introduisent ont un impact significatif, à tel point qu'ils sont souvent intégrés dans les mises à jour MySQL ultérieures ou les forks MariaDB.
Dans le contexte de l'open source et de la licence GPL, il est fréquent d'observer une dynamique de collaboration compétitive, où les innovations d'un concurrent peuvent être intégrées aux produits d'autres, et inversement. Cependant, il est important de noter que, concrètement, Percona Server n'intègre pas directement de code de MariaDB. En revanche, Percona Server suit de près l'évolution de MySQL Standard, en adoptant ses innovations et améliorations. Cette approche permet à Percona Server de fonctionner comme un remplacement direct de MySQL, garantissant une compatibilité totale avec la même version de MySQL. Ainsi, les utilisateurs peuvent migrer vers Percona Server sans avoir à apporter de modifications importantes à leurs systèmes existants, et bénéficier ainsi des optimisations et des fonctionnalités supplémentaires offertes par Percona.
L'un des aspects clés qui font de Percona Server un choix populaire est sa présence dans les référentiels de nombreuses distributions GNU/Linux. Cela rend son utilisation plus accessible et simple pour les utilisateurs de ces plateformes, offrant une alternative valable au MySQL standard. De plus, la communauté Linux apprécie particulièrement Percona pour son engagement envers l'open source et sa capacité à proposer des solutions de bases de données à la fois puissantes et fiables.
La position de Percona dans le monde des SGBD est renforcée par sa capacité à innover et à répondre rapidement aux besoins du marché. En mettant constamment l'accent sur l'optimisation et l'efficacité, Percona continue de jouer un rôle essentiel dans l'évolution et l'amélioration du paysage des bases de données, tant pour les utilisateurs individuels que pour les grandes organisations.
Percona Server, et plus précisément Percona Server pour MySQL , a vu le jour en 2006, bien avant la perspective d'un rachat de MySQL par Sun. Son histoire est un exemple fascinant d'innovation et d'adaptation dans le domaine des systèmes de gestion de bases de données (SGBD). Percona Server est né d'un besoin croissant de performances et d'évolutivité supérieures à celles de MySQL standard. Développé par Percona LLC, entreprise reconnue pour son expertise en MySQL et en bases de données open source, Percona Server pour MySQL s'est rapidement imposé comme une solution robuste et optimisée pour les environnements de production critiques.
La philosophie de Percona Server a toujours été d'améliorer les performances et la facilité de gestion de MySQL sans compromettre la compatibilité ni la simplicité d'utilisation . C'est pourquoi Percona Server est devenu un choix populaire auprès des entreprises et des développeurs souhaitant optimiser leurs infrastructures de bases de données sans avoir à réimplémenter leurs applications existantes. L'une des caractéristiques distinctives de Percona Server est sa capacité à gérer des charges de travail intensives et complexes tout en offrant une efficacité et une fiabilité accrues.
Percona Server pour MySQL a introduit de nombreuses fonctionnalités innovantes, notamment des améliorations dans la gestion de la mémoire, des optimisations de requêtes et des outils avancés de diagnostic des performances. Ces fonctionnalités ont contribué à le positionner comme une solution leader pour les besoins de bases de données hautes performances.
L'histoire de Percona Server illustre l'engagement de la communauté MySQL à fournir des solutions performantes et fiables. Grâce à un développement et une amélioration continus, Percona Server s'est imposé comme une solution de choix pour ceux qui exigent des performances et une évolutivité supérieures, tout en assurant la compatibilité avec l'écosystème MySQL. Son évolution témoigne de la recherche constante d'innovation et d'efficacité dans le monde des SGBD, soulignant l'importance des solutions spécialisées dans un environnement technologique en constante évolution.
La distribution Percona pour MySQL est une solution complète qui va bien au-delà du simple remplacement de MySQL. Il s'agit d'une suite logicielle MySQL open source enrichie de fonctionnalités professionnelles soigneusement sélectionnées et conçues. Ce package vous permet de télécharger tous les composants simultanément, facilitant ainsi les mises à jour et l'application de modifications à une distribution unique.
Il existe deux manières principales de télécharger la distribution Percona pour MySQL, en fonction de vos besoins en haute disponibilité :
- Serveur Percona pour MySQL: Il s'agit d'un remplacement direct de MySQL Community, offrant de meilleures performances, une plus grande évolutivité et des fonctionnalités de sécurité avancées. Il est idéal pour ceux qui ont besoin d'une réplication synchrone telle que la réplication de groupe.
- Cluster Percona XtraDB (PXC): Une solution de clustering hautement disponible pour MySQL. Ce composant est recommandé pour ceux qui ont besoin d'une architecture multi-maître basée sur Galera.
La distribution Percona pour MySQL comprend également :
- Percona XtraSauvegarde: Une solution de sauvegarde open source qui prend en charge toutes les versions de Percona Server pour MySQL et MySQL. Cet outil effectue des sauvegardes complètes en ligne, non bloquantes, fortement compressées et hautement sécurisées sur les systèmes transactionnels, permettant aux applications de rester entièrement disponibles pendant les fenêtres de maintenance planifiées.
- Boîte à outils Percona pour MySQL: Une collection d'outils de ligne de commande avancés et open source conçus pour effectuer une variété de tâches trop difficiles ou complexes à effectuer manuellement.
- Percona MesRocks: Une alternative à InnoDB pour les déploiements où les limitations des ressources de stockage de données jouent un rôle crucial.
- ProxySQL, proxy haute disponibilité, routeur MySQL, shell MySQL, orchestrateur: Ces modules complémentaires de distribution incluent un proxy, un gestionnaire de topologie de réplication, ainsi qu'un éditeur de code et un client pour MySQL. Ils offrent des fonctionnalités supplémentaires pour gérer des architectures de bases de données complexes et garantir une haute disponibilité et évolutivité.
Percona Server pour MySQL en remplacement de MySQL Enterprise plutôt que MySQL Standard
Percona Server pour MySQL, dans sa version gratuite, se positionne comme une alternative viable à MySQL Enterprise, comblant les lacunes de MySQL Standard. Si MySQL Standard est largement utilisé pour ses fonctionnalités de base et sa fiabilité, MySQL Enterprise, proposé par Oracle, est une version plus avancée offrant des fonctionnalités supplémentaires destinées aux entreprises, mais dont le coût de licence est élevé. De ce fait, MySQL Enterprise représente un investissement important pour de nombreuses organisations.
Percona Server pour MySQL, en revanche, offre gratuitement un certain nombre de fonctionnalités de classe entreprise, absentes dans MySQL Standard et disponibles uniquement moyennant des frais dans MySQL Enterprise. Ceux-ci inclus:
- Plugin d'authentification PAM: Ce plugin permet l'authentification des utilisateurs via des modules d'authentification enfichables (PAM), offrant une plus grande flexibilité et sécurité dans l'authentification.
- Plugin de journalisation d'audit: Offre la possibilité d'enregistrer des activités détaillées, telles que les demandes d'accès et les modifications de données, essentielles à la conformité réglementaire et à la sécurité.
- Stockage du porte-clés dans le coffre-fort Hashicorp: Cette fonctionnalité permet une gestion sécurisée des clés de chiffrement à l'aide de Hashicorp Vault, assurant une plus grande sécurité des données sensibles.
- Pool de discussions: optimise les performances en améliorant la gestion des connexions simultanées et la répartition de la charge de travail, particulièrement utile dans les environnements à forte concurrence.
Outre ces fonctionnalités, Percona Server for MySQL se distingue également par sa solution de sauvegarde. Percona XtraBackup offre une alternative efficace à MySQL Enterprise Backup. Il s'agit d'une solution de sauvegarde à chaud et sans interruption de service permettant d'effectuer des sauvegardes complètes de la base de données, ce qui en fait une option plus performante et économique que la solution proposée par MySQL Enterprise.
Percona Server pour MySQL apparaît comme un excellent choix pour les organisations recherchant des fonctionnalités d'entreprise sans les coûts élevés associés à MySQL Enterprise. Fournissant des outils avancés de sécurité, de gestion et de sauvegarde, Percona Server s'impose comme une solution robuste et rentable pour les besoins commerciaux avancés.
Performances et benchmark entre MySQL 8, Percona Server 8 et MariaDB.
Lorsqu'on évalue les performances des versions les plus récentes des systèmes de gestion de bases de données, notamment la version 8, un constat intéressant se dégage. Sans entrer dans des analyses techniques complexes, souvent présentes sur les blogs spécialisés et accompagnées de graphiques et de benchmarks parfois mal interprétés, on observe des tendances significatives. Dans la version 8, MySQL et Percona Server (qui utilise la même numérotation que MySQL) ont commencé à accuser un retard de performance par rapport à MariaDB.
L'une des décisions clés dans ce contexte a été de désactiver le cache de requêtes natif de MySQL , en raison de problèmes de gestion dans les environnements multithread et multiprocesseurs. Ce choix a permis l'utilisation d'outils tiers d'optimisation des requêtes, tels que ProxySQL.
En termes de transactions par minute (TPM), MySQL 8 et, plus particulièrement, Percona Server 8 offrent des performances nettement supérieures, avec des vitesses jusqu'à trois fois plus rapides que celles de MariaDB. Ce résultat est d'autant plus significatif qu'il met en évidence une amélioration substantielle des performances de MySQL et de Percona Server.
De ce point de vue, sur la base des faits actuels relatifs à MySQL version 8, il semble que MariaDB ne soit peut-être plus le choix privilégié en termes de SGBD, sauf s'il existe des besoins spécifiques de compatibilité ou de mise à niveau d'une ancienne version de MariaDB vers une version plus récente. .
Compte tenu des fonctionnalités avancées de Percona Server et de son excellente vitesse, qui non seulement rivalise avec celle de MySQL 8 mais la surpasse souvent, on peut affirmer que Percona Server 8 est le leader des trois solutions en lice, du moins par rapport à MariaDB et à l'édition Standard de MySQL . Cette évaluation souligne l'importance d'analyser avec soin les spécifications techniques et les performances lors du choix d'un SGBD, en tenant compte de l'évolution constante de ces outils dans l'environnement technologique actuel.