Intégré à Oracle à la suite de l'acquisition par Sun en 2010, MySQL est un système de gestion de base de données relationnelle, distribué sous une double licence GPL et propriétaire. Il fait partie des logiciels de gestion de base de données les plus utilisés au monde avec environ 50 000 téléchargements jour et des installations qui ont dépassé les 12 millions dans le monde. C’est ce SGBDR intégré dans les solutions de plus de 3 000 fournisseurs de logiciels indépendants/OEM, dont Adobe, Alcatel-Lucent, Cisco, General Electric, Hewlett-Packard et Symantec qui est traité de médiocre par l’ancien employé d’Oracle et membre du projet MySQL, Steinar Gunderson, « MySQL est une base de données plutôt médiocre, et vous devriez fortement envisager d'utiliser PostgresSQL à sa place ».
L'équipe MySQL développe la première base de données open source au monde, utilisée par les propriétés, les fournisseurs de cloud computing et les entreprises les plus importantes et les plus innovantes du web, notamment Facebook, Twitter, eBay, Pinterest, Tumblr, Wikipedia et YouTube. MySQL est également intégré dans les solutions de plus de 3 000 fournisseurs de logiciels indépendants/OEM, dont Adobe, Alcatel-Lucent, Cisco, General Electric, Hewlett-Packard et Symantec. Propulsé par l'adoption de la pile LAMP (Linux, Apache, MySQL et PHP/Perl/Python) comme standard de l'industrie pour la création d'applications web. MySQL fait aujourd’hui partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le grand public (applications web principalement) que par des professionnels, en concurrence avec Oracle, PostgreSQL et Microsoft SQL Server.
Sun a racheté MySQL AB dans le cadre de la plus grande acquisition de logiciels libres jamais réalisée. MySQL a été intégré à Oracle après l'acquisition de Sun en 2010. L'équipe MySQL d'Oracle gère tous les aspects de MySQL, notamment l'ingénierie, le marketing, les ventes et le support. Les domaines de produits comprennent MySQL Server et le moteur de stockage InnoDB, MySQL Cluster, MySQL Workbench, MySQL Enterprise Edition Enterprise Monitor et MySQL Connectors. Oracle a accéléré ses investissements dans MySQL.
Avec l'émergence du big data, couplée au passage au cloud computing et à la croissance des technologies mobiles, sociales et web, MySQL est idéalement positionné pour se développer dans certaines des startups et entreprises les plus exigeantes et innovantes de la planète. Cependant, Steinar Gunderson qui travaille actuellement pour Google, sur le navigateur Web Chrome, mais qui a également travaillé dans l'équipe chargée de l'optimisation de MySQL pour Oracle, estime que « MySQL est une base de données plutôt médiocre… ».
Steinar Gunderson a travaillé dans l'équipe chargée de l'optimisation de MySQL pour Oracle, où il a écrit le nouvel exécuteur de MySQL 8.0 ainsi que le nouvel optimiseur de jointure à venir. Pour l’ex-membre de l’équipe MySQL, aujourd’hui chez Google, MySQL 8.0 (avec son numéro de version mineure toujours plus élevé) est un bien meilleur produit que ne l'était la version 5.7. Mais il y a des limites à ce que l'on peut faire déclare Gunderson ; « les changements que d'autres et moi avons effectués amènent l'optimiseur MySQL vers un design assez standard du début des années 2000 avec quelques modifications intéressantes, mais c'est aussi là que ça s'arrête. »
« Venir à MySQL, c'était comme entrer dans un univers parallèle, déclare Gunderson, il y avait beaucoup de gens qui croyaient sincèrement que MySQL était un produit de pointe. En même temps, j'assistais à l'orientation et on m'expliquait comment l'optimiseur fonctionnait en interne, et j'avais vraiment besoin de pauses de choc pour comprendre à quel point presque tout était primitif. Dans un sens, cela ne me dérangeait pas tant que ça ; beaucoup de mauvais code signifie qu'il y a beaucoup de possibilités d'amélioration, et la direction soutenait fortement les grands remaniements. »
Selon Gunderson, certains membres de l’équipe MySQL étaient des hypocrites, présentant MySQL comme parfait. Cependant, la réalité était tout autre chose, « même des choses manifestement folles comme l'exécuteur, où tout était un gros morceau et où tout interagissait avec tout le reste, étaient saluées comme "efficaces" (ce qui n'était pas le cas). »
« Ne croyez pas une seconde que MariaDB est meilleur. Certains membres de l’équipe sont partis parce qu'ils étaient mécontents de la nouvelle gouvernance, pas parce qu'ils se sont soudainement réveillés un jour et ont réalisé le désordre royal qu'ils avaient créé dans le code. » Par exemple, le trieur devait littéralement se soucier de savoir si son entrée provenait d'un balayage de table ou d'un balayage de plage, car il n'y avait pas de modularité.
Tout ce qui n'était pas l'un de ces deux éléments, y compris les jointures, nécessitait de grandes contorsions, estime Gunderson. « Les jointures externes complètes étaient tout simplement impossibles à exécuter dans la conception donnée sans réécrire la requête (MySQL ne les supporte toujours pas, mais au moins maintenant il n'est pas entravé par l'ancienne conception we-can-do-left-deep-plans-only). Et ne me lancez pas sur le système de "tranches", qui est peut-être la conception la plus folle que j'ai jamais vue dans un logiciel réel ».
MySQL ou PostgreSQL ?
PostgreSQL est un système de gestion de base de données relationnelle et objet (SGBDRO). C'est un outil libre disponible selon les termes d'une licence de type BSD. Comme les projets libres Apache et Linux, PostgreSQL n'est pas contrôlé par une seule entreprise, mais est fondé sur une communauté mondiale de développeurs et d'entreprises.
Ce SGBDRO utilise des types de données modernes, dits composés ou enrichis suivant les terminologies utilisées dans le vocable informatique usuel. Ceci signifie que PostgreSQL peut stocker plus de types de données que les types simples traditionnels entiers, caractères, etc. L'utilisateur peut créer des types, des fonctions, utiliser l'héritage de type, etc. Entre 2012 et 2015, PostgreSQL était plus avancé que ses concurrents MariaDB et Firebird, ou propriétaires comme Oracle, MySQL, Sybase, DB2, Informix et Microsoft SQL Server, dans la conformité aux standards SQL.
PostgreSQL est largement reconnu pour son comportement stable, proche d'Oracle, mais aussi pour ses possibilités de programmation étendues, directement dans le moteur de la base de données, via PL/pgSQL. Le traitement interne des données peut aussi être couplé à d'autres modules externes compilés dans d'autres langages. Postgres serait plus lent et posséderait une gestion des connexions plus mauvaise qui nécessite généralement un pooler, mais le moteur actuel et ses performances sont plébiscités par un grand nombre de développeurs.
« J'ai vraiment aimé MySQL (et plus récemment MariaDB), et j'ai connu récemment quelques désagréments importants avec Postgres, et ce, pour un ensemble de raisons complètement différentes », déclare un internaute. « La réplication logique est la plus importante. MySQL dispose de la réplication logique et "mixte" depuis une décennie. PostgreSQL n'a intégré la réplication logique que récemment, et c'est encore très ennuyeux. Il ne réplique pas les déclarations de changement de schéma, donc celles-ci doivent être appliquées indépendamment par un système externe, et bien sûr, elles ne seront pas programmées exactement au bon moment, donc la réplication restera bloquée », poursuit-il.
Selon ce programmeur, Postgres aurait besoin d'un pooler/proxy de connexion externe, MySQL pas si tôt. « Je suis un développeur d'infrastructure, pas un DBA ou un utilisateur SQL avancé… Si vous gardez les choses simples afin d'avoir confiance en l'efficacité et les performances, alors MySQL fonctionne très bien selon mon expérience, et Postgres, malgré son exactitude académique et son ensemble de fonctionnalités de requêtes avancées, a été très ennuyeux. », conclut-il.
Source : Sesse
Et vous ?
Avez-vous expérimenté les SGBD MySQL et PostgreSQL ? Lequel préférez-vous ?
Pensez-vous que MySQL est médiocre ? Quel est votre avis sur la réaction de l'ingénieur Oracle en partance ?
« PostgreSQL, malgré son exactitude académique et l'ensemble de ses fonctionnalités, de ses requêtes avancées, est très ennuyeux », partagez-vous cet avis ?
Voir aussi :
MySQL abandonne les terminologies "master", "slave", "whitelist", "blacklist" et indique que ces modifications seront implémentées dans tous les produits MySQL dès les prochaines versions
MariaDB SkySQL : La nouvelle mise à jour majeure de la base de données Cloud intègre les bases SQL distribuées, pour garantir évolutivité et élasticité
PostgreSQL 14 est disponible avec l'amélioration des performances, la prise en charge étendue des données non structurées JSON et l'amélioration des capacités en matière de procédures stockées
Depuis 20 ans, PostgreSQL aurait mal utilisé fsync(), compromettant la cohérence des données, des solutions ont été proposées au FOSDEM 2019
40 % des professionnels IT veulent accélérer leur migration vers le Cloud, une étude de l'impact du COVID-19 sur l'adoption du Cloud par MariaDB
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
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
Le , par Bruno
Une erreur dans cette actualité ? Signalez-nous-la !