Continuer ou pas d’utiliser MySQL ? Telle est la question…

Temps de lecture 7 min

image_pdfimage_print

Vous trouverez ci-dessous un argumentaire exposant cinq (bonnes  ?) raisons d’abandonner MySQL.

Dans la mesure où nombreux sont les sites dynamiques qui reposent encore sur cette célèbre base de données (à commencer par les nôtres), la question mérite d’être posée.

Ditch MySQL

5 raisons de larguer MySQL dès maintenant

5 Reasons It’s Time to Ditch MySQL

Rikki Endsley – 10 juillet 2013 – SmartBear Blog
(Traduction  : Slystone, audionuma, tetrakos, goofy, mokas01, fred, Sky, ProgVal, ymai, Asta + anonymes)

MySQL est encore et toujours la plus populaire des bases de données open source, mais a perdu des fans au fil des années. Voici cinq raisons concrètes de laisser tomber MySQL.

En 2008, MySQL gagnait rapidement en popularité lorsque Sun Microsystems acheta MySQL AB pour environ un milliard de dollars. L’année suivante, Oracle racheta Sun, et MySQL faisait partie de la transaction. Les utilisateurs de MySQL et les développeurs ont commencé à se poser des questions sur le destin de ce système de base de données open source, et nombre d’entre eux commencèrent à chercher des alternatives

Revenons en 2013. Oracle n’a pas exterminé son précédent compétiteur et MySQL reste le système de bases de données le plus populaire. Et pourtant, cette popularité de MySQL est sur le déclin  : tandis qu’il perd de son attrait, des alternatives viables pour la gestion des bases de données commencent à tirer leur épingle du jeu. Voici cinq bonnes raisons de ne pas utiliser MySQL, le système de gestion de bases de données qui fut libre (pour voir l’autre côté de la médaille, lire l’article d’Andy Patrizio qui donne les cinq bonnes raisons de continuer à utiliser MySQL, faites-vous un avis, et n’hésiter pas à le partager dans les commentaires).

1. MySQL n’est pas aussi mature que d’autres systèmes de gestion de bases de données.

MySQL n’a pas commencé comme un SGBDR (Système de Gestion de Bases de Données Relationnelles), mais a changé de direction par la suite pour inclure plus de fonctionnalités. Les SGBDR plus anciens et plus matures sont toujours considérés comme ayant plus de fonctionnalités que MySQL. Si vous voulez un SGBDR riche en fonctionnalités, vous pouvez jeter un œil à PostgreSQL ou à des options non open source, telles que Oracle DB ou Microsoft SQL Server.

Selena Deckelmann, une contributrice à PostgreSQL, affirme que Postgres est considéré comme le bon choix pour les nouveaux projets parmi les développeurs-euses Web qui ont besoin d’une base de données relationnelle. «  Avec le type de données JSON, et PLV8, Postgres pourrait aussi bien devenir le choix par défaut pour le NoSQL.  » dit-elle.

2. MySQL est open source… enfin, plus ou moins

Techniquement, MySQL est un système de bases de données open source, mais dans la pratique ce n’est plus le sentiment que l’on ressent. Sous le couvert d’Oracle, MySQL a maintenant plusieurs modules propriétaires dont le code source n’est pas public. «  Sur le papier, MySQL est toujours vivant, mais la mainmise d’Oracle sur le développement et son refus de communiquer des exemples de tests concernant des bugs et des patches de sécurité pour MySQL a renforcé son contrôle sur le code et a poussé de nombreux développeurs open source à aller voir si l’herbe n’est pas plus verte aileurs.  » explique Paula Ronney dans son article sur ZDNet, Est-il temps pour Oracle de donner MySQL à Apache  ?

Ce n’est pas comme s’il n’y avait pas d’alternatives open source. MariaDB, un fork de MySQL, reste «  véritablement open source  ». SkySQL, une entreprise développant MariaDB qui a fusionné avec Monty Program Ab (l’entreprise mère de MariaDB) plus tôt cette année explique que «  Tout le code dans MariaDB est fourni sous GPL, LGPL ou BSD. MariaDB n’a pas de module closed source comme ceux que vous pouvez trouver dans la MySQL Enterprise Edition. En fait, toutes les fonctionnalités closed-source de MySQL 5.5 Enterprise Edition se trouvent dans la version open source MariaDB.  »

3. Les performances de MySQL ne valent pas celles de ses concurrents

Le blog de MariaDB offre un comparatif détaillé des résultats obtenus par les versions récentes de MySQL et de MariaDB, et bien que les résultats se jouent dans un mouchoir de poche, MariaDB possède une longueur d’avance.

Selena Deckelmann, contributrice à PostgreSQL, prétend que Heroku Postgres rend Postgres plus attirant pour plusieurs raisons, y compris au niveau de l’extensibilité. «  Ils possèdent clairement le plus large environnement hébergé pour Postgres, s’adaptant automatiquement pour vos applications et acceptent des extensions (add-ons) qui rendent facile l’essai de nouvelles fonctionnalités avant même que les DevOps ne rencontrent la situation  » ajoute-t-elle à ses explications. «  Ils viennent tout juste d’annoncer le support de PLV8 qui permet de lancer JavaScript au sein même de la base de données et tire avantage des données JSON disponibles dans les versions 9.2 et supérieures.  »

4. MySQL est la propriété d’Oracle, pas un projet communautaire

MySQL n’a pas radicalement changé d’objectif depuis son acquisition par Oracle, mais demeure la propriété d’Oracle, ce qui rend certains développeurs nerveux. «  Et, pire encore, il est impossible pour la communauté de collaborer avec les développeurs de chez Oracle  » dit Michael «  Monty  » Widenius, fondateur de MySQL et de MariaDB.

Widenius remarque qu’Oracle n’accepte pas les patchs et ne fournit aucune roadmap publique. «  Il n’y a pas moyen de discuter avec les développeurs de MySQL sur l’implémentation de fonctionnalités ou le fonctionnement du code actuel  » ajoute-t-il. S’il vous importe d’employer une base de données open source et développée par la communauté, Widenius vous conseille MariaDB (doh !), car elle est bâtie sur MySQL et offre plus de fonctionnalités, de vitesse et de stabilité, mais moins de failles de sécurité.

5. De plus en plus de grand projets abandonnent le navire

Lors des rencontres RedHat Summit 20013 Boston, RedHat a annoncé sa rupture avec MySQL. La distribution Linux Red Hat Entreprise (RHEL) intégrera MariaDB. Fedora a d’ores et déjà annoncé qu’il passerait de MySQL au fork MariaDB avec Fedora 19. Slackware Linux a annoncé la transition de MySQL à MariaDB en mars 2013 et openSUSE a fait une annonce similaire en janvier 2013.

Les distributions Linux ne sont pas les seules. En avril 2013, la Wikimedia Foundation a annoncé que Wikipédia, le septième site le plus populaire au monde allait adopter MariaDB. Dans le communiqué, Asher Feldman, le concepteur de sites de la Wikimedia Foundation, expliquait que les améliorations de l’optimisateur de MariaDB, et que l’ensemble de fonctionnalités XtraDB de Percona étaient des raisons très favorables à un changement. «  Tout aussi important, en tant que supporters du mouvement de la culture libre, la Wikipedia Foundation préfère fortement les projets logiciels libres  : cela inclut une préférence pour les projets sans base de code divisée entre éditions gratuites/libres et pour entreprises  », ajoute-t-il. «  Nous accueillons et supportons la MariaDB Foundation comme délégué à but non lucratif de la communauté de la base de données MySQL libre et ouverte.  » Comme le fit remarquer le journaliste spécialisé en technologie Steven J. Vaughan-Nichols (et contributeur à SmartBear) à la fin de l’année 2012, peu importe ce que vous ressentez vis-à-vis d’Oracle ou du débat des logiciels open source/non-libres, «  les meilleures performances de MariaDB à l’un des sites Web les plus chargés du monde va attirer l’attention de n’importe quelle personne utilisant des piles logicielles Linux, Apache, MySQL, PHP/Python/Perl (LAMP).  »

Donc, que savent ces entreprises spécialisées dans la technologie et le Big Data que les utilisateurs fidèles de MySQL ignorent  ? MySQL n’est plus le seul gros poisson dans le petit étang des solutions de bases de données. Au contraire, MySQL est en concurrence avec sa propre solution émancipée d’Oracle, une engeance véritablement open source, MariaDB, le SGBDR toujours plus populaire PostgreSQL, et un marché toujours plus florissant de solutions NoSQL.

Si vous n’avez pas encore laissé tomber MySQL, il y a plein de raisons pour y réfléchir à nouveau.

15 Responses

  1. jmax

    Si MariaDB est pleinement compatible avec MySQL, cela vaudrait le coup que les développeurs fassent le switch ce qui serait transparent pour tous les utilisateurs. Maintenant, PostgreSQL est largement supérieur en performances et peut-être qu’il serait bon de reconsidérer les choix originels

  2. Internet notre ennemi

    « Projet communautaire » : ça ne veut rien dire.

    Il n’existe pas de projet communautaire, du moins à haut niveau, car le projet finit toujours par s’organiser autour d’une association ou d’une forme juridique autre. Et à ce moment là, l’entreprise doit être également considérée comme « projet communautaire ».

  3. Evildead

    J’aimerais en introduction de l’article qu’on me dise qui est Rikki Endsley pour savoir si je dois ou non prendre au sérieux ses propos.

  4. tester

    nulle doute que mariadb va pousser mysql vers le haut…c’est une très bonne nouvelle.

  5. tester

    car si c’est un fork de mysql, null doute que mysql reprendra librement/gratuitement à son compte les avancées majeures du dissident open source.

  6. tester

    …à la manière de chrome avec chromium of course ^^

  7. deadalnix

    « Les performances de MySQL ne valent pas celles de ses concurrents » C’est vrai. MySQL est bien plus rapide lorsqu’il y a peu de concurrence en écriture. Et c’est pourquoi c’est utilisé chez Google et Facebook sur certaines données.

  8. YK

    Il était temps.
    Cela fait des années que j’ai laissé tomber Mysql.
    En fait, j’ai laissé tombé Mysql après avoir découvert PostgreSql

  9. Ner'zhul

    Au niveau performances, hormis versus 5.6 la différence n’est pas transcendante.
    PostgreSQL est un excellent moteur de bases de données, malheureusement il est supporté par trop peu de sites (wordpress par exemple…), même si cela tend à s’améliorer

  10. greg

    Pour faire un site performant sur le web soit avec mysql ou pgsql, j’étais souvent obligé de dénormaliser les données dans les bases et je n’etais pas le seul à le faire.
    Quand le moment est venu de larguer mysql, j’ai pris un long moment de recherches et de consideration et j’ai opté pour une base non relationelle: dans mon cas le mongodb. En effet 9 fois sur 10 pour le developpement web on n’a pas (vraiement) besoin de normalisation/relations, pourquoi alors insister sur les BDR?
    J’ai choisi mongodb parceque le projet est à présent mûr, bien documenté et ouvert (MIT license) ce qui empèche qu’une fois il subit le même destin que MySql