Dimitri Fontaine (2ndQuadrant) : « Aujourd’hui PostgreSQL est unique sur le marché des bases de données relationnelles »

Dimitri Fontaine (2ndQuadrant) © Oleg Bartunov

Seconde partie de notre entretien avec Dimitri Fontaine, consultant PostgreSQL chez 2ndQuadrant. Au menu : amélioration des performances et avantages concurrentiels de PostgreSQL.

Voici la seconde partie de notre entretien avec Dimitri Fontaine, consultant PostgreSQL chez 2ndQuadrant et contributeur au projet. Pour rappel, la première se trouve ici.

Silicon.fr – Quelles fonctionnalités de PostgreSQL 9.3 permettent d’en améliorer les performances par rapport à son prédécesseur ?

Dimitri Fontaine – Chaque nouvelle version de PostgreSQL apporte son lot d’améliorations de performances. Le code est systématiquement revu et simplifié, et les améliorations sont de l’ordre de 20% à 30%. En réalité, cela signifie que certaines requêtes vont s’exécuter dans les mêmes chronométrages que dans la version précédente, certaines un peu moins vite, d’autres un peu plus vite ou même jusqu’à 400 fois plus vite que précédemment.

Cette histoire de 20% à 30% de performances en plus est donc une moyenne estimée pour une application qui utilise un peu de tout dans PostgreSQL. Le seul moyen fiable de savoir à quel point vous allez bénéficier de la nouvelle version avec votre application est de tester votre application avec la nouvelle version de PostgreSQL, aujourd’hui la 9.3.

Ce qu’il faut retenir ici, c’est que la plupart des améliorations de performances apportées par une mise à jour de version majeure de PostgreSQL sont « transparentes », c’est-à-dire qu’elles s’appliquent sans que vous ayez à modifier quoique ce soit de votre schéma de données ou bien de vos requêtes.

Évidemment, il existe quelques exceptions. La commande COPY FREEZE par exemple permet un chargement plus rapide des données puisqu’il évite des mises à jour habituellement réalisées par VACUUM bien après que les données soient arrivées dans la base.

Il est maintenant possible, avec PostgreSQL 9.3 d’exploiter l’extension pg_trgm afin d’indexer des recherches par expressions rationnelles. Les sauvegardes peuvent se faire avec plusieurs flux de récupération des données concurrents.

Aujourd’hui, « le secret le mieux gardé de l’open source » semble fonctionnellement très solide, y compris (et surtout ?) dans le secteur de l’analytique. Estimez-vous que PostgreSQL 9.3 dispose des armes lui permettant d’aller contrer des offres commerciales, comme Microsoft SQL Server ou Oracle Database 12c ?

Mon avis est sûrement un peu biaisé, étant donné que je suis consultant PostgreSQL pour 2ndQuadrant : je passe une très grande partie de mon temps à aider nos clients à tirer le meilleur de PostgreSQL, parfois dans le cadre d’une migration depuis des produits concurrents ; qu’ils soient sous licence commerciale ou libre.

Votre analyse me semble pertinente… pour la sortie de PostgreSQL 9.0, il y a déjà trois ans. Aujourd’hui PostgreSQL est unique sur le marché des bases de données relationnelles et offre des fonctionnalités avancées qui sont utilisables au quotidien : les développeurs que je rencontre sont enchantés de travailler avec PostgreSQL et ont le sourire lorsqu’ils intègrent du SQL au sein de leur code, tant ils y gagnent en temps de travail.

Je ne connais aucune autre solution qui intègre dans son SGBD l’indispensable clause RETURNING pour les commandes INSERT, UPDATE et DELETE, ou bien le support de ces commandes de modification de données à n’importe quelle position d’une requête WITH, la possibilité d’ajouter des fonctions d’agrégats spécialisés en SQL et de les utiliser avec une définition de fenêtre glissante (window function), un contrôle détaillé du compromis entre performances et durabilité des données (écritures disques, réplication synchrone ou asynchrone, utilisation mémoire…) configurable de manière indépendante dans chaque transaction, une implémentation conforme de la «sérialisabilité» des transactions, etc.

La liste des avantages propres à PostgreSQL est de plus en plus longue, au point qu’aujourd’hui ce sont les concurrents qui, selon moi, prennent du retard. Il faut se souvenir que la nature complètement Open Source de PostgreSQL fait que nous travaillons à résoudre les problèmes rencontrés par nos utilisateurs plutôt que sur les mots clés que certaines équipes marketing estiment bénéfiques à leurs forces de ventes.

Aussi, chacune des fonctionnalités et améliorations de PostgreSQL 9.3 est utilisable au quotidien par les développeurs et administrateurs, et chacune améliore à sa façon votre utilisation de PostgreSQL.

Comme je l’ai lu avec beaucoup d’humour récemment, j’aimerais beaucoup avoir les moyens de m’offrir une licence d’un SGBD propriétaire. Pas pour l’acheter, non, j’utilise PostgreSQL. J’aimerais simplement être riche à ce point-là…

Merci à Dimitry pour son expertise et sa disponibilité.

Crédit photo : © Oleg Bartunov


Voir aussi
Quiz Silicon.fr – Connaissez-vous les logiciels open source ?