MySQL est l’une des bases de données open source les plus utilisées dans le monde. Selon DB-Engines, elle est la deuxième base de données la plus populaire, juste après Oracle Database. MySQL alimente de nombreuses applications très fréquentées comme Facebook, Twitter, Netflix, Uber, Airbnb, Shopify et Booking.com. Depuis plus de 25 ans, MySQL a été enrichie de nombreuses fonctionnalités développées en collaboration étroite avec ses utilisateurs, rendant probable la compatibilité avec votre application ou langage de programmation préféré.
Il y a environ quinze ans, lorsque Oracle a acquis Sun Microsystems et donc MySQL, des spéculations ont circulé sur Internet quant au moment où Oracle allait « tuer MySQL ». Plusieurs théories ont émergé, allant de l'élimination totale de MySQL pour réduire la concurrence avec le logiciel propriétaire Oracle à la suppression de son statut de projet open source, ne laissant que MySQL Enterprise comme option. Ces rumeurs ont bénéficié à MariaDB, PostgreSQL et d'autres concurrents moins importants, et ont donc été largement diffusées.
Les bases de données sont essentielles pour toutes les applications logicielles, permettant le stockage et l'accès aux données pour des recherches web, des connexions de compte ou des transactions. Une base de données relationnelle structure les données en tables distinctes, évitant de les regrouper en un seul bloc. Cette organisation est optimisée pour la rapidité et offre un environnement de programmation flexible avec des objets comme des tables, des vues, des lignes et des colonnes. Les règles régissant les relations entre les champs de données (un à un, un à plusieurs, unique, obligatoire ou facultatif) garantissent l'absence de données incohérentes, dupliquées, orphelines, périmées ou manquantes.
Le terme "SQL" dans "MySQL" signifie "Structured Query Language" (langage de requête structuré), le langage standard le plus utilisé pour accéder aux bases de données. En fonction de votre environnement de programmation, vous pouvez saisir directement des commandes SQL, intégrer des instructions SQL dans un autre langage ou utiliser une API spécifique qui masque la syntaxe SQL. MySQL étant open source, tout le monde peut l'utiliser et le modifier. Vous pouvez télécharger MySQL gratuitement et adapter son code source selon vos besoins. Distribué sous la licence publique générale GNU (GPL), les conditions d'utilisation et de modification du logiciel y sont définies.
Oracle, Sun Microsystems et MySQL : un chapitre d'incertitude et d'optimisme
Comme dit précédemment, Oracle Corporation a finalisé l'acquisition de Sun Microsystems, incluant les droits d'auteur et la marque MySQL à l'époque. Cette transaction a été approuvée à l'unanimité par le conseil d'administration de Sun, ainsi que par ses actionnaires et le gouvernement américain le 20 août 2009. Peter Zaitsev a proposé qu'Oracle délègue la maintenance de MySQL à une entité indépendante afin de garantir le développement continu de la base de données. Les experts en bases de données ont exprimé des opinions divergentes à ce sujet, certains partageant les inquiétudes de Zaitsev tandis que d'autres se montraient optimistes.
Des préoccupations ont été soulevées quant au risque d'une domination excessive d'Oracle sur le marché suite à cette acquisition. Toutefois, les engagements pris par Oracle ont satisfait les régulateurs européens. Monty Widenius, le créateur de MySQL et farouche opposant à cette fusion, n'a pas abandonné sa lutte. Après l'approbation en Europe, il a salué les enquêtes lancées par les autorités russes et chinoises, et a porté la décision européenne en appel devant la Cour de Justice de Luxembourg pour contraindre la Commission à révéler les détails de ses motivations, notamment les engagements d'Oracle.
Simultanément, Jonathan Schwartz, PDG de Sun Microsystems, a démissionné après l'approbation de l'acquisition, suivant ainsi Scott McNealy, co-fondateur de Sun. La fusion entre Oracle et Sun a provoqué une scission au sein de la direction de Sun et avec Larry Ellison, PDG d'Oracle, particulièrement après l'annonce du licenciement de 3 000 employés. La Commission européenne a donné son feu vert à la fusion, convaincue par les promesses d'Oracle de maintenir MySQL en tant que logiciel open source. Néanmoins, d'autres parties prenantes comme Nexedi ont exprimé des préoccupations et même proposé de racheter MySQL pour un euro symbolique, plaidant en faveur de la préservation de l'open source.
Oracle s'est engagé à continuer le développement de MySQL, ce qui a partiellement apaisé la Commission européenne. Cependant, des concurrents comme Microsoft et SAP ont intensifié leur lobbying, tandis qu'IBM a critiqué MySQL en la qualifiant de base de données « bas de gamme », cherchant ainsi à attirer les utilisateurs vers ses propres solutions. Dans le même esprit qu'IBM, un ancien ingénieur d'Oracle a déclaré : « MySQL est une base de données plutôt médiocre ». Selon lui, PostgreSQL est une meilleure option pour un SGBD open source.
Selon certains analystes, Oracle a bien géré MySQL. L'équipe de MySQL a bénéficié d'une certaine autonomie, dirigée par Tomas Ulin, un ancien de MySQL. MySQL est devenu plus stable et sécurisé, avec une résolution significative des problèmes techniques et l'intégration de fonctionnalités demandées par les développeurs modernes, telles que le support JSON et des fonctionnalités avancées conformes aux standards SQL. Malgré l'existence de MySQL Enterprise, orienté vers les besoins des entreprises avec des fonctionnalités telles que l'authentification enfichable, l'audit et le pare-feu, Oracle a rencontré une forte concurrence à la fois dans les interfaces graphiques propriétaires et dans les outils de surveillance et de sauvegarde, y compris parmi d'autres solutions open source et propriétaires.
Oracle ambitionnerait de supplanter MySQL en intégrant HeatWave dans sa stratégie
Ces dernières années ont marqué un tournant significatif pour Oracle avec l'introduction de MySQL HeatWave. Cette solution représente le seul service de base de données entièrement géré qui intègre transactions, analyses et services d'apprentissage automatique au sein d'une seule base de données MySQL, éliminant ainsi la complexité, la latence et les coûts liés à la duplication ETL. De plus, MySQL HeatWave Lakehouse permet aux utilisateurs d'interroger jusqu'à un demi-pétaoctet de données stockées sous forme d'objets, dans divers formats de fichiers comme CSV, Parquet et des exports depuis d'autres bases de données. Les clients peuvent bénéficier des avantages de HeatWave même lorsque leurs données résident en dehors de MySQL.
MySQL HeatWave offre plusieurs fonctionnalités absentes dans MySQL Community ou MySQL Enterprise, notamment l'accélération des requêtes analytiques et des fonctionnalités de machine learning. La limitation de MySQL en matière d'exécution parallèle des requêtes constitue un défi particulier pour les requêtes analytiques. Selon Zaitsev, avec l'émergence de processeurs comportant des centaines de cœurs qui n'améliorent pas significativement la vitesse, les performances sont de plus en plus restreintes. Cette limitation affecte non seulement les requêtes des applications analytiques mais aussi les requêtes simples telles que celles de type "group by" couramment utilisées dans les applications opérationnelles. Bien que MySQL 8 supporte la parallélisation pour les DDL, cette fonctionnalité n'est pas étendue aux requêtes.
Zaitsev se questionne sur le fait de savoir si cette limitation pourrait être une stratégie pour pousser les utilisateurs à adopter MySQL HeatWave ou s'ils devraient plutôt envisager de migrer vers PostgreSQL ou d'adopter ClickHouse. Un autre domaine où MySQL open source présente des lacunes est la recherche vectorielle. Alors que toutes les autres grandes bases de données open source ont ajouté le support de cette fonctionnalité, et que MariaDB y travaille, le fait qu'elle soit réservée à l'écosystème MySQL HeatWave est regretté.
En outre, il y a le choix curieux de publier le support Javascript comme une fonctionnalité uniquement disponible dans MySQL Enterprise, alors que MySQL devrait chercher à séduire les développeurs Javascript, nombreux à préférer des bases de données plus simples comme MongoDB. « Je pense que tout cela va à l'encontre de la règle d'or mentionnée précédemment, car cela limite certainement l'adoption de MySQL, tant du point de vue de ces fonctionnalités spécifiques que des inquiétudes suscitées par ce changement de politique pour l'avenir de MySQL », commente Zaitsev.
Source : Percona, Oracle (1, 2)
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de l'idée avancée par certains selon laquelle Oracle a l'intention de « tuer » MySQL ?
Comment évaluez-vous MySQL en tant que système de gestion de base de données ? Le considérez-vous supérieur à PostgreSQL ?
Quelles sont les répercussions potentielles pour les utilisateurs et les développeurs fidèles à MySQL face à l'accent mis par Oracle sur des solutions propriétaires comme alternative à MySQL open source ?
Voir aussi :
"Oracle devrait revendre MySQL", déclare le créateur de la base de données : mais à qui ?
MySQL est une « base de données plutôt médiocre », déclare un ingénieur Oracle en partance, PostgreSQL est une meilleure option pour un SGBD open source, selon lui