Hébergement et infogérance d'infrastructure Open Source
Événements

PG Day France 2018

Le PG Day France est un événement annuel destiné à la communauté francophone de PostgreSQL, tout utilisateur confondu.

Les conférences s’adressent à tous les utilisateurs de PostgreSQL : étudiants, administrateurs systèmes, DBA, développeurs, chefs de Projets, décideurs, etc

Chaque année la journée de conférences se déroule dans une nouvelle ville française ; après Toulouse en 2017, Lille en 2016 ou encore Toulon en 2014 (où nous étions déjà là), c’est au tour de Marseille d’accueillir l’évènement.

Pour la troisième fois, nous sommes non seulement participants mais également partenaires de l’événement. Focus sur nos conférences préférées !


Retour d’expérience : 6 ans d’utilisation de PostgreSQL en production sur Autolib’

La première conférence est un retour d’expérience d’Autolib’, un service de location de voiture électrique en région parisienne qui utilise PostgreSQL depuis 6 ans. L’architecture applicative est présentée, ainsi que la façon de faire une mise à jour de l’applicatif et de PostgreSQL, notamment en utilisant différentes instances isolées avec un load balancing classique. Une conférence intéressante puisqu’il s’agit d’une application dont la base de données fait plusieurs centaines de Go traitant des milliers de requêtes par jours et utilisant PostGIS (extension PostgreSQL pour la manipulation de données géographiques).

Récupérez vos données : pgBackRest !

Une présentation de Sébastien Lardière (avec qui nous avons déjà travaillé sur un projet client) à propos de l’outil de sauvegarde et de restauration PgBackRest. Un outil similaire à Barman (que nous utilisons intensivement) mais celui ci dispose de différents modes de sauvegarde : un Full backup, des backups incrementaux, ou des backups différentiels. Il permet aussi de faire des backups en local ou à distance. Pour ce dernier, il a uniquement besoin d’un accès en ssh entre le serveur de backup et le serveur de prod. Un check de l’intégrité des backups est possible, les sommes de contrôles sont calculées pour chaque fichier durant le backup, et revérifiées lors de la restauration. Les backups sont stockés dans le même format qu’un cluster PostgreSQL standard, y compris les tablespaces. Des règles spécifiques pour la rétention des full backups et des backups différentiels peuvent être définies pour permettre de restaurer à n’importe quel moment. Les « Wall » peuvent également être conservés pour toutes les sauvegardes ou seulement pour les plus récentes.

 


Soyez efficace, utilisez psql !

Nous avons apprécié la conférence de Lætitia Avrot sur la manipulation et l’administration d’une base de données PostgreSQL en ligne de commande texte. Nous pensions tout connaître mais nous avons appris quelques astuces telles que \pset pager off qui désactive le pager même pour les résultats volumineux, ou encore \! qui permet d’exécuter des commandes shell sans se déconnecter de PostgreSQL. Nous en avons profité pour compléter notre HowtoPostgreSQL#psql !

Une présentation faite pour démontrer la puissance de la ligne de commande texte comparativement à un outil graphique, dans le cas d’une utilisation quotidienne.

 


Les futures fonctionnalités de PostgreSQL 11

Enfin, le PG Day s’est terminé sur une présentation des nouveautés de PostgreSQL 11. Voici les fonctionnalités et améliorations que nous avons noté :

  • Améliorations majeures pour le partitionnement, plusieurs fonctionnalités ont été ajoutées pour améliorer le traitement des données dans les partitions avec notamment la possibilité de partitionner via une clé de hachage, la prise en charge des UPDATE qui  déplacent maintenant les lignes affectées vers les partitions appropriées, l’amélioration des performances des requêtes SELECT grâce à l’élimination des partitions lors du traitement et de l’exécution des requêtes, la prise en charge de PRIMARY KEY, FOREIGN KEY, des index et des déclencheurs sur les partitions.
  • Une autre nouveauté et le fait de faire de la compilation JIT (Just in Time) pour optimiser certaines requêtes SQL au moment de l’éxecution : cela peut rendre l’exécution de la requête 3 ou 4 fois plus rapide, cela fonctionne notamment pour les expressions (par exemple les clauses WHERE), les agrégats, les listes cibles et certaines opérations internes. Pour compiler le code SQL, c’est le projet LLVM qui est utilisé.
  • La parallélisation des requêtes est aussi une nouveauté de PostgreSQL 11 : cela peut permettre des améliorations significatives de performances ; la parallélisation fonctionne pour les jointures par hashage et les CREATE INDEX pour les index B-tree.