SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
PostgreSQL 11
Extension de fonctionnalités, performance,
développement
DSS/Big Data
pgphil.ovh
05/06/18 2
PostgreSQL 11
● Partitionnement
● JIT
● Parallélisme
● En vrac
● ...et en 12 ?
05/06/18 3
Partitionnement
● Diviser logiquement une table, généralement de grande taille, en
plusieurs parties
– Archivage/suppression des données
– Maintenance interne (vacuum)
– Performance
– …
05/06/18 4
Historique
● Jusqu’en 9.6, partitionnement par héritage complexe à
mettre en place (triggers à écrire notamment)
● 10 : introduction du partitionnement déclaratif
● 11 : nombreuses améliorations du partitionnement déclaratif
05/06/18 5
Partitionnement en 11
● Index, clés primaires, clés étrangères, triggers directement sur les tables
partitionnées
● Partition par défaut
● Mise à jour de la clé de partitionnement, déplacement de la ligne dans la
bonne partition
● Élimination de partitions au parse mais aussi à l’exécution (partition
pruning)
● Méthode supplémentaire de partitionnement : hash en plus de list et range
05/06/18 6
JIT
● JIT : just-in-time
● Compilation à l’exécution s’appuyant sur la librairie LLVM
●
Le but : produire à la volée du code pouvant être exécuté nativement par le CPU
● Sont concernées :
– Expressions des clauses SELECT, WHERE, agrégats
– Transformations des informations en mémoire après leur lecture sur disque
● Gains attendus en décisionnel sous réserve que les I/O ne soient pas un goulet d’étranglement bien plus
important
●
Gains observés : 20 % dans des cas favorables
● Option activée par défaut : sans doute favorable en environnement DSS, à évaluer en environnement
OLTP
05/06/18 7
Parallélisme
● Hash join
● CTAS (create table as select)
● Vues matérialisées
● Créations d’index
● SELECT w UNION
05/06/18 8
En vrac - 1
● Procédures PL/… avec transactions embarquées
● Performance (vitesse d’indexation à l’insertion, ajout de colonnes
non nulles)
● Vérification des checksums par pg_basebackup
● Support complet de SQL:2011 pour les fonctions de fenêtrage
● Amélioration de l’authentification SCRAM introduite en 10
(channel binding => éviter les man-in-the middle attacks)
05/06/18 9
En vrac - 2
● Index couvrants (clause INCLUDE)
● Taille des WAL lors de l’initdb
● Fonction de hachage sha-2
● Toujours plus d’opérations pouvant être poussées par
postgres_fdw (update et delete utilisant des jointures)
05/06/18 10
...en 12 et +
● MERGE...qui fonctionnait en 11devel, en attendant « insert … on
conflict » c’est OK et performant !
● Pluggable storages : stockage orienté colonne (en mémoire/disque),
IOT+undo (=> in place updates, index secondaires)…
● ...Greenplum, Vertica, Amazon Redshift sont des forks de
PostgreSQL
05/06/18 11
PostgreSQL 11
Merci et à bientôt sur pgphil.ovh

Contenu connexe

Similaire à Postgres 11 nouvelles fonctionnalités

Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...Clément OUDOT
 
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
GAB 2015  - Nouveautes sur le stockage de donnees dans AzureGAB 2015  - Nouveautes sur le stockage de donnees dans Azure
GAB 2015 - Nouveautes sur le stockage de donnees dans AzureJean-Luc Boucho
 
Migration d'une base de code subversion vers git
Migration d'une base de code subversion vers gitMigration d'une base de code subversion vers git
Migration d'une base de code subversion vers gitGeoffrey Bachelet
 
USI 2013 : 7 changements nécessaires pour sauver vos SI décisionnels
USI 2013 : 7 changements nécessaires pour sauver vos SI décisionnelsUSI 2013 : 7 changements nécessaires pour sauver vos SI décisionnels
USI 2013 : 7 changements nécessaires pour sauver vos SI décisionnelsJoseph Glorieux
 
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS
 
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...Cédrick Lunven
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007Eric D.
 
ES6, le futur de Javascript
ES6, le futur de JavascriptES6, le futur de Javascript
ES6, le futur de JavascriptOpenska
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introductionfredcons
 
Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5Microsoft
 
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usagesPostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usagesOpen Source Experience
 
Delta Lake, un vernis pour parquet
Delta Lake, un vernis pour parquetDelta Lake, un vernis pour parquet
Delta Lake, un vernis pour parquetAlban Phélip
 
Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Guillaume Nocent
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query StoreGUSS
 
Importer 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jImporter 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jGabriel Pillet 🐙
 
Analyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL ServeurAnalyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL ServeurMicrosoft Technet France
 

Similaire à Postgres 11 nouvelles fonctionnalités (20)

Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et b...
 
JSS2013 : Hekaton
JSS2013 : HekatonJSS2013 : Hekaton
JSS2013 : Hekaton
 
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
GAB 2015  - Nouveautes sur le stockage de donnees dans AzureGAB 2015  - Nouveautes sur le stockage de donnees dans Azure
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
 
Sysadmin Day #5
Sysadmin Day #5Sysadmin Day #5
Sysadmin Day #5
 
Migration d'une base de code subversion vers git
Migration d'une base de code subversion vers gitMigration d'une base de code subversion vers git
Migration d'une base de code subversion vers git
 
USI 2013 : 7 changements nécessaires pour sauver vos SI décisionnels
USI 2013 : 7 changements nécessaires pour sauver vos SI décisionnelsUSI 2013 : 7 changements nécessaires pour sauver vos SI décisionnels
USI 2013 : 7 changements nécessaires pour sauver vos SI décisionnels
 
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
 
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
 
ES6, le futur de Javascript
ES6, le futur de JavascriptES6, le futur de Javascript
ES6, le futur de Javascript
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
 
Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5
 
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usagesPostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
 
Delta Lake, un vernis pour parquet
Delta Lake, un vernis pour parquetDelta Lake, un vernis pour parquet
Delta Lake, un vernis pour parquet
 
Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query Store
 
Mariadb une base de données NewSQL
Mariadb une base de données NewSQLMariadb une base de données NewSQL
Mariadb une base de données NewSQL
 
Importer 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jImporter 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4j
 
Analyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL ServeurAnalyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL Serveur
 
Dell power edge r710 fr
Dell power edge r710 frDell power edge r710 fr
Dell power edge r710 fr
 

Postgres 11 nouvelles fonctionnalités

  • 1. PostgreSQL 11 Extension de fonctionnalités, performance, développement DSS/Big Data pgphil.ovh
  • 2. 05/06/18 2 PostgreSQL 11 ● Partitionnement ● JIT ● Parallélisme ● En vrac ● ...et en 12 ?
  • 3. 05/06/18 3 Partitionnement ● Diviser logiquement une table, généralement de grande taille, en plusieurs parties – Archivage/suppression des données – Maintenance interne (vacuum) – Performance – …
  • 4. 05/06/18 4 Historique ● Jusqu’en 9.6, partitionnement par héritage complexe à mettre en place (triggers à écrire notamment) ● 10 : introduction du partitionnement déclaratif ● 11 : nombreuses améliorations du partitionnement déclaratif
  • 5. 05/06/18 5 Partitionnement en 11 ● Index, clés primaires, clés étrangères, triggers directement sur les tables partitionnées ● Partition par défaut ● Mise à jour de la clé de partitionnement, déplacement de la ligne dans la bonne partition ● Élimination de partitions au parse mais aussi à l’exécution (partition pruning) ● Méthode supplémentaire de partitionnement : hash en plus de list et range
  • 6. 05/06/18 6 JIT ● JIT : just-in-time ● Compilation à l’exécution s’appuyant sur la librairie LLVM ● Le but : produire à la volée du code pouvant être exécuté nativement par le CPU ● Sont concernées : – Expressions des clauses SELECT, WHERE, agrégats – Transformations des informations en mémoire après leur lecture sur disque ● Gains attendus en décisionnel sous réserve que les I/O ne soient pas un goulet d’étranglement bien plus important ● Gains observés : 20 % dans des cas favorables ● Option activée par défaut : sans doute favorable en environnement DSS, à évaluer en environnement OLTP
  • 7. 05/06/18 7 Parallélisme ● Hash join ● CTAS (create table as select) ● Vues matérialisées ● Créations d’index ● SELECT w UNION
  • 8. 05/06/18 8 En vrac - 1 ● Procédures PL/… avec transactions embarquées ● Performance (vitesse d’indexation à l’insertion, ajout de colonnes non nulles) ● Vérification des checksums par pg_basebackup ● Support complet de SQL:2011 pour les fonctions de fenêtrage ● Amélioration de l’authentification SCRAM introduite en 10 (channel binding => éviter les man-in-the middle attacks)
  • 9. 05/06/18 9 En vrac - 2 ● Index couvrants (clause INCLUDE) ● Taille des WAL lors de l’initdb ● Fonction de hachage sha-2 ● Toujours plus d’opérations pouvant être poussées par postgres_fdw (update et delete utilisant des jointures)
  • 10. 05/06/18 10 ...en 12 et + ● MERGE...qui fonctionnait en 11devel, en attendant « insert … on conflict » c’est OK et performant ! ● Pluggable storages : stockage orienté colonne (en mémoire/disque), IOT+undo (=> in place updates, index secondaires)… ● ...Greenplum, Vertica, Amazon Redshift sont des forks de PostgreSQL
  • 11. 05/06/18 11 PostgreSQL 11 Merci et à bientôt sur pgphil.ovh