miniature-youtube-episode-1_3_0.jpg

PostgreSQL Episode 1 : Présentation de l’écosystème

11/10/2018
Données

PostgreSQL est une des technologies de bases de données qui monte notamment car elle est open source, profite d’un écosystème et d’une communauté riche. C’est justement à cet écosystème, à l’histoire et à l’évolution de cette technologie que nous allons nous intéresser.

Nous avons traité ce sujet au travers d’un webinar animé par Géry Pannequin, Consultant pour Digora, le 25 septembre 2018. Il avait abordé ce sujet sous 4 angles :

  • Pourquoi s’intéresser à un logiciel open source ?
  • Qu’est-ce que PostgreSQL ?
  • Quels sont les acteurs du monde PostgreSQL ?
  • Quel est l’avenir de PostgreSQL ?

Dans cet article, nous résumons les propos qui ont été tenu lors de ce webinar.

Vous pouvez aussi revoir le webinar sur YouTube qui vous apportera de nombreuses informations complémentaires.

Inscrivez-vous à notre liste de diffusion pour recevoir directement les prochains épisodes dans votre boite email !

Qu’est-ce que PostgreSQL ?

Voici un petit résumé de PostgreSQL selon le site Open Hub :

« PostgreSQL est un système de base de données relationnelle puissant et open source.
Il a plus de 15 ans de développement actif et une architecture éprouvée qui lui a valu une solide réputation de fiabilité, d'intégrité des données et d'exactitude.
Il fonctionne sur tous les principaux systèmes d'exploitation, y compris Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) et Windows. »

Pourquoi s’intéresser à un logiciel open source ?

Logiciels Open source VS « Closed source »

Voici une première raison. Le graphique ci-dessous, d’origine EDB, compare l’évolution fréquemment constatée dans les choix de logiciels.

Logiciels Open Source vs Closed Source

On y compare les logiciels dont le code source n’est pas accessibles aux logiciels Open Source.

Il apparaît que, bien que démarrant souvent les premiers, les logiciels fermés peinent tôt ou tard à faire face à la large diffusion des logiciels ouverts couvrant les mêmes fonctionnalités.

Jo Coudert, écrivaine de renom, disait « Afin de bien planifier votre avenir, il est nécessaire que vous compreniez et appréciez votre passé. » C’est pour cela que nous tentons de vous donner un aperçu des grandes étapes de l’évolution de PostgreSQL.

Le cycle dangereux des produits commerciaux

Une deuxième raison de s’intéresser à l’Open Source serait que les produits commerciaux sont très souvent soumis à un cycle dangereux :

  1. Une phase d’innovation, avec des impasses pour de nombreuses StartUp (on connait la courbe en cloche du Hype Cycle du Gartner Group)
  2. Une phase de croissance du marché, avec le fameux plateau de maturité du Hype Cycle
  3. Une phase de saturation du marché, au moment où :
    • D’une part toutes les entreprises ont déjà les licences nécessaires et ne paient plus que le support
    • D’autre part les actionnaires de l’éditeur réclament un CA toujours en augmentation
  4. Une phase délicate, liée à la précédente, où l’éditeur décide de maximiser le profit tout en réduisant les coûts (de développement et de support notamment)
  5. Une phase dans laquelle on passe en mode de maintenance (pas de nouvelles fonctionnalités, pas d'innovation)
  6. Une phase critique : la fin de vie (ou quasi fin de vie) du produit ou de l’éditeur

A l’opposé, les produits Open Source connaissent d’autres phases :

  1. Le développement de produits s’approchant des fonctionnalités des produits propriétaires, mais très économiques (et sans soucis de licences avec la virtualisation ou le Cloud)
  2. Une augmentation importante de leur diffusion liée à la croissance du marché Open Source
  3. Une obligation de poursuivre l’innovation ou alors de décliner
  4. Mais le code source est toujours disponible pour continuer

Le cycle de développement des produits commerciaux

Dans l’approche propriétaire, les phases de développement sont confidentielles, sans contacts avec les clients (sauf peut-être pendant la phase Béta pour certains rares clients ou partenaires)

Dans l’approche Open Source, une interaction continue existe entre les développeurs (dont certains font partie des grosses entreprises utilisatrices) d’une part et les entreprises utilisatrices d’autre part.

Il existe, par exemple, des échanges nombreux entre les développeurs de Postgres et les utilisateurs.

Quels sont les acteurs du monde PostgreSQL ?

Sur le site www.postgres.org vous trouverez de nombreuses informations, dont une documentation complète de Postgres en français.

Les développeurs de PostgreSQL sont nombreux et viennent du monde entier.

Il y a 2 cas de figures :

  • Ils développent bénévolement, par passion, sur leurs moments libres
  • Ils sont payés par leur employeur qui leur affectent certains jours de travail pour développer PostgreSQL, dans le cas où leur employeur sponsorise PostgreSQL (ex. EDB, 2 Quadrant, SNCF, etc…)
  • Ou une combinaison des 2 cas de figures…

Ce qu’il est intéressant de noter est que les équipes de développement sont stables avec une vision sur 5 ans. Mais comment organiser le travail des nombreux contributeurs et être sûrs d’obtenir un bon résultat ?

La réponse réside dans le principe clé pour PostgreSQL : la Core Team !

La Core Team du PostgreSQL Global Development Group est composée de cinq membres de longue date de la communauté PostgreSQL, avec diverses spécialisations.

Leur rôle est de :

  • Coordonner les nouvelles releases
  • Agir en tant qu'intermédiaire pour les communications confidentielles
  • Présenter les annonces stratégiques
  • Gérer les permissions pour les validations, l'infrastructure, etc.
  • Gérer les questions disciplinaires.
  • Prendre des décisions difficiles lorsqu'il n'y a pas de consensus.

La Core Team évite de s'impliquer dans des sujets qui sont mieux traités dans un forum ouvert, comme la direction technique et les préconisations.

Quel est l'avenir de PostgreSQL ?

PostgreSQL et les nouvelles fonctionnalités

La communauté derrière PostgreSQL cherche devenir et rester à iso-fonctionnalités avec les grands éditeurs du marché.

Par exemple, après la phase de relance de 1996, qui a vu le SQL introduit dans PostgreSQL et une phase de montée en capacité de niveau Entreprise, c’était le moment d’augmenter la flexibilité avec notamment :

  • Des types de données spécifiques et orientées applications tels que JSON, PostGIS (données spatiales), RANGE
  • Des types d’index avancés (GIN, SP-GiST)
  • Une scalabilité mono-node (parallélisation) et multi-node (SHARDING)

Zoom sur l’historique des versions passées de PostgreSQL

Depuis ces débuts, l’évolution de PostgreSQL est régulière avec de nombreuses mises à jour, ajouts de fonctionnalités et une augmentation forte du nombre de lignes de codes.

Le futur de PostgreSQL

L’évolution de PostgreSQL s’articule autour de 3 axes de développement :

Facilité d’utilisation et de déploiement :

  • Installations facilitées
  • Autres modes de stockage
  • Alternative au Vaccum
  • Utilisation dans de Cloud

Montée en puissance :

  • Scalabilité verticale (parallélisation)
  • Scalabilité horizontale (Sharding)
  • Diagnostics de performance
  • Sauvegardes incrémentales
  • Autres modes de stockage
  • Upgrade sans arrêt

Adaptation aux nouveaux besoins

  • Liens avec des bases de données no-SQL
  • Extensions aux types de données JSON, XML, Hstore

Un contexte particulier

Certains éditeurs de BDD provoquent un intérêt croissant pour Postgres pour les raisons suivantes :

  • Problématique de licence dans les environnements virtualisés ou Cloud
  • Options utiles mais payantes
  • Impossibilité d’empêcher l’activation involontaire d’option payantes
  • Changement des règles de licensing
  • Etc…

En conclusion et pour en savoir (encore) plus !

Nous conclurons cet article avec une petite réflexion :

  • Les idées ne meurent pas aussi longtemps qu’elles sont partagées
  • Les idées sont partagées aussi longtemps qu’elles sont utiles
  • PostgreSQL vivra aussi longtemps qu’elle sera utile

Si vous avez des questions sur cette technologie, n’hésitez pas à nous écrire. Nous vous répondrons rapidement wink

 

Si vous voulez en savoir plus, inscrivez-vous à notre liste de diffusion pour recevoir directement les prochains épisodes dans votre boite email !

Les 3 prochains épisodes consacrés à PostgreSQL seront diffusés sur YouTube et notre blog :

copy-link