SlideShare a Scribd company logo
© 2013 EDB All rights reserved. 1
Query Parallelism In PostgreSQL
What’s coming next?
Dilip Kumar
(Principle Software Engineer)
© 2016 EDB All rights reserved. 2
❏ Infrastructure for parallelism
❏ Intra-query parallelism in v9.6
❏ Parallel aware executor nodes
❏ Performance on TPC-H
❏ Parallelism enhancements in v10
❏ More executor-nodes
❏ Performance on TPC-H
❏ Take away
© 2016 EDB All rights reserved. 3
❏ Groundwork for parallelism
❏ Dynamic background workers
❏ Dynamic shared memory
❏ Shared messaging capabilities
❏ Group locking
❏ Parallel context
❏ Intra-query parallel support
❏ Parallel executor
❏ Parallel-aware nodes
❏ seq scan,
❏ joins, and
❏ aggregates
© 2016 EDB All rights reserved. 4
Gather
nodeGather.c
Parallel-Aware
Executor Nodes
nodeSeqScan.c
nodeForeignScan.c
nodeCustom.c
Parallel Executor
Support
execParallel.c
Tuple Queue Reader
and DestReceiver
tqueue.c
Dynamic
Background Workers
bgworker.c
Dynamic Shared
Memory
dsm.c, dsm_impl.c
Shared Memory
Message Queue
shm_mq.c
Parallel Context
parallel.c
Shared Memory
Table of Contents
shm_toc.c
Error/Notice
Forwarding
pqmq.c
State Synchronization
dfmgr.c, guc.c, combocid.c,
snapmgr.c, xact.c
Group Locking
lock.c
© 2016 EDB All rights reserved. 5
❏ Dynamic background worker (shm_mq)
❏ Postmaster can launch the background worker processes
at run time
❏ Dynamic shared memory
❏ Allocate a chunk of memory that can be shared among
co-operating processes
❏ Shared memory table of contents
❏ A simple scheme for carving DSM into numbered chunks
❏ Shared messaging capabilities
❏ Shared memory message queue
❏ For error/notice forwarding
❏ Tuple queue reader and DestReceiver
© 2016 EDB All rights reserved. 6
❏ Parallel context
❏ Core toolkit for parallel operations
❏ Launch a number of workers, establish “useful”
state, run C code you specify and ensure timely
shutdown.
❏ State synchronization
❏ To ensure same GUC values, libraries, and
transactions with same snapshot across workers
❏ Group locking
❏ To solve the issue of undetected deadlock
❏ Leader and its workers are treated as one entity for
locking purposes
© 2016 EDB All rights reserved. 7
❏ Parallel executor support
❏ Execute a plan by a set of worker
❏ Pass instrumentation information to each worker
❏ Parallel aware executor nodes
❏ Different behaviour when run in parallel or otherwise
❏ Gather
❏ Collect results across all workers and merge them
into a single result stream
© 2016 EDB All rights reserved. 8
❏ Parallel access methods
❏ Seq scan is the only parallel access method
❏ No support for parallel index, index-only or
bitmap-heap scan
❏ Parallel joins
❏ NestedLoop and Hash joins are supported for parallel
execution
❏ For hash-join, each worker prepares its own copy of
hash-table
❏ Merge join cannot execute in parallel
❏ Parallel aggregates
❏ Each worker performs partial aggregate and finalize
aggregate is done by leader
© 2016 EDB All rights reserved. 9
❏ Experimental setup
❏ IBM power7 box (popularly known as Hydra in
community)
❏ Parameter settings
❏ Max_parallel_degree = 4
❏ Work_mem = 64 MB
❏ Shared_buffers = 8 GB
❏ Database setup
❏ Scale factor = 10
© 2016 EDB All rights reserved. 10
© 2016 EDB All rights reserved. 11
❏ Need parallel-index scan
❏ Q6, Q14
❏ Need parallel bitmap-heap scan
❏ Q4, Q15
❏ Need parallel merge-join
❏ Q2, Q3, Q9, Q20
❏ Need parallel hash table build
❏ Q3, Q5, Q7, Q8, Q21
❏ Need parallel subquery handling
❏ Q2, Q22
…
© 2016 EDB All rights reserved. 12
❏ More parallel executor nodes
❏ Access methods
❏ Parallel index, index-only, bitmap-heap
❏ Join methods
❏ Merge join
❏ Hash join with shared hash
❏ Other
❏ Gather-merge
❏ Relaxation for nodes using uncorrelated sub-plan, init-plan
❏ Improvements in parallel-append
❏ Parallel DDL/maintenance commands
❏ Index-creation
❏ Vacuum
© 2016 EDB All rights reserved. 13
❏ Parallel index scan
❏ Firstly, a worker will process the intermediate pages
of B-tree and determine the starting leaf page where
scan is to be started
❏ Next, all the workers start scanning the leaf pages
block by block
❏ Finally, all the filtered tuples are gathered by the
leader process
❏ This operator improves the performance significantly
when the database is in-memory
❏ Similar mechanism is built for index-only scans
© 2016 EDB All rights reserved. 14
❏ Parallel bitmap heap scan
❏ A bitmap scan fetches all the pointers from index in
one go, sort them using in-memory “bitmap”, finally,
visits the tuple in physical order
❏ Bitmap will be created by a single worker
❏ Next, all the workers will jointly scan the heap,
page by page
❏ For further improvement, we can also build bitmap by
multiple workers
© 2016 EDB All rights reserved. 15
❏ Parallel bitmap heap scan
Gather
Workers Planned: 2
-> Parallel Bitmap Heap Scan on foo
Recheck Cond: ((a < 100000) OR (b <
10000))
-> BitmapOr
-> Bitmap Index Scan on idx1
Index Cond: (a < 100000)
-> Bitmap Index Scan on idx2
Index Cond: (b < 10000)
© 2016 EDB All rights reserved. 16
❏ Parallel Merge Join
❏ If outer node is using parallelism then we consider
parallel merge-join
❏ Outer node will be scanned in parallel by multiple workers
❏ Inner node will be processed completely by individual workers
❏ There is still scope of improvements in this strategy
❏ Parallelise inner sort or materialize nodes
© 2016 EDB All rights reserved. 17
❏ Parallel shared hash
❏ Previously, each worker builds its own copy of hash
table
❏ This is particularly favourable to cases when hash
table is small
❏ Improved mechanism is to employ the workers for
building hash-table in parallel
❏ Once, hash-table is ready, parallel probing can be
done
❏ This facilitates the usage of parallel operators on
either sides of joins
© 2016 EDB All rights reserved. 18
Parallel shared-hash
Gather
Workers Planned: 2
Workers Launched: 2
-> Hash Join
Hash Cond (foo.b = bar.b)
-> Parallel Seq Scan on foo
-> Parallel Shared Hash
-> Parallel Seq Scan on bar
© 2016 EDB All rights reserved. 19
❏ Gather-merge
❏ Previously, there was only one option to collect the
result from parallel operators i.e gather, it does
not maintain interesting order
❏ Therefore, extra sort node is required on top for
ordered output
❏ Now, if workers are providing sorted result
specifically, output from parallel index, parallel
merge join, etc. then gather-merge will maintain the
sort-order in the final result
© 2016 EDB All rights reserved. 20
❏ Experimental setup
❏ RAM = 512 GB
❏ Number of cores = 32
❏ Parameter settings
❏ Work_mem = 64 MB
❏ Shared_buffers = 8 GB
❏ Effective_cache_size = 10 GB
❏ Random_page_cost = seq_page_cost = 0.1
❏ Max_parallel_workers_per_gather = 4
❏ Database setup
❏ Scale factors = 20, 300
❏ Additional indexes: l_shipmode, l_shipdate,
o_orderdate, o_comment
© 2016 EDB All rights reserved. 21
Results on scale factor 20
© 2016 EDB All rights reserved. 22
Results on scale factor 20
© 2016 EDB All rights reserved. 23
Results on scale factor 300
© 2016 EDB All rights reserved. 24
❏ Tuning parameters
❏ Max_parallel_workers_per_gather
❏ Recommended value 1 to 4
❏ Reduce following costs
❏ Parallel_tuple_cost: planner's estimate of the cost of transferring one tuple from a
parallel worker process to another process
❏ Parallel_setup_cost: planner's estimate for launching parallel workers and initializing
dynamic shared memory
❏ Min_parallel_table_scan_size: the minimum size of relations to be considered for
parallel sequence scan
❏ Min_parallel_index_scan_size: the minimum size of index to be considered for parallel
scan
❏ Random_page_cost: estimated cost of accessing a random page in disk
❏ Increase following parameters
❏ Work_mem
❏ Effective_cache_size
❏ Shared_buffers
© 2016 EDB All rights reserved. 25
❏ Adding intra-query parallelism improves per query response time
❏ Previously, overall throughput was the only focus
❏ This makes it more suitable for OLAP environments
❏ Till version 9.6, parallel support for sequence scan, hash join, nestloop join,
and aggregates is available
❏ Out of 22 queries of TPC-H, performance improved for 15 queries
❏ In which 3 queries are at least 4 times faster and 11 queries are 2
times faster
❏ More parallel executor nodes are planned for upcoming versions
❏ More parallel access methods - index, index-only are already
committed
❏ Improved parallel join mechanisms
❏ Gather with interesting order
❏ Removed restrictions for nodes using SubPlans(already committed) or
InitPlans
❏ Around 10 of 22 TPC-H queries show significant improvement in
performance
❏ In which around 4 queries show more than 2x improvement
© 2016 EDB All rights reserved. 26
27
Output: Thank You
Gather
Workers Planned: 2
Workers Launched: 2
-> Parallel Index Scan on Common_phrases
Index Cond: ( value = ‘Thank You’ )
Filter: Language = ‘English’
Slide credits:
[1] https://www.pgcon.org/2016/schedule/events/913.en.html
[2] https://www.postgresql.eu/events/schedule/pgconfeu2016/session/1360-parallel-query-in-postgresql/
[3] http://pgconf.in/schedule/query-parallelism-in-postgresql-expectations-and-opportunities/
Ad

More Related Content

What's hot (20)

[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
Equnix Business Solutions
 
TeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage DevicesTeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage Devices
Databricks
 
Building Spark as Service in Cloud
Building Spark as Service in CloudBuilding Spark as Service in Cloud
Building Spark as Service in Cloud
InMobi Technology
 
Porting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQLPorting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQL
Peter Eisentraut
 
Simple Works Best
 Simple Works Best Simple Works Best
Simple Works Best
EDB
 
How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case
Kai Sasaki
 
Technical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPASTechnical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPAS
Ashnikbiz
 
PostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsPostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability Methods
Mydbops
 
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Matt Fuller
 
Cascading - A Java Developer’s Companion to the Hadoop World
Cascading - A Java Developer’s Companion to the Hadoop WorldCascading - A Java Developer’s Companion to the Hadoop World
Cascading - A Java Developer’s Companion to the Hadoop World
Cascading
 
Online Upgrade Using Logical Replication.
Online Upgrade Using Logical Replication.Online Upgrade Using Logical Replication.
Online Upgrade Using Logical Replication.
EDB
 
20140120 presto meetup_en
20140120 presto meetup_en20140120 presto meetup_en
20140120 presto meetup_en
Ogibayashi
 
Connecting Hadoop and Oracle
Connecting Hadoop and OracleConnecting Hadoop and Oracle
Connecting Hadoop and Oracle
Tanel Poder
 
Tez Shuffle Handler: Shuffling at Scale with Apache Hadoop
Tez Shuffle Handler: Shuffling at Scale with Apache HadoopTez Shuffle Handler: Shuffling at Scale with Apache Hadoop
Tez Shuffle Handler: Shuffling at Scale with Apache Hadoop
DataWorks Summit
 
Get to know PostgreSQL!
Get to know PostgreSQL!Get to know PostgreSQL!
Get to know PostgreSQL!
Oddbjørn Steffensen
 
PostgreSQL Rocks Indonesia
PostgreSQL Rocks IndonesiaPostgreSQL Rocks Indonesia
PostgreSQL Rocks Indonesia
PGConf APAC
 
Beyond unit tests: Deployment and testing for Hadoop/Spark workflows
Beyond unit tests: Deployment and testing for Hadoop/Spark workflowsBeyond unit tests: Deployment and testing for Hadoop/Spark workflows
Beyond unit tests: Deployment and testing for Hadoop/Spark workflows
DataWorks Summit
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQL
EDB
 
Elephants in the Cloud
Elephants in the CloudElephants in the Cloud
Elephants in the Cloud
Mike Fowler
 
Presto At Treasure Data
Presto At Treasure DataPresto At Treasure Data
Presto At Treasure Data
Taro L. Saito
 
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
Equnix Business Solutions
 
TeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage DevicesTeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage Devices
Databricks
 
Building Spark as Service in Cloud
Building Spark as Service in CloudBuilding Spark as Service in Cloud
Building Spark as Service in Cloud
InMobi Technology
 
Porting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQLPorting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQL
Peter Eisentraut
 
Simple Works Best
 Simple Works Best Simple Works Best
Simple Works Best
EDB
 
How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case
Kai Sasaki
 
Technical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPASTechnical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPAS
Ashnikbiz
 
PostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsPostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability Methods
Mydbops
 
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Matt Fuller
 
Cascading - A Java Developer’s Companion to the Hadoop World
Cascading - A Java Developer’s Companion to the Hadoop WorldCascading - A Java Developer’s Companion to the Hadoop World
Cascading - A Java Developer’s Companion to the Hadoop World
Cascading
 
Online Upgrade Using Logical Replication.
Online Upgrade Using Logical Replication.Online Upgrade Using Logical Replication.
Online Upgrade Using Logical Replication.
EDB
 
20140120 presto meetup_en
20140120 presto meetup_en20140120 presto meetup_en
20140120 presto meetup_en
Ogibayashi
 
Connecting Hadoop and Oracle
Connecting Hadoop and OracleConnecting Hadoop and Oracle
Connecting Hadoop and Oracle
Tanel Poder
 
Tez Shuffle Handler: Shuffling at Scale with Apache Hadoop
Tez Shuffle Handler: Shuffling at Scale with Apache HadoopTez Shuffle Handler: Shuffling at Scale with Apache Hadoop
Tez Shuffle Handler: Shuffling at Scale with Apache Hadoop
DataWorks Summit
 
PostgreSQL Rocks Indonesia
PostgreSQL Rocks IndonesiaPostgreSQL Rocks Indonesia
PostgreSQL Rocks Indonesia
PGConf APAC
 
Beyond unit tests: Deployment and testing for Hadoop/Spark workflows
Beyond unit tests: Deployment and testing for Hadoop/Spark workflowsBeyond unit tests: Deployment and testing for Hadoop/Spark workflows
Beyond unit tests: Deployment and testing for Hadoop/Spark workflows
DataWorks Summit
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQL
EDB
 
Elephants in the Cloud
Elephants in the CloudElephants in the Cloud
Elephants in the Cloud
Mike Fowler
 
Presto At Treasure Data
Presto At Treasure DataPresto At Treasure Data
Presto At Treasure Data
Taro L. Saito
 

Viewers also liked (20)

PostgreSQL on Amazon RDS
PostgreSQL on Amazon RDSPostgreSQL on Amazon RDS
PostgreSQL on Amazon RDS
PGConf APAC
 
PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs
PGConf APAC
 
Lightening Talk - PostgreSQL Worst Practices
Lightening Talk - PostgreSQL Worst PracticesLightening Talk - PostgreSQL Worst Practices
Lightening Talk - PostgreSQL Worst Practices
PGConf APAC
 
How to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollHow to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'roll
PGConf APAC
 
PostgreSQL: Past present Future
PostgreSQL: Past present FuturePostgreSQL: Past present Future
PostgreSQL: Past present Future
PGConf APAC
 
Why we love pgpool-II and why we hate it!
Why we love pgpool-II and why we hate it!Why we love pgpool-II and why we hate it!
Why we love pgpool-II and why we hate it!
PGConf APAC
 
Introduction to Vacuum Freezing and XID
Introduction to Vacuum Freezing and XIDIntroduction to Vacuum Freezing and XID
Introduction to Vacuum Freezing and XID
PGConf APAC
 
Security Best Practices for your Postgres Deployment
Security Best Practices for your Postgres DeploymentSecurity Best Practices for your Postgres Deployment
Security Best Practices for your Postgres Deployment
PGConf APAC
 
Swapping Pacemaker Corosync with repmgr
Swapping Pacemaker Corosync with repmgrSwapping Pacemaker Corosync with repmgr
Swapping Pacemaker Corosync with repmgr
PGConf APAC
 
Use Case: PostGIS and Agribotics
Use Case: PostGIS and AgriboticsUse Case: PostGIS and Agribotics
Use Case: PostGIS and Agribotics
PGConf APAC
 
Secure PostgreSQL deployment
Secure PostgreSQL deploymentSecure PostgreSQL deployment
Secure PostgreSQL deployment
Command Prompt., Inc
 
(Ab)using 4d Indexing
(Ab)using 4d Indexing(Ab)using 4d Indexing
(Ab)using 4d Indexing
PGConf APAC
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLMigration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQL
PGConf APAC
 
Past, Present, and Future Analysis of the Architectural & Engineering Design ...
Past, Present, and Future Analysis of the Architectural & Engineering Design ...Past, Present, and Future Analysis of the Architectural & Engineering Design ...
Past, Present, and Future Analysis of the Architectural & Engineering Design ...
Lisa Dehner
 
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel UrmaJava Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
JAXLondon_Conference
 
pg_hba.conf 이야기
pg_hba.conf 이야기pg_hba.conf 이야기
pg_hba.conf 이야기
PgDay.Seoul
 
PostgreSQL Portland Performance Practice Project - Database Test 2 Filesystem...
PostgreSQL Portland Performance Practice Project - Database Test 2 Filesystem...PostgreSQL Portland Performance Practice Project - Database Test 2 Filesystem...
PostgreSQL Portland Performance Practice Project - Database Test 2 Filesystem...
Mark Wong
 
24/7 Monitoring and Alerting of PostgreSQL
24/7 Monitoring and Alerting of PostgreSQL24/7 Monitoring and Alerting of PostgreSQL
24/7 Monitoring and Alerting of PostgreSQL
InMobi Technology
 
Achieving Pci Compliace
Achieving Pci CompliaceAchieving Pci Compliace
Achieving Pci Compliace
Denish Patel
 
PgDay Asia 2016 - Security Best Practices for your Postgres Deployment
PgDay Asia 2016 - Security Best Practices for your Postgres DeploymentPgDay Asia 2016 - Security Best Practices for your Postgres Deployment
PgDay Asia 2016 - Security Best Practices for your Postgres Deployment
Ashnikbiz
 
PostgreSQL on Amazon RDS
PostgreSQL on Amazon RDSPostgreSQL on Amazon RDS
PostgreSQL on Amazon RDS
PGConf APAC
 
PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs
PGConf APAC
 
Lightening Talk - PostgreSQL Worst Practices
Lightening Talk - PostgreSQL Worst PracticesLightening Talk - PostgreSQL Worst Practices
Lightening Talk - PostgreSQL Worst Practices
PGConf APAC
 
How to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollHow to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'roll
PGConf APAC
 
PostgreSQL: Past present Future
PostgreSQL: Past present FuturePostgreSQL: Past present Future
PostgreSQL: Past present Future
PGConf APAC
 
Why we love pgpool-II and why we hate it!
Why we love pgpool-II and why we hate it!Why we love pgpool-II and why we hate it!
Why we love pgpool-II and why we hate it!
PGConf APAC
 
Introduction to Vacuum Freezing and XID
Introduction to Vacuum Freezing and XIDIntroduction to Vacuum Freezing and XID
Introduction to Vacuum Freezing and XID
PGConf APAC
 
Security Best Practices for your Postgres Deployment
Security Best Practices for your Postgres DeploymentSecurity Best Practices for your Postgres Deployment
Security Best Practices for your Postgres Deployment
PGConf APAC
 
Swapping Pacemaker Corosync with repmgr
Swapping Pacemaker Corosync with repmgrSwapping Pacemaker Corosync with repmgr
Swapping Pacemaker Corosync with repmgr
PGConf APAC
 
Use Case: PostGIS and Agribotics
Use Case: PostGIS and AgriboticsUse Case: PostGIS and Agribotics
Use Case: PostGIS and Agribotics
PGConf APAC
 
(Ab)using 4d Indexing
(Ab)using 4d Indexing(Ab)using 4d Indexing
(Ab)using 4d Indexing
PGConf APAC
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLMigration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQL
PGConf APAC
 
Past, Present, and Future Analysis of the Architectural & Engineering Design ...
Past, Present, and Future Analysis of the Architectural & Engineering Design ...Past, Present, and Future Analysis of the Architectural & Engineering Design ...
Past, Present, and Future Analysis of the Architectural & Engineering Design ...
Lisa Dehner
 
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel UrmaJava Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
JAXLondon_Conference
 
pg_hba.conf 이야기
pg_hba.conf 이야기pg_hba.conf 이야기
pg_hba.conf 이야기
PgDay.Seoul
 
PostgreSQL Portland Performance Practice Project - Database Test 2 Filesystem...
PostgreSQL Portland Performance Practice Project - Database Test 2 Filesystem...PostgreSQL Portland Performance Practice Project - Database Test 2 Filesystem...
PostgreSQL Portland Performance Practice Project - Database Test 2 Filesystem...
Mark Wong
 
24/7 Monitoring and Alerting of PostgreSQL
24/7 Monitoring and Alerting of PostgreSQL24/7 Monitoring and Alerting of PostgreSQL
24/7 Monitoring and Alerting of PostgreSQL
InMobi Technology
 
Achieving Pci Compliace
Achieving Pci CompliaceAchieving Pci Compliace
Achieving Pci Compliace
Denish Patel
 
PgDay Asia 2016 - Security Best Practices for your Postgres Deployment
PgDay Asia 2016 - Security Best Practices for your Postgres DeploymentPgDay Asia 2016 - Security Best Practices for your Postgres Deployment
PgDay Asia 2016 - Security Best Practices for your Postgres Deployment
Ashnikbiz
 
Ad

Similar to Query Parallelism in PostgreSQL: What's coming next? (20)

Frontend Track NodeJS
Frontend Track NodeJSFrontend Track NodeJS
Frontend Track NodeJS
Marcelo Serpa
 
Scaling Up with PHP and AWS
Scaling Up with PHP and AWSScaling Up with PHP and AWS
Scaling Up with PHP and AWS
Heath Dutton ☕
 
Zend Server Data Caching
Zend Server Data CachingZend Server Data Caching
Zend Server Data Caching
El Taller Web
 
Implementing Parallelism in PostgreSQL - PGCon 2014
Implementing Parallelism in PostgreSQL - PGCon 2014Implementing Parallelism in PostgreSQL - PGCon 2014
Implementing Parallelism in PostgreSQL - PGCon 2014
EDB
 
2016 may-countdown-to-postgres-v96-parallel-query
2016 may-countdown-to-postgres-v96-parallel-query2016 may-countdown-to-postgres-v96-parallel-query
2016 may-countdown-to-postgres-v96-parallel-query
Ashnikbiz
 
Treinamento frontend
Treinamento frontendTreinamento frontend
Treinamento frontend
Adrian Caetano
 
10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production
Paris Data Engineers !
 
MongoDb scalability and high availability with Replica-Set
MongoDb scalability and high availability with Replica-SetMongoDb scalability and high availability with Replica-Set
MongoDb scalability and high availability with Replica-Set
Vivek Parihar
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 Notes
Ross Lawley
 
Zendcon scaling magento
Zendcon scaling magentoZendcon scaling magento
Zendcon scaling magento
Mathew Beane
 
Benchmarking for postgresql workloads in kubernetes
Benchmarking for postgresql workloads in kubernetesBenchmarking for postgresql workloads in kubernetes
Benchmarking for postgresql workloads in kubernetes
DoKC
 
Running Java Applications inside Kubernetes with Nested Container Architectur...
Running Java Applications inside Kubernetes with Nested Container Architectur...Running Java Applications inside Kubernetes with Nested Container Architectur...
Running Java Applications inside Kubernetes with Nested Container Architectur...
Jelastic Multi-Cloud PaaS
 
Archmage, Pinterest’s Real-time Analytics Platform on Druid
Archmage, Pinterest’s Real-time Analytics Platform on DruidArchmage, Pinterest’s Real-time Analytics Platform on Druid
Archmage, Pinterest’s Real-time Analytics Platform on Druid
Imply
 
EDB Postgres with Containers
EDB Postgres with ContainersEDB Postgres with Containers
EDB Postgres with Containers
EDB
 
Kernel Recipes 2017 - 20 years of Linux Virtual Memory - Andrea Arcangeli
Kernel Recipes 2017 - 20 years of Linux Virtual Memory - Andrea ArcangeliKernel Recipes 2017 - 20 years of Linux Virtual Memory - Andrea Arcangeli
Kernel Recipes 2017 - 20 years of Linux Virtual Memory - Andrea Arcangeli
Anne Nicolas
 
Clug 2012 March web server optimisation
Clug 2012 March   web server optimisationClug 2012 March   web server optimisation
Clug 2012 March web server optimisation
grooverdan
 
HybridAzureCloud
HybridAzureCloudHybridAzureCloud
HybridAzureCloud
Chris Condo
 
Adventures in Thread-per-Core Async with Redpanda and Seastar
Adventures in Thread-per-Core Async with Redpanda and SeastarAdventures in Thread-per-Core Async with Redpanda and Seastar
Adventures in Thread-per-Core Async with Redpanda and Seastar
ScyllaDB
 
Redis Replication
Redis ReplicationRedis Replication
Redis Replication
Ismaeel Enjreny
 
Data Policies for the Kafka-API with WebAssembly | Alexander Gallego, Vectorized
Data Policies for the Kafka-API with WebAssembly | Alexander Gallego, VectorizedData Policies for the Kafka-API with WebAssembly | Alexander Gallego, Vectorized
Data Policies for the Kafka-API with WebAssembly | Alexander Gallego, Vectorized
HostedbyConfluent
 
Frontend Track NodeJS
Frontend Track NodeJSFrontend Track NodeJS
Frontend Track NodeJS
Marcelo Serpa
 
Scaling Up with PHP and AWS
Scaling Up with PHP and AWSScaling Up with PHP and AWS
Scaling Up with PHP and AWS
Heath Dutton ☕
 
Zend Server Data Caching
Zend Server Data CachingZend Server Data Caching
Zend Server Data Caching
El Taller Web
 
Implementing Parallelism in PostgreSQL - PGCon 2014
Implementing Parallelism in PostgreSQL - PGCon 2014Implementing Parallelism in PostgreSQL - PGCon 2014
Implementing Parallelism in PostgreSQL - PGCon 2014
EDB
 
2016 may-countdown-to-postgres-v96-parallel-query
2016 may-countdown-to-postgres-v96-parallel-query2016 may-countdown-to-postgres-v96-parallel-query
2016 may-countdown-to-postgres-v96-parallel-query
Ashnikbiz
 
10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production
Paris Data Engineers !
 
MongoDb scalability and high availability with Replica-Set
MongoDb scalability and high availability with Replica-SetMongoDb scalability and high availability with Replica-Set
MongoDb scalability and high availability with Replica-Set
Vivek Parihar
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 Notes
Ross Lawley
 
Zendcon scaling magento
Zendcon scaling magentoZendcon scaling magento
Zendcon scaling magento
Mathew Beane
 
Benchmarking for postgresql workloads in kubernetes
Benchmarking for postgresql workloads in kubernetesBenchmarking for postgresql workloads in kubernetes
Benchmarking for postgresql workloads in kubernetes
DoKC
 
Running Java Applications inside Kubernetes with Nested Container Architectur...
Running Java Applications inside Kubernetes with Nested Container Architectur...Running Java Applications inside Kubernetes with Nested Container Architectur...
Running Java Applications inside Kubernetes with Nested Container Architectur...
Jelastic Multi-Cloud PaaS
 
Archmage, Pinterest’s Real-time Analytics Platform on Druid
Archmage, Pinterest’s Real-time Analytics Platform on DruidArchmage, Pinterest’s Real-time Analytics Platform on Druid
Archmage, Pinterest’s Real-time Analytics Platform on Druid
Imply
 
EDB Postgres with Containers
EDB Postgres with ContainersEDB Postgres with Containers
EDB Postgres with Containers
EDB
 
Kernel Recipes 2017 - 20 years of Linux Virtual Memory - Andrea Arcangeli
Kernel Recipes 2017 - 20 years of Linux Virtual Memory - Andrea ArcangeliKernel Recipes 2017 - 20 years of Linux Virtual Memory - Andrea Arcangeli
Kernel Recipes 2017 - 20 years of Linux Virtual Memory - Andrea Arcangeli
Anne Nicolas
 
Clug 2012 March web server optimisation
Clug 2012 March   web server optimisationClug 2012 March   web server optimisation
Clug 2012 March web server optimisation
grooverdan
 
HybridAzureCloud
HybridAzureCloudHybridAzureCloud
HybridAzureCloud
Chris Condo
 
Adventures in Thread-per-Core Async with Redpanda and Seastar
Adventures in Thread-per-Core Async with Redpanda and SeastarAdventures in Thread-per-Core Async with Redpanda and Seastar
Adventures in Thread-per-Core Async with Redpanda and Seastar
ScyllaDB
 
Data Policies for the Kafka-API with WebAssembly | Alexander Gallego, Vectorized
Data Policies for the Kafka-API with WebAssembly | Alexander Gallego, VectorizedData Policies for the Kafka-API with WebAssembly | Alexander Gallego, Vectorized
Data Policies for the Kafka-API with WebAssembly | Alexander Gallego, Vectorized
HostedbyConfluent
 
Ad

More from PGConf APAC (18)

PGConf APAC 2018: Sponsored Talk by Fujitsu - The growing mandatory requireme...
PGConf APAC 2018: Sponsored Talk by Fujitsu - The growing mandatory requireme...PGConf APAC 2018: Sponsored Talk by Fujitsu - The growing mandatory requireme...
PGConf APAC 2018: Sponsored Talk by Fujitsu - The growing mandatory requireme...
PGConf APAC
 
PGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
PGConf APAC 2018: PostgreSQL 10 - Replication goes LogicalPGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
PGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
PGConf APAC
 
PGConf APAC 2018 - Lightening Talk #3: How To Contribute to PostgreSQL
PGConf APAC 2018 - Lightening Talk #3: How To Contribute to PostgreSQLPGConf APAC 2018 - Lightening Talk #3: How To Contribute to PostgreSQL
PGConf APAC 2018 - Lightening Talk #3: How To Contribute to PostgreSQL
PGConf APAC
 
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQL
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQLPGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQL
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQL
PGConf APAC
 
Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...
Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...
Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...
PGConf APAC
 
PGConf APAC 2018 - A PostgreSQL DBAs Toolbelt for 2018
PGConf APAC 2018 - A PostgreSQL DBAs Toolbelt for 2018PGConf APAC 2018 - A PostgreSQL DBAs Toolbelt for 2018
PGConf APAC 2018 - A PostgreSQL DBAs Toolbelt for 2018
PGConf APAC
 
PGConf APAC 2018 - Patroni: Kubernetes-native PostgreSQL companion
PGConf APAC 2018 - Patroni: Kubernetes-native PostgreSQL companionPGConf APAC 2018 - Patroni: Kubernetes-native PostgreSQL companion
PGConf APAC 2018 - Patroni: Kubernetes-native PostgreSQL companion
PGConf APAC
 
PGConf APAC 2018 - High performance json postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json  postgre-sql vs. mongodbPGConf APAC 2018 - High performance json  postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json postgre-sql vs. mongodb
PGConf APAC
 
PGConf APAC 2018 - Monitoring PostgreSQL at Scale
PGConf APAC 2018 - Monitoring PostgreSQL at ScalePGConf APAC 2018 - Monitoring PostgreSQL at Scale
PGConf APAC 2018 - Monitoring PostgreSQL at Scale
PGConf APAC
 
PGConf APAC 2018 - Where's Waldo - Text Search and Pattern in PostgreSQL
PGConf APAC 2018 - Where's Waldo - Text Search and Pattern in PostgreSQLPGConf APAC 2018 - Where's Waldo - Text Search and Pattern in PostgreSQL
PGConf APAC 2018 - Where's Waldo - Text Search and Pattern in PostgreSQL
PGConf APAC
 
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
PGConf APAC
 
PGConf APAC 2018 - PostgreSQL HA with Pgpool-II and whats been happening in P...
PGConf APAC 2018 - PostgreSQL HA with Pgpool-II and whats been happening in P...PGConf APAC 2018 - PostgreSQL HA with Pgpool-II and whats been happening in P...
PGConf APAC 2018 - PostgreSQL HA with Pgpool-II and whats been happening in P...
PGConf APAC
 
PGConf APAC 2018 - PostgreSQL performance comparison in various clouds
PGConf APAC 2018 - PostgreSQL performance comparison in various cloudsPGConf APAC 2018 - PostgreSQL performance comparison in various clouds
PGConf APAC 2018 - PostgreSQL performance comparison in various clouds
PGConf APAC
 
Sponsored Talk @ PGConf APAC 2018 - Migrating Oracle to EDB Postgres Approach...
Sponsored Talk @ PGConf APAC 2018 - Migrating Oracle to EDB Postgres Approach...Sponsored Talk @ PGConf APAC 2018 - Migrating Oracle to EDB Postgres Approach...
Sponsored Talk @ PGConf APAC 2018 - Migrating Oracle to EDB Postgres Approach...
PGConf APAC
 
PGConf APAC 2018 - Tale from Trenches
PGConf APAC 2018 - Tale from TrenchesPGConf APAC 2018 - Tale from Trenches
PGConf APAC 2018 - Tale from Trenches
PGConf APAC
 
PGConf APAC 2018 Keynote: PostgreSQL goes eleven
PGConf APAC 2018 Keynote: PostgreSQL goes elevenPGConf APAC 2018 Keynote: PostgreSQL goes eleven
PGConf APAC 2018 Keynote: PostgreSQL goes eleven
PGConf APAC
 
Amazon (AWS) Aurora
Amazon (AWS) AuroraAmazon (AWS) Aurora
Amazon (AWS) Aurora
PGConf APAC
 
Go Faster With Native Compilation
Go Faster With Native CompilationGo Faster With Native Compilation
Go Faster With Native Compilation
PGConf APAC
 
PGConf APAC 2018: Sponsored Talk by Fujitsu - The growing mandatory requireme...
PGConf APAC 2018: Sponsored Talk by Fujitsu - The growing mandatory requireme...PGConf APAC 2018: Sponsored Talk by Fujitsu - The growing mandatory requireme...
PGConf APAC 2018: Sponsored Talk by Fujitsu - The growing mandatory requireme...
PGConf APAC
 
PGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
PGConf APAC 2018: PostgreSQL 10 - Replication goes LogicalPGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
PGConf APAC 2018: PostgreSQL 10 - Replication goes Logical
PGConf APAC
 
PGConf APAC 2018 - Lightening Talk #3: How To Contribute to PostgreSQL
PGConf APAC 2018 - Lightening Talk #3: How To Contribute to PostgreSQLPGConf APAC 2018 - Lightening Talk #3: How To Contribute to PostgreSQL
PGConf APAC 2018 - Lightening Talk #3: How To Contribute to PostgreSQL
PGConf APAC
 
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQL
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQLPGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQL
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQL
PGConf APAC
 
Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...
Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...
Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...
PGConf APAC
 
PGConf APAC 2018 - A PostgreSQL DBAs Toolbelt for 2018
PGConf APAC 2018 - A PostgreSQL DBAs Toolbelt for 2018PGConf APAC 2018 - A PostgreSQL DBAs Toolbelt for 2018
PGConf APAC 2018 - A PostgreSQL DBAs Toolbelt for 2018
PGConf APAC
 
PGConf APAC 2018 - Patroni: Kubernetes-native PostgreSQL companion
PGConf APAC 2018 - Patroni: Kubernetes-native PostgreSQL companionPGConf APAC 2018 - Patroni: Kubernetes-native PostgreSQL companion
PGConf APAC 2018 - Patroni: Kubernetes-native PostgreSQL companion
PGConf APAC
 
PGConf APAC 2018 - High performance json postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json  postgre-sql vs. mongodbPGConf APAC 2018 - High performance json  postgre-sql vs. mongodb
PGConf APAC 2018 - High performance json postgre-sql vs. mongodb
PGConf APAC
 
PGConf APAC 2018 - Monitoring PostgreSQL at Scale
PGConf APAC 2018 - Monitoring PostgreSQL at ScalePGConf APAC 2018 - Monitoring PostgreSQL at Scale
PGConf APAC 2018 - Monitoring PostgreSQL at Scale
PGConf APAC
 
PGConf APAC 2018 - Where's Waldo - Text Search and Pattern in PostgreSQL
PGConf APAC 2018 - Where's Waldo - Text Search and Pattern in PostgreSQLPGConf APAC 2018 - Where's Waldo - Text Search and Pattern in PostgreSQL
PGConf APAC 2018 - Where's Waldo - Text Search and Pattern in PostgreSQL
PGConf APAC
 
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...
PGConf APAC
 
PGConf APAC 2018 - PostgreSQL HA with Pgpool-II and whats been happening in P...
PGConf APAC 2018 - PostgreSQL HA with Pgpool-II and whats been happening in P...PGConf APAC 2018 - PostgreSQL HA with Pgpool-II and whats been happening in P...
PGConf APAC 2018 - PostgreSQL HA with Pgpool-II and whats been happening in P...
PGConf APAC
 
PGConf APAC 2018 - PostgreSQL performance comparison in various clouds
PGConf APAC 2018 - PostgreSQL performance comparison in various cloudsPGConf APAC 2018 - PostgreSQL performance comparison in various clouds
PGConf APAC 2018 - PostgreSQL performance comparison in various clouds
PGConf APAC
 
Sponsored Talk @ PGConf APAC 2018 - Migrating Oracle to EDB Postgres Approach...
Sponsored Talk @ PGConf APAC 2018 - Migrating Oracle to EDB Postgres Approach...Sponsored Talk @ PGConf APAC 2018 - Migrating Oracle to EDB Postgres Approach...
Sponsored Talk @ PGConf APAC 2018 - Migrating Oracle to EDB Postgres Approach...
PGConf APAC
 
PGConf APAC 2018 - Tale from Trenches
PGConf APAC 2018 - Tale from TrenchesPGConf APAC 2018 - Tale from Trenches
PGConf APAC 2018 - Tale from Trenches
PGConf APAC
 
PGConf APAC 2018 Keynote: PostgreSQL goes eleven
PGConf APAC 2018 Keynote: PostgreSQL goes elevenPGConf APAC 2018 Keynote: PostgreSQL goes eleven
PGConf APAC 2018 Keynote: PostgreSQL goes eleven
PGConf APAC
 
Amazon (AWS) Aurora
Amazon (AWS) AuroraAmazon (AWS) Aurora
Amazon (AWS) Aurora
PGConf APAC
 
Go Faster With Native Compilation
Go Faster With Native CompilationGo Faster With Native Compilation
Go Faster With Native Compilation
PGConf APAC
 

Recently uploaded (20)

Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Salesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdfSalesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdf
SRINIVASARAO PUSULURI
 
Mastering OOP: Understanding the Four Core Pillars
Mastering OOP: Understanding the Four Core PillarsMastering OOP: Understanding the Four Core Pillars
Mastering OOP: Understanding the Four Core Pillars
Marcel David
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest VersionAdobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
usmanhidray
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Shift Left using Lean for Agile Software Development
Shift Left using Lean for Agile Software DevelopmentShift Left using Lean for Agile Software Development
Shift Left using Lean for Agile Software Development
SathyaShankar6
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Salesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdfSalesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdf
SRINIVASARAO PUSULURI
 
Mastering OOP: Understanding the Four Core Pillars
Mastering OOP: Understanding the Four Core PillarsMastering OOP: Understanding the Four Core Pillars
Mastering OOP: Understanding the Four Core Pillars
Marcel David
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest VersionAdobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
usmanhidray
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Shift Left using Lean for Agile Software Development
Shift Left using Lean for Agile Software DevelopmentShift Left using Lean for Agile Software Development
Shift Left using Lean for Agile Software Development
SathyaShankar6
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 

Query Parallelism in PostgreSQL: What's coming next?

  • 1. © 2013 EDB All rights reserved. 1 Query Parallelism In PostgreSQL What’s coming next? Dilip Kumar (Principle Software Engineer)
  • 2. © 2016 EDB All rights reserved. 2 ❏ Infrastructure for parallelism ❏ Intra-query parallelism in v9.6 ❏ Parallel aware executor nodes ❏ Performance on TPC-H ❏ Parallelism enhancements in v10 ❏ More executor-nodes ❏ Performance on TPC-H ❏ Take away
  • 3. © 2016 EDB All rights reserved. 3 ❏ Groundwork for parallelism ❏ Dynamic background workers ❏ Dynamic shared memory ❏ Shared messaging capabilities ❏ Group locking ❏ Parallel context ❏ Intra-query parallel support ❏ Parallel executor ❏ Parallel-aware nodes ❏ seq scan, ❏ joins, and ❏ aggregates
  • 4. © 2016 EDB All rights reserved. 4 Gather nodeGather.c Parallel-Aware Executor Nodes nodeSeqScan.c nodeForeignScan.c nodeCustom.c Parallel Executor Support execParallel.c Tuple Queue Reader and DestReceiver tqueue.c Dynamic Background Workers bgworker.c Dynamic Shared Memory dsm.c, dsm_impl.c Shared Memory Message Queue shm_mq.c Parallel Context parallel.c Shared Memory Table of Contents shm_toc.c Error/Notice Forwarding pqmq.c State Synchronization dfmgr.c, guc.c, combocid.c, snapmgr.c, xact.c Group Locking lock.c
  • 5. © 2016 EDB All rights reserved. 5 ❏ Dynamic background worker (shm_mq) ❏ Postmaster can launch the background worker processes at run time ❏ Dynamic shared memory ❏ Allocate a chunk of memory that can be shared among co-operating processes ❏ Shared memory table of contents ❏ A simple scheme for carving DSM into numbered chunks ❏ Shared messaging capabilities ❏ Shared memory message queue ❏ For error/notice forwarding ❏ Tuple queue reader and DestReceiver
  • 6. © 2016 EDB All rights reserved. 6 ❏ Parallel context ❏ Core toolkit for parallel operations ❏ Launch a number of workers, establish “useful” state, run C code you specify and ensure timely shutdown. ❏ State synchronization ❏ To ensure same GUC values, libraries, and transactions with same snapshot across workers ❏ Group locking ❏ To solve the issue of undetected deadlock ❏ Leader and its workers are treated as one entity for locking purposes
  • 7. © 2016 EDB All rights reserved. 7 ❏ Parallel executor support ❏ Execute a plan by a set of worker ❏ Pass instrumentation information to each worker ❏ Parallel aware executor nodes ❏ Different behaviour when run in parallel or otherwise ❏ Gather ❏ Collect results across all workers and merge them into a single result stream
  • 8. © 2016 EDB All rights reserved. 8 ❏ Parallel access methods ❏ Seq scan is the only parallel access method ❏ No support for parallel index, index-only or bitmap-heap scan ❏ Parallel joins ❏ NestedLoop and Hash joins are supported for parallel execution ❏ For hash-join, each worker prepares its own copy of hash-table ❏ Merge join cannot execute in parallel ❏ Parallel aggregates ❏ Each worker performs partial aggregate and finalize aggregate is done by leader
  • 9. © 2016 EDB All rights reserved. 9 ❏ Experimental setup ❏ IBM power7 box (popularly known as Hydra in community) ❏ Parameter settings ❏ Max_parallel_degree = 4 ❏ Work_mem = 64 MB ❏ Shared_buffers = 8 GB ❏ Database setup ❏ Scale factor = 10
  • 10. © 2016 EDB All rights reserved. 10
  • 11. © 2016 EDB All rights reserved. 11 ❏ Need parallel-index scan ❏ Q6, Q14 ❏ Need parallel bitmap-heap scan ❏ Q4, Q15 ❏ Need parallel merge-join ❏ Q2, Q3, Q9, Q20 ❏ Need parallel hash table build ❏ Q3, Q5, Q7, Q8, Q21 ❏ Need parallel subquery handling ❏ Q2, Q22 …
  • 12. © 2016 EDB All rights reserved. 12 ❏ More parallel executor nodes ❏ Access methods ❏ Parallel index, index-only, bitmap-heap ❏ Join methods ❏ Merge join ❏ Hash join with shared hash ❏ Other ❏ Gather-merge ❏ Relaxation for nodes using uncorrelated sub-plan, init-plan ❏ Improvements in parallel-append ❏ Parallel DDL/maintenance commands ❏ Index-creation ❏ Vacuum
  • 13. © 2016 EDB All rights reserved. 13 ❏ Parallel index scan ❏ Firstly, a worker will process the intermediate pages of B-tree and determine the starting leaf page where scan is to be started ❏ Next, all the workers start scanning the leaf pages block by block ❏ Finally, all the filtered tuples are gathered by the leader process ❏ This operator improves the performance significantly when the database is in-memory ❏ Similar mechanism is built for index-only scans
  • 14. © 2016 EDB All rights reserved. 14 ❏ Parallel bitmap heap scan ❏ A bitmap scan fetches all the pointers from index in one go, sort them using in-memory “bitmap”, finally, visits the tuple in physical order ❏ Bitmap will be created by a single worker ❏ Next, all the workers will jointly scan the heap, page by page ❏ For further improvement, we can also build bitmap by multiple workers
  • 15. © 2016 EDB All rights reserved. 15 ❏ Parallel bitmap heap scan Gather Workers Planned: 2 -> Parallel Bitmap Heap Scan on foo Recheck Cond: ((a < 100000) OR (b < 10000)) -> BitmapOr -> Bitmap Index Scan on idx1 Index Cond: (a < 100000) -> Bitmap Index Scan on idx2 Index Cond: (b < 10000)
  • 16. © 2016 EDB All rights reserved. 16 ❏ Parallel Merge Join ❏ If outer node is using parallelism then we consider parallel merge-join ❏ Outer node will be scanned in parallel by multiple workers ❏ Inner node will be processed completely by individual workers ❏ There is still scope of improvements in this strategy ❏ Parallelise inner sort or materialize nodes
  • 17. © 2016 EDB All rights reserved. 17 ❏ Parallel shared hash ❏ Previously, each worker builds its own copy of hash table ❏ This is particularly favourable to cases when hash table is small ❏ Improved mechanism is to employ the workers for building hash-table in parallel ❏ Once, hash-table is ready, parallel probing can be done ❏ This facilitates the usage of parallel operators on either sides of joins
  • 18. © 2016 EDB All rights reserved. 18 Parallel shared-hash Gather Workers Planned: 2 Workers Launched: 2 -> Hash Join Hash Cond (foo.b = bar.b) -> Parallel Seq Scan on foo -> Parallel Shared Hash -> Parallel Seq Scan on bar
  • 19. © 2016 EDB All rights reserved. 19 ❏ Gather-merge ❏ Previously, there was only one option to collect the result from parallel operators i.e gather, it does not maintain interesting order ❏ Therefore, extra sort node is required on top for ordered output ❏ Now, if workers are providing sorted result specifically, output from parallel index, parallel merge join, etc. then gather-merge will maintain the sort-order in the final result
  • 20. © 2016 EDB All rights reserved. 20 ❏ Experimental setup ❏ RAM = 512 GB ❏ Number of cores = 32 ❏ Parameter settings ❏ Work_mem = 64 MB ❏ Shared_buffers = 8 GB ❏ Effective_cache_size = 10 GB ❏ Random_page_cost = seq_page_cost = 0.1 ❏ Max_parallel_workers_per_gather = 4 ❏ Database setup ❏ Scale factors = 20, 300 ❏ Additional indexes: l_shipmode, l_shipdate, o_orderdate, o_comment
  • 21. © 2016 EDB All rights reserved. 21 Results on scale factor 20
  • 22. © 2016 EDB All rights reserved. 22 Results on scale factor 20
  • 23. © 2016 EDB All rights reserved. 23 Results on scale factor 300
  • 24. © 2016 EDB All rights reserved. 24 ❏ Tuning parameters ❏ Max_parallel_workers_per_gather ❏ Recommended value 1 to 4 ❏ Reduce following costs ❏ Parallel_tuple_cost: planner's estimate of the cost of transferring one tuple from a parallel worker process to another process ❏ Parallel_setup_cost: planner's estimate for launching parallel workers and initializing dynamic shared memory ❏ Min_parallel_table_scan_size: the minimum size of relations to be considered for parallel sequence scan ❏ Min_parallel_index_scan_size: the minimum size of index to be considered for parallel scan ❏ Random_page_cost: estimated cost of accessing a random page in disk ❏ Increase following parameters ❏ Work_mem ❏ Effective_cache_size ❏ Shared_buffers
  • 25. © 2016 EDB All rights reserved. 25 ❏ Adding intra-query parallelism improves per query response time ❏ Previously, overall throughput was the only focus ❏ This makes it more suitable for OLAP environments ❏ Till version 9.6, parallel support for sequence scan, hash join, nestloop join, and aggregates is available ❏ Out of 22 queries of TPC-H, performance improved for 15 queries ❏ In which 3 queries are at least 4 times faster and 11 queries are 2 times faster ❏ More parallel executor nodes are planned for upcoming versions ❏ More parallel access methods - index, index-only are already committed ❏ Improved parallel join mechanisms ❏ Gather with interesting order ❏ Removed restrictions for nodes using SubPlans(already committed) or InitPlans ❏ Around 10 of 22 TPC-H queries show significant improvement in performance ❏ In which around 4 queries show more than 2x improvement
  • 26. © 2016 EDB All rights reserved. 26
  • 27. 27 Output: Thank You Gather Workers Planned: 2 Workers Launched: 2 -> Parallel Index Scan on Common_phrases Index Cond: ( value = ‘Thank You’ ) Filter: Language = ‘English’ Slide credits: [1] https://www.pgcon.org/2016/schedule/events/913.en.html [2] https://www.postgresql.eu/events/schedule/pgconfeu2016/session/1360-parallel-query-in-postgresql/ [3] http://pgconf.in/schedule/query-parallelism-in-postgresql-expectations-and-opportunities/