Interview de Guillaume Lelarge, consultant chez Dalibo,
auteur du livre PostgreSQL - Architecture et notions avancées
(30/01/2016)
Bonjour Guillaume, après deux ans de rédaction, dont un an de publication en version bêta, ton livre de référence sur l'architecture de PostgreSQL et son fonctionnement interne vient de paraître. Quel effet ça fait ?
C'est assez étonnant. C'est un mélange entre une grosse fierté et une grosse inquiétude. L'inquiétude est liée au fait que ce livre a été écrit pour les lecteurs et avec le gros espoir que les lecteurs l'aimeront, en profiteront, et pourront en tirer un maximum d'enseignements et d'informations. J'attends donc de savoir s'il plaît.
Et c'est aussi un gros sentiment d'accomplissement. Enfin, il est écrit en totalité. J'ai réussi à tenir cet énorme projet d'écrire un livre complet sur un sujet qui me passionne. Ça a été long, dur, mais passionnant, et j'ai appris énormément de choses. J'espère que les lecteurs en apprendront au moins autant.
Quelles sont les principales difficultés que tu as rencontrées ?
Le plus dur a certainement été de se motiver tous les jours à écrire un peu.
Y a-t-il des chapitre qui t'on donné plus de fil à retordre ?
Le chapitre sur les processus a été le plus difficile. Je voulais vraiment plonger dans le comportement de chacun des processus, et pour en avoir la meilleure idée, il a fallu lire le code source de chacun d'eux. Ça a été beaucoup plus long que prévu. Au lieu du mois planifié, j'en ai passé deux, voire un peu plus. Mais c'était nécessaire. Un peu comme un logiciel libre, on n'a pas cherché à respecter à la lettre le planning. On a pris le temps de faire les choses bien. Et puis d'un autre côté, ça a été techniquement passionnant. J'ai appris énormément en décortiquant leur fonctionnement, en écrivant de petits patchs pour mieux comprendre, en allant au fond des choses.
Un peu comme un logiciel libre,
on n'a pas cherché à respecter à la lettre le planning.
On a pris le temps de faire les choses bien.
Thomas Reiss et Julien Rouhaud t'ont accompagné dans cette rédaction. Comment s'est passée leur collaboration ?
Plutôt simplement. J'écrivais un chapitre, je leur fournissais pour relecture. Ils travaillaient dessus, me posaient des questions, et on discutait de ce qui était moins clair, mal expliqué, voire complètement faux. Je retravaillais le chapitre jusqu'à ce qu'on arrive à un consensus sur le contenu de ce chapitre. On voit bien plus de choses à trois que tout seul.
La publication en version bêta a-t-elle répondu à tes attentes ? Que tires-tu de cette expérience ? La recommanderais-tu à d'autres auteurs ?
Oui et non. Oui, parce que j'ai eu quelques retours, tous intéressants, tous qui ont permis d'améliorer le livre. Mais j'espérais en avoir plus. Du coup, j'espère avoir le retour de nombreux lecteurs du livre dans sa version finale, pour proposer plus tard une nouvelle édition. Mais tout dépend évidemment de l'intérêt suscité par ce livre auprès des lecteurs.
En tout cas, c'est quelque chose que je recommande. Avoir une autre vision du livre est important pour l'améliorer. Avoir un retour des premiers lecteurs, corriger ce qui n'est pas clair, aborder les points oubliés... et ne serait-ce qu'avoir un autre regard sur ce qu'on a écrit, c'est tout simplement vital.
La version 9.5 de PostgreSQL vient de paraître officiellement. Quelles sont ses principales nouveautés ?
Comme pour toutes les versions majeures de PostgreSQL, les nouveautés sont nombreuses. Les plus intéressantes concernent le SQL et les performances. Beaucoup de travail a été réalisé pour traiter plus facilement de grosses volumétries (par exemple une gestion améliorée et plus performante des tris, un nouveau type d'index pour les tables très volumineuses, des clauses SQL particulièrement intéressantes pour le traitement analytique). Au niveau de l'administration et de la sécurité d'une instance PostgreSQL, notons la gestion de droits ligne par ligne, la possibilité d'importer un schéma provenant d'une autre source de données (un schéma Oracle par exemple), le nouvel outil pg_rewind permettant de transformer facilement et rapidement un ancien maître en nouvel esclave, et une configuration améliorée permettant de mieux gérer les journaux de transactions.
Avec un tel nombre de nouveautés, tout le monde y trouvera son compte.
Le livre les prend-il en compte ?
Oui, tout à fait. Le livre a été écrit à son début avec comme cible intermédiaire la version 9.4 finale, puis nous avons basculé sur la version 9.5 dès sa disponibilité en version beta. Le livre est sorti pratiquement en même temps que la version 9.5 finale.
Comment envisages-tu la suite ?
J'aimerais pouvoir continuer de le mettre à jour au fur et à mesure de l'évolution de PostgreSQL. J'imagine bien une nouvelle édition pour la version 9.6. Il y aurait les nouveautés de cette version (et il y en a déjà des majeures), ainsi que la prise en compte des commentaires des lecteurs de la première édition. Évidemment, mes propres connaissances s'améliorent aussi, je découvre encore de nouvelles choses, des nouveaux outils apparaissent. Tout cela pourrait être incorporé dans une nouvelle édition.
Un dernier mot à ajouter ?
J'espère que le livre va plaire à un grand nombre de lecteurs. C'est vraiment le livre que j'aurais aimé avoir lorsque j'ai débuté avec PostgreSQL. Et j'espère avoir de nombreux retours qui me guideraient pour une prochaine édition (positifs comme négatifs).
Merci Guillaume !