ArticleDonnées & IA
Pourquoi le vieux PostgreSQL est toujours très tendance
PostgreSQL- ou Postgres - est vieux comme le monde. Mais ces cinq dernières années, la base de données est aussi recherchée que l'or pur. Et même si MongoDB a fait son entrée en bourse et AWS a lancé son service de mise à l'échelle automatique Aurora Serverless, PostgreSQL continue à occuper, encore et encore, le devant de la scène.

Aujourd’hui, selon le classement de DB-Engines, PostgreSQL est la quatrième base de données la plus populaire au monde, certes, loin derrière Oracle, MySQL et Microsoft SQL Server. Sauf que, au rythme actuel, il y a toutes les raisons de croire que cela pourrait arriver un jour. Mais pourquoi un tel engouement pour la base de données ? Pourquoi PostgreSQL séduit-elle autant les anciens et les modernes ?
On pourrait penser que l'une des plus grandes innovations de PostgreSQL, l’introduction dans PostgreSQL 9.2 du support JSON natif - c’était il y a plusieurs années - a quelque peu perdu de son intérêt. Si à l'origine, le support était moins que parfait, la version 9.4 JSONB a dopé la base de données, lui conférant un attrait significatif (et de fortes capacités d’indexation). De plus, comme l'a souligné l'analyste de Redmonk, James Governor, « les développeurs se sont brusquement lassés du couple NoSQL/Big Data », choisissant PostgreSQL comme alternative viable à MongoDB et à Apache Cassandra pour prendre en charge certaines charges de travail clés.
PostgreSQ se met à l’échelle, grâce à Citus
Une vraie aubaine. Enfin, presque. Ce qui manquait encore à PostgreSQL (et aux systèmes de gestion de base de données relationnelle RDBMS, en général), c’était la mise à l'échelle. Bien sûr, il était toujours possible de casser sa tirelire pour s’offrir la solution de mise à l'échelle verticale d'entrée de gamme d'Oracle, mais les choses ont changé. Comme l'ont montré Google, Facebook et d'autres, aujourd’hui, la mise à échelle réelle est horizontale - et le succès de PostgreSQL a été entravé par cela. Mais, c’était hier.
Grâce à Citus, une extension open source pour PostgreSQL, la mise à l’échelle de PostgreSQL sur plusieurs nœuds est facile, de même qu’une distribution intelligente des transactions et des requêtes SQL pour un parallélisme massif, sans oublier une plus grande capacité de calcul, de mémoire et de stockage. L’éditeur Citus propose bien des solutions commerciales (ainsi qu'une base de données Citus entièrement gérée), mais elles servent simplement à faciliter la gestion de la mise à l'échelle. Or, comme l’explique Craig Kerstiens, responsable du cloud de Citus, les start-ups SaaS ou les entreprises bien établies peuvent démarrer avec PostgreSQL sans se soucier d’une réorganisation de l’architecture a posteriori pour NoSQL. Puisqu’avec Citus, PostgreSQL fait de la mise à l’échelle native.
Rendre tout très ennuyeux
À part ces nouvelles capacités de mise à l’échelle et cette fonctionnalité NoSQL, PostgreSQL a toujours été efficace dans toutes les tâches spécifiques que l’on attend d’une base de données. Essentiellement, stocker les données (sans les perdre). En fait, quand on interroge les gens sur cette renaissance de PostgreSQL, la plupart mettent en avant les qualités impressionnantes (et tellement ennuyeuses) de la base de données : priorité à l'intégrité et à la correction des données, capacité à étendre la base de données, possibilité d'interroger d'autres systèmes dans PostgreSQL depuis des bases externes. De plus, comme l’a déclaré Elijah Zupancic, directeur de l'ingénierie des solutions de Joyent, PostgreSQL apporte aussi des éléments essentiels aux développeurs : « Du point de vue du développeur, l’utilisation de la base est un vrai bonheur, la documentation est excellente, les types de données correspondent aux types utilisés par les développeurs et les surprises sont rares ».
Enfin, contrairement aux autres bases de données du Top 10, PostgreSQL est indépendante de tout fournisseur et elle regroupe autour d’elle une véritable communauté open source, tout aussi indépendante des fournisseurs. Ce dernier point est important, car il est très possible qu'avec le temps, PostgreSQL finisse par évincer MySQL. Pourquoi ? Parce que le contributeur principal de MySQL n’est autre que Oracle. John Grange, CTO d’OPSCompass indique que la majorité de ses clients préfèrent PostgreSQL justement parce qu’elle ne dépend pas d’Oracle. Et ils ne sont pas les seuls.
Cela dit, ni MySQL, ni Oracle ne perdront leur place de premier et second dans le classement des technologies de base de données les plus populaires au monde, au profit de PostgreSQL ou de n'importe quoi d'autre d’ailleurs. N’empêche que la tendance est favorable à PostgreSQL. D’un côté, les anciens utilisateurs apprécient sa fiabilité proverbiale. Quant aux plus jeunes utilisateurs, ils apprécient le côté… « ennuyeux ». Comme l’a déclaré quelqu’un sur Hacker News, « Ce n'est pas excitant et ça prend un peu de temps à mettre en place, mais une fois que vous avez terminé, vous disposez d’un bourreau de travail fiable avec tout le nécessaire ».
Note aux lecteurs : Cette contribution a été rédigée par Matt Asay pour Infoworld. Ce dernier est ancien avocat en propriété intellectuelle et actuellement en charge de l'écosystème développeur d'Adobe.