C’est en 1986, sous l'administration Reagan qu’a commencé le développement de PostgreSQL ! Et même si, selon le spécialiste de l'open source Mike Olson, le projet a bénéficié d’un « leadership précoce exceptionnel », son cousin MySQL, lancé en 1995, l’a dépassé en popularité. Pourtant, au cours de la dernière décennie, PostgreSQL est devenu très populaire auprès des start-ups et des entreprises, au point d’être la quatrième base de données la plus populaire au monde, gagnant régulièrement du terrain sur MySQL, Microsoft SQL Server et Oracle.
La question qui se pose aujourd'hui, et qui se posait déjà en 2017, est de savoir pourquoi et comment ? Contrairement à toutes les autres bases de données (open source ou propriétaires), PostgreSQL est entièrement alimentée par la communauté, et aucune entreprise n’est responsable de son développement. On pourrait penser que ce mode de fonctionnement est impossible, et pourtant, c’est le cas. Des discussions avec Bob Laurence et Craig Kerstiens, les dirigeants de Crunchy Data, permettent de mieux comprendre pourquoi et comment fonctionne PostgreSQL. Voilà près d’une décennie que Crunchy Data délivre PostgreSQL aux entreprises, et l’entreprise a récemment lancé une offre de services managés PostgreSQL-as-a-service. Mais en réalité, Crunchy Data ne devrait pas exister, tout comme PostgreSQL ne devrait pas exister non plus - sauf comme base de données de type mainframe laissée pour morte dans le sillage de NoSQL (du moins, d’après ce que disent les médias). Et pourtant…
Pas encore mort, et toujours vivace
Comme le déclare Bob Laurence, cela fait depuis au moins 2012, date du lancement de Crunchy Data, qu’on lui prédit la disparition imminente des bases de données relationnelles. « À l'époque, les médias disaient que le NoSQL était la voie à suivre et que le SQL était obsolète ». Mea culpa. Mais ce que disaient les clients à Crunchy Data était différent : « Oui, nous utilisons un peu MongoDB ou Hadoop, nous allons vers le NoSQL, mais Postgres faisait vraiment partie d'une nouvelle boîte à outils de gestion des données centrée sur l'open source et en matière relationnelle, ils pariaient dessus ». Autrement dit, NoSQL prenait son envol. Mais il ne supplantait pas des bases de données relationnelles comme PostgreSQL et sans doute très spécifiquement PostgreSQL.
Craig Kerstiens estime qu’il est difficile d'abandonner les bases de données relationnelles en raison des investissements réalisés depuis des décennies dans SQL pour les tâches d’analyse. « SQL est la lingua franca de l'analyse », fait-il remarquer. « Tout analyste de données apprend le SQL ». De plus, même si les données non structurées ou semi-structurées se développaient, il y avait toujours des données structurées à gérer et les entreprises voulaient toujours les garanties transactionnelles qu'une base de données relationnelle pouvait fournir. Ainsi, PostgreSQL, et les bases de données relationnelles en général, n'ont jamais vraiment perdu de leur éclat. Pourtant, PostgreSQL se distingue des autres, car elle n’a cessé de gagner en réputation D'autres bases de données relationnelles ont aussi résisté, mais sans gagner de nouveaux territoires. PostgreSQL continue de se développer, parallèlement au marché NoSQL florissant.
Bob Laurence explique ce gain de popularité par le fait que « PostgreSQL offre un véritable développement communautaire, une extensibilité, une forte conformité SQL, une réputation de stabilité de longue date ». Ce n’est pas un problème si PostgreSQL devient très similaire à la base de données d’Oracle. Ce n’est pas non plus un problème si la communauté PostgreSQL a ajouté le support des fonctionnalités de type NoSQL comme JSON. Finalement, ce qui rend PostgreSQL différent, c'est la communauté.
Le Linux des bases de données
Le rachat de MySQL par Oracle a peut-être refroidi l'enthousiasme de la communauté pour la base de données, mais MySQL a toujours été portée par la communauté d'une même et seule entreprise. Il en va de même pour toutes les autres bases de données que l’on peut nommer. (DB-Engines répertorie 358 bases de données, mais qui pourrait en citer, ne serait-ce que 10 % d'entre elles). Seule PostgreSQL a une approche de « développement axé sur la communauté et sans propriété centralisée », explique encore Bob Laurence. « Cela peut sembler un petit avantage bien sympathique, mais en matière de bases de données, les entreprises ne prennent pas leurs décisions à la légère », fait encore remarquer M. Laurence. « C'est comme une greffe de cœur ». En tant que tel, « les utilisateurs très avisés de la technologie de gestion des données… suivent de près et font preuve de diligence envers la communauté qui se trouve derrière cette technologie, parce qu'ils font des paris pluriannuels sur ces bases de données. C'est une décision hautement stratégique », a-t-il ajouté.
Pourtant, même si l’on peut affirmer que « PostgreSQL est le Linux des bases de données », la communauté PostgreSQL se distingue de manière significative de Linux, principalement parce qu'il n'y a pas de chef. Il n'y a pas de Linus Torvalds. Pas de dictateur bienveillant pour la vie. À la place, il y a un groupe de contributeurs, travailleurs et discrets, comme Tom Lane. Même si ce dernier est l'un des contributeurs open source les plus prolifiques au monde, « Tom ne veut pas que son nom soit mentionné », a déclaré Craig Kerstiens. « Il veut juste s'asseoir et écrire le code de Postgres ». (Pour être exact, il faudrait également citer les Magnus Hagander, Bruce Momjian, Dave Page, et autres contributeurs). Dans le cas de PostgreSQL, ou plutôt de ses utilisateurs, il est extrêmement important que la base de données soit véritablement ouverte (comme dans la gouvernance ouverte) et à code open source. « Alors que les entreprises cherchent à moderniser leur infrastructure avec le cloud et l'open source, elles font de gros paris sur PostgreSQL », fait encore remarquer Bob Laurence. En d'autres termes, PostgreSQL est toujours très actuelle… et cela dure depuis plus de trois décennies.