Edito vidéo – PostgreSQL 9.2 progresse, faut-il abandonner MySQL et passer à MariaDB ?

closeCet article a été publié il y a 11 ans 7 mois 8 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.


 

Transcription du texte de la vidéo

Bonjour à toutes et à tous et bienvenue pour cet édito du 17 septembre 2012. La base de données PostgreSQL vient de connaître une nouvelle mise à jour avec la version 9.2. Cette version apporte des améliorations, mais surtout affirme la volonté de ses développeurs de maintenir celle-ci dans le groupe de tête des bases de données pour entreprises, voire pour grandes entreprises.

Alors, parmi les annonces de cette version, il y a tout un pan concernant l’amélioration des performances avec des chiffres très impressionnants comme des requêtes de lecture des données quatre fois plus rapides, cinq fois plus d’écritures à la seconde, des parcours d’index de deux à vingt fois plus véloces, bref que du bon pour les utilisateurs de grosses bases de données.

Évidemment dans l’absolu, ces chiffres ne veulent pas  dire grand-chose, mais ils montrent une véritable amélioration de cette version par rapport à la précédente.

L’autre principale amélioration est le support d’un nouveau type de champs permettant de stocker des données au format JSON ou JavaScript Object Notation. Pour les non-programmeurs, il s’agit d’une façon de décrire des données. Cette capacité est intéressante pour les applications web récentes qui font de plus en plus usage de ce format et qui vont trouver dans PostgreSQL un allié naturel.

Un autre pas aussi en direction des applications lourdes du web avec la prise en compte de l’approche dite NoSQL. Ainsi, PostgreSQL se voit doté de nouvelles extensions de programmation combinées au système HStore. Ce système est un gestionnaire de base de données de type « Clé-Valeur » qui rentre dans la famille des bases dites NoSQL.

En résumé, PostgreSQL est une très bonne base de données, mais reste globalement moins connue et bien moins utilisée que MySQL. Les plates-formes de type LAMP (Linux, Apache, Mysql, PHP) restent aujourd’hui majoritaires. Ce qui devrait à terme poser des soucis, compte tenu de la stratégie mise en oeuvre par ORACLE qui risque bien de dépouiller MySQL de ses attraits aux yeux des millions d’utilisateurs de la version « communautaire ».

Les tenants de MySQL rappelleront qu’il existe un fork de MySQL : MariaDB qui permet de quitter facilement MySQL sans rien changer dans ces applications. Alors faut-il préférer MariaDB pour sa compatibilité avec MySQL ou passer à PostgreSQL ? J’avoue ne pas avoir encore de réponse tranchée.

Un élément de réponse réside peut-être dans la licence de ces deux bases de données. MariaDB est sous licence GPL alors que PostgreSQL est sous une licence de type BSD donc beaucoup plus permissive puisqu’il est possible de vendre des exécutables modifiés de la base de données sans fournir les sources. Un obstacle peut-être à la contribution pour certains développeurs.

On se retrouve pour un prochain édito semaine prochaine. En attendant, portez-vous bien et à très bientôt.

Philippe Scoffoni

Je barbote dans la mare informatique depuis 30 ans (premier ordinateur à 16 ans, un ORIC ATMOS) et je travaille à mon compte au travers de ma société Open-DSI. J'accompagne les associations, TPE et PME dans leurs choix et dans la mise en oeuvre se solutions informatiques libres.

3 réponses

  1. Bonob0h dit :

    Le grand problème est que Postgre est d’être « plus complexe » que mysSql pour les développeurs du web2zero qui ne savent que se faciliter la vie 😉 « les vieux disaient : ils ont un poil dans la main »

    Bien sur la licence permissive bsd qu’utilise postgre peut être un frein ! Mais un frein à qui ?
    A elle même plus qu’autre chose. Mais la aussi il y a le Libre Autrement qui peut intervenir 😉
    https://docs.google.com/document/pub?id=1RmTNJ4qmgIw2_Fc6yelVdb_lWnmL4VWeODs3vr5aXZ4

    En tout cas le frein n’est pas aux développeurs d’applications php qui ne font qu’utiliser !
    Donc … au lieu de se perdre a se forker, copier ou autres des applis, pour trop d’outils ou il y a beaucoup a redire et aussi faire Autrement … ils feraient mieux de se « former » pour mieux utiliser les champs des possibles d’une telle bdd !

    Quand aux plateformes ! Bah qu’ils se bougent aussi ! Ça peut être un argument pour Nginx par exemple 😉

    Pour le Mariadb le fork, de lui même ! Franchement ! Encore une boite ! Une boite qui elle aussi va se faire manger ? Puis par une Autre !? Comme précédemment !? Une histoire suffit amplement ! Pas la peine de faire une série Z des « feux de l’amour ! »

  2. Bernard dit :

    Postgresql est utilisé en production depuis des années et assez massivement au Ministère de l’intérieur
    il a pour lui un plus grand respect des standarts SQL et sur mon expérience une plus grande stabilité
    Il a effectivement un déficit de notoriété, mais la renommée n’a jamais été un gage de qualité d’un produit : voir la prédominance de Microsoft en OS dans les années 90-2000.

    Une forme d’inculture des développeurs sur les vrais capacités des bases de données (j’en sais quelque chose j’étais développeur) (cf :1), rendent effectivement MySQL suffisant pour pas mal d’usage
    mais dès qu’on passe dans des usages plus avancés : requête récursives, windowing, MySQL ne sait plus faire.
    Ce ne sont pas, contrairement à ce qu’on pourrait croire, des gadgets de geek.

    Pour ma part s’il y a une migration à faire, je n’hésiterais pas.

    On peut lire avantageusement
    http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL
    pour se faire son opinion en fonction de son usage

    et je ne résiste pas à donner à lire un autre document ancien également (cf : 2)

    article volontaire polémique qui va à l’encontre de certaines idées qui sont dans l’air du temps (architecture n-tiers et autres ORM)
    (1) http://img1.lemondeinformatique.fr/fichiers/telechargement/plaidoyer-de-frederic-brouard-sur-le-concept-de-bases-de-donnees-epaisses.pdf

    une vue sur l’évolution du statut et du métier d’informaticien
    (2) http://www.christian-faure.net/2009/03/14/la-proletarisation-dans-les-societes-informatiques/

  3. Thomas dit :

    Pour se trancher un peu plus l’opinion, il y a plusieurs choses à voir.

    Tout d’abord, lorsqu’il s’agit de choisir une alternative libre à un SGBD propriétaire, c’est très souvent que PostgreSQL est choisi car ses fonctionnalités correspondent à ce que l’on attend d’un vrai SGBD: ACID, richesse fonctionnelle, etc.

    Beaucoup de grands comptes utilisent PostgreSQL sans en faire étalage. MySQL a une connotation plutôt « internet », mais se trouve rarement utilisé dès lors qu’une application a de forts besoins transactionnels ou doit manipuler un gros volumes de données.
    Par exemple, l’optimiseur de requête de MySQL est assez calamiteux, il ne dispose que d’un seul algorithme de jointure, et évidemment c’est le moins efficace quand il s’agit de réaliser une jointure sur un volume de données important. A ma connaissance, MariaDB n’améliore pas les choses.

    Ensuite, pour moi en tout cas, la question de la licence BSD est un faux problème. Lorsque l’on regarde la communauté PostgreSQL, on s’aperçoit d’un fonctionnement très démocratique (trop peut-être, car certaines fonctionnalités tardent à arriver). Cette communauté est composée notamment de développeurs employés par les principaux acteurs commerciaux du monde PostgreSQL. Certains de ces acteurs profitent en effet de la licence BSD pour proposer leurs déclinaisons propriétaires, mais restent néanmoins des contributeurs majeurs au projet.