Avec une version majeure tous les ans, PostgreSQL est le système de gestion de base de données open source le plus dynamique et le plus innovant du marché. Chaque nouvelle sortie apporte de nombreuses améliorations dans différents domaines et la version 9.5 ne déroge pas à la règle avec des fonctionnalités très attendues comme UPSERT (Update + inSERT) permettant de récupérer les données d’une source externe et encore plus de fonctions JSON, rendant l’outil idéal pour créer des applications innovantes et exploiter la puissance des outils de développement modernes.
Ce qui s’avère néanmoins le plus attendu et le plus stratégique pour les entreprises en termes de gestion de données se situe dans l’ensemble d’innovations dédiées au Big Data. PostgreSQL est déjà à la source de nombreuses solutions Big Data comme Netezza, Greenplum, ParAccel, Truviso, Aster Data Systems, ou encore Amazon Redshift. Mais avec les avancées de la version 9.5 dans ce domaine, le cap est clairement mis vers les grandes volumétries.
Les récents développements prouvent qu'une frange importante de la communauté PostgreSQL est directement concernée par les problématiques liées aux Big Data. Les prochaines moutures de PostgreSQL conforteront cette tendance afin d’apporter aux entreprises le meilleur du SQL pour gérer la croissance exponentielle de leurs données.
Ces évolutions se traduisent notamment par la possibilité d’exécuter un sondage sur une table volumineuse (TABLESAMPLE), l’opportunité d’agréger et d’explorer de large ensemble de données (fonctions OLAP) et une indexation (index BRIN) particulièrement adapté aux grands volumes de données. Utilisées conjointement, toutes ses fonctionnalités propulsent PostgreSQL vers les entrepôts de données et permettent aux utilisateurs de stocker toujours plus de données.
Voici un petit tour d’horizon des avancées de la première version de bêta de PostgreSQL 9.5 :
PostgreSQL s’affirme comme une solution fiable pour les grandes volumétries
Lorsque l’on parle de “Big Data”, le nom de PostgreSQL n’est pas cité immédiatement. Néanmoins 10 ans avant l’arrivée de Hadoop, PostgreSQL était déjà utilisé pour héberger des datawarehouses et aujourd’hui c’est une solution fiable et répandue pour des bases allant de 1 à 10 teraoctets. D’ailleurs les avancées de la version 9.5 dans ce domaine prouvent qu’une frange importante de la communauté PostgreSQL est directement concernée par les problématiques liées aux très grandes volumétries.
Avec TABLESAMPLE, faîtes un sondage sur une table volumineuse
Lorsqu’une table contient des millions de lignes, il est parfois intéressant de lancer une requête sur un échantillon aléatoire des données. On peut ainsi analyser rapidement et lancer des calculs statistiques sur un sous-ensemble représentatif, à la manière d’un sondage. Pour cela, PostgreSQL 9.5 implémente TABLESAMPLE conformément au standard SQL. FIXME
3 nouveaux opérateurs OLAP : CUBE, ROLLUP and GROUPING SETS
Toujours plus proche du standard SQL, PostgreSQL 9.5 implémente 3 fonctions OLAP (OnLine Analytical Processing"). Cette boite à outils est utile pour agréger et explorer de large ensemble de données en les regroupent sur de multiples dimensions. Les opérateurs SQL ROLLUP, CUBE, and GROUPING SETS, sont 3 manières de résumer des ensembles de données sur plusieurs axes simultanément.
Les index BRIN : plus légers et plus rapides
L’indexation est un des problèmes majeurs sur les tables très volumineuses. Les index classiques grandissent de manière linéaire et suivent la croissance de la table de données.
Lorsqu’un index dépassent plusieurs centaines de Go, voire plusieurs To, il est impossible de le stocker en RAM et les performances chutent. Les index BRIN (pour Block Range Index) apporte une solution innovante à ce problème : au lieu de référencer toutes les valeurs d’une table, ils répertorient les données par tranches, ce qui réduit drastiquement la taille de l’index : un index BRIN utilise environ 1% de la taille d’un index classique ! Dès lors les index BRIN sont plus faciles à charger en mémoire. La méthode a cependant des désavantages et elle est spécifiquement adaptées aux tables “incrémentales” qui reçoivent essentiellement des lectures et des insertions, comme par exemple une table de log ou des mesures de capteurs.
Les Foreign Data Wrappers : un premier pas vers le « scale-out »
Depuis 2 ans, PostgreSQL est devenu une référence en matière de base de données fédérées grâces aux Foreign Data Wrapper (FDW), des connecteurs qui permettent d’accéder en lecture et en écriture à des données externes. La version 9.5 apporte des nouveautés dans ce domaine, notamment la commande IMPORT FOREIGN SCHEMA qui permet de faire automatiquement l’inventaire de toutes les tables d’une base de données distantes… En complément l’héritage sur des tables externes et l’export des jointures (JOIN pushdown) permettent de mieux répartir les données d’une table volumineuses sur plusieurs instances PostgreSQL et mettre en place un partitionnement externe (scale out).
De nombreuses améliorations
Plusieurs autres fonctions de PostgreSQL 9.5 vont intéresser les DBA administrant des bases de données très volumineuses :
- Les opérations de tri sont désormais de 2 à 12 fois plus rapides sur les textes et les numériques.
- Les indexes GiST supportent maintenant la fonction “index-only scan”, une nouveauté qui intéressera les utilisateurs de PostGIS.
- L’outil de maintenance vacuumdb possède maintenant un mode parallèle qui permet de nettoyer plusieurs tables simultanément.
Toutes ces avancées confirment que PostgreSQL est une option sérieuse lorsque l’on parle de Big Data. Nul doute que de PostgreSQL 9.5 sera utilisé avec des volumétries de plusieurs dizaine de Teraoctets.
Damien Clochard, Directeur des opérations et cofondateur de la société Dalibo
Dalibo est le spécialiste français de PostgreSQL. Composée d’experts de la base de données open source PostgreSQL et de spécialistes en bases de données, Dalibo est une interface entre les utilisateurs et les développeurs de PostgreSQL. La société propose une offre de support claire, complète et évolutive spécialement conçue pour assurer aux entreprises et organisations que leurs données et leurs bases PostgreSQL sont protégées, sécurisées, pérennisées.
Ce qui s’avère néanmoins le plus attendu et le plus stratégique pour les entreprises en termes de gestion de données se situe dans l’ensemble d’innovations dédiées au Big Data. PostgreSQL est déjà à la source de nombreuses solutions Big Data comme Netezza, Greenplum, ParAccel, Truviso, Aster Data Systems, ou encore Amazon Redshift. Mais avec les avancées de la version 9.5 dans ce domaine, le cap est clairement mis vers les grandes volumétries.
Les récents développements prouvent qu'une frange importante de la communauté PostgreSQL est directement concernée par les problématiques liées aux Big Data. Les prochaines moutures de PostgreSQL conforteront cette tendance afin d’apporter aux entreprises le meilleur du SQL pour gérer la croissance exponentielle de leurs données.
Ces évolutions se traduisent notamment par la possibilité d’exécuter un sondage sur une table volumineuse (TABLESAMPLE), l’opportunité d’agréger et d’explorer de large ensemble de données (fonctions OLAP) et une indexation (index BRIN) particulièrement adapté aux grands volumes de données. Utilisées conjointement, toutes ses fonctionnalités propulsent PostgreSQL vers les entrepôts de données et permettent aux utilisateurs de stocker toujours plus de données.
Voici un petit tour d’horizon des avancées de la première version de bêta de PostgreSQL 9.5 :
PostgreSQL s’affirme comme une solution fiable pour les grandes volumétries
Lorsque l’on parle de “Big Data”, le nom de PostgreSQL n’est pas cité immédiatement. Néanmoins 10 ans avant l’arrivée de Hadoop, PostgreSQL était déjà utilisé pour héberger des datawarehouses et aujourd’hui c’est une solution fiable et répandue pour des bases allant de 1 à 10 teraoctets. D’ailleurs les avancées de la version 9.5 dans ce domaine prouvent qu’une frange importante de la communauté PostgreSQL est directement concernée par les problématiques liées aux très grandes volumétries.
Avec TABLESAMPLE, faîtes un sondage sur une table volumineuse
Lorsqu’une table contient des millions de lignes, il est parfois intéressant de lancer une requête sur un échantillon aléatoire des données. On peut ainsi analyser rapidement et lancer des calculs statistiques sur un sous-ensemble représentatif, à la manière d’un sondage. Pour cela, PostgreSQL 9.5 implémente TABLESAMPLE conformément au standard SQL. FIXME
3 nouveaux opérateurs OLAP : CUBE, ROLLUP and GROUPING SETS
Toujours plus proche du standard SQL, PostgreSQL 9.5 implémente 3 fonctions OLAP (OnLine Analytical Processing"). Cette boite à outils est utile pour agréger et explorer de large ensemble de données en les regroupent sur de multiples dimensions. Les opérateurs SQL ROLLUP, CUBE, and GROUPING SETS, sont 3 manières de résumer des ensembles de données sur plusieurs axes simultanément.
Les index BRIN : plus légers et plus rapides
L’indexation est un des problèmes majeurs sur les tables très volumineuses. Les index classiques grandissent de manière linéaire et suivent la croissance de la table de données.
Lorsqu’un index dépassent plusieurs centaines de Go, voire plusieurs To, il est impossible de le stocker en RAM et les performances chutent. Les index BRIN (pour Block Range Index) apporte une solution innovante à ce problème : au lieu de référencer toutes les valeurs d’une table, ils répertorient les données par tranches, ce qui réduit drastiquement la taille de l’index : un index BRIN utilise environ 1% de la taille d’un index classique ! Dès lors les index BRIN sont plus faciles à charger en mémoire. La méthode a cependant des désavantages et elle est spécifiquement adaptées aux tables “incrémentales” qui reçoivent essentiellement des lectures et des insertions, comme par exemple une table de log ou des mesures de capteurs.
Les Foreign Data Wrappers : un premier pas vers le « scale-out »
Depuis 2 ans, PostgreSQL est devenu une référence en matière de base de données fédérées grâces aux Foreign Data Wrapper (FDW), des connecteurs qui permettent d’accéder en lecture et en écriture à des données externes. La version 9.5 apporte des nouveautés dans ce domaine, notamment la commande IMPORT FOREIGN SCHEMA qui permet de faire automatiquement l’inventaire de toutes les tables d’une base de données distantes… En complément l’héritage sur des tables externes et l’export des jointures (JOIN pushdown) permettent de mieux répartir les données d’une table volumineuses sur plusieurs instances PostgreSQL et mettre en place un partitionnement externe (scale out).
De nombreuses améliorations
Plusieurs autres fonctions de PostgreSQL 9.5 vont intéresser les DBA administrant des bases de données très volumineuses :
- Les opérations de tri sont désormais de 2 à 12 fois plus rapides sur les textes et les numériques.
- Les indexes GiST supportent maintenant la fonction “index-only scan”, une nouveauté qui intéressera les utilisateurs de PostGIS.
- L’outil de maintenance vacuumdb possède maintenant un mode parallèle qui permet de nettoyer plusieurs tables simultanément.
Toutes ces avancées confirment que PostgreSQL est une option sérieuse lorsque l’on parle de Big Data. Nul doute que de PostgreSQL 9.5 sera utilisé avec des volumétries de plusieurs dizaine de Teraoctets.
Damien Clochard, Directeur des opérations et cofondateur de la société Dalibo
Dalibo est le spécialiste français de PostgreSQL. Composée d’experts de la base de données open source PostgreSQL et de spécialistes en bases de données, Dalibo est une interface entre les utilisateurs et les développeurs de PostgreSQL. La société propose une offre de support claire, complète et évolutive spécialement conçue pour assurer aux entreprises et organisations que leurs données et leurs bases PostgreSQL sont protégées, sécurisées, pérennisées.
Autres articles
-
Percona ajoute le Support de PostgreSQL à son offre de Services
-
Sortie de PostgreSQL 10
-
Publication de PostgreSQL 10 Bêta 1
-
Le PostgreSQL Global Development Group vient de publier PostgreSQL 9.6, la dernière mouture de la base de données open source de référence.
-
EnterpriseDB signe un partenariat mondial avec Hewlett Packard Entreprise