SlideShare a Scribd company logo
1 of 25
Product Update
EDB Postgres Platform 2017
1
Advances in Postgres Set New Digital Business Standard:
More Workloads, Larger Data Sets, and Greater Integration
Agenda
• An Overview of EDB Technologies
• EDB Postgres Platform Update – Winter 2017
• EDB Postgres Advanced Server 9.6
• Backup and Recovery 2.0
• Replication Server 6.1
EDB Technologies
Updates in
Winter 2017
EDB Postgres Platform Update – Winter 2017
EDB Postgres Advanced Server 9.6
• Migrate more applications from Oracle and support ISVs
• Manage larger data sets
• Faster analytic queries
• Build more robust clustering, scale out & integration solutions
• Improved monitoring
Backup and Recovery 2.0
• Faster backups with block level incremental change capture
Replication Server 6.1
• Updated support for Oracle 12c, SQL Server 2012
• Parallel replication for multi master improves performance with
multiple active nodes
Feature Highlights for Postgres Advanced Server 9.6
• DBMS_AQ Advance Queuing
• Nested Sub-procedures
• Partitioned Table performance
enhancements
• EDBLDR Enhancements
• Oracle compatibility features
PostgreSQL 9.6Postgres Advanced Server 9.6
• Parallel sequential scans, joins and
aggregates
• Elimination of repetitive scanning of old
data by autovacuum
• Synchronous replication support for
multiple standby servers
• Full-text search for phrases
• Support for remote joins, sorts, and
updates in postgres_fdw
Focus on Security, Scalability, and Enterprise Readiness
EDB: Oracle Compatible DBMS_AQ:
• Business applications communicate
with each other
• Producer applications enqueue
messages
• Consumer applications dequeue
messages
• Implemented in database tables
• Standard database features apply
• Recovery
• Restart
• Security
Advanced Queuing provides database-integrated message queuing
functionality
EDB: Oracle Compatible DBMS_AQ:
• DBMS_AQADM.CREATE_QUEUE_TABLE: Creates a new
queue table that can physically hold any number of queues.
• DBMS_AQADM.CREATE_QUEUE: Creates a new queue in
an existing queue table.
• DBMS_AQADM.DROP_QUEUE: Drops an existing queue.
• DBMS_AQADM.DROP_QUEUE_TABLE: Drops an existing
queue table.
• DBMS_AQADM.ALTER_QUEUE: Modifies an existing
queue.
• DBMS_AQADM.ALTER_QUEUE_TABLE: Modifies an
existing queue table.
• DBMS_AQADM.START_QUEUE: Enables enqueuing and/or
dequeuing in an existing queue.
• DBMS_AQADM.STOP_QUEUE: Disables enqueue and/or
dequeue in existing queue.
• DBMS_AQ.ENQUEUE: Posts a message to a
queue. Messages can optionally be delayed, so that they
are not available for dequeuing for a certain number of
seconds. Messages can optionally have an expiry time
limit, so that they will expire and move to the exception
queue if they are not dequeued after a certain number of
seconds.
• DBMS_AQ.DEQUEUE: Retrieves a message from a
queue if one is available, and optionally waits for one to
become available.
• DBMS_AQ.REGISTER: Registers a callback procedure
that will be invoked in a background worker when
messages are enqueued.
• DBMS_AQ.UNREGISTER: Unregisters a callback
procedure previously registered with REGISTER.
Packages: DBMS_AQ and DBMS_AQADM
Advantages of Advanced Queuing
• Interactions are integrated with database transactions, so messages are only
enqueued or dequeued if a transaction commits.
• Simple asynchronous processing using background workers and any
supported stored procedure language.
• Queue operations can be used in triggers.
• A system of retries and exception handling is integrated with database
transactions.
• No extra services/daemons required.
• Messages are persistent and covered by existing backup procedures.
EDB: Oracle Compatible Nested Sub Procedures
• Defined in the declaration part of
the enclosing procedure or
function
• Support for both Procedures and
Functions
• Procedures perform an action
• Functions compute a value
• Named PL/SQL blocks that can
be called with a set of
parameters
• Starts with the PROCEDURE or
FUNCTION key word
“A named procedure defined and used inside another procedure or function”
SQL> CREATE OR REPLACE PROCEDURE HR.DBA_WEEK AS
2 PROCEDURE DBA_TASK (day VARCHAR2) AS
3 BEGIN
4 IF day = 'MONDAY' THEN
5 DBMS_OUTPUT.PUT_LINE('Checking log files.');
6 ELSIF day = 'FRIDAY' THEN
7 DBMS_OUTPUT.PUT_LINE('Rebuild indexes.');
8 ELSE
9 DBMS_OUTPUT.PUT_LINE('Reading some papers.');
10 END IF;
11 END;
12 BEGIN
13 DBA_TASK('MONDAY');
14 DBA_TASK('TUESDAY');
15 END;
16 /
SQL> EXECUTE DBA_WEEK;
Checking log files.
Reading some papers.
EDB: Oracle Compatible Nested Sub Procedures
Simple Procedure Example
Nested
Sub Procedure
Main
Procedure
EDB: Oracle Compatible Nested Sub Procedures
Simple Function example
SQL> CREATE OR REPLACE PROCEDURE SUM_TEST AS
2 FUNCTION MY_SUM(X NUMBER, Y NUMBER)
3 RETURN NUMBER AS
4 BEGIN
5 RETURN X + Y;
6 END;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('3 + 5 = ' ||
9 TO_CHAR(MY_SUM(3,5)));
10 DBMS_OUTPUT.PUT_LINE('5 + 3 = ' ||
11 TO_CHAR(MY_SUM(5,3)));
12 END;
13 /
SQL> EXECUTE SUM_TEST;
3 + 5 = 8
5 + 3 = 8
Nested
Sub Function
Main
Procedure
EDB Advanced Server:
Compatibility with Oracle
• EDBLDR compatibility with Oracle SQLLDR
• Oracle Style Parallel Hints
• OLD and NEW
• Compatible “all_directories” View
Additional features
EDB Advanced Server:
Compatibility with Oracle
EDBLDR:
• NULLIF
• SELECT EXPRESSIONS
• Datatype(length)
• BOUNDFILLER
• Column name in when
clause
Examples:
• deptno POSITION(1:2) INTEGER EXTERNAL(2) NULLIF
deptno=BLANKS,
• job POSITION (15:23) "(SELECT dname FROM dept WHERE deptno
= :deptno)”
• RECORD_CODE BOUNDFILLER CHAR(3)
• c1,
field2 BOUNDFILLER,
field3 BOUNDFILLER,
c2 ":field2 || :field3”
• WHEN (1:3) = “200” now WHEN EMPNO= “200”
Additional features
EDB Advanced Server: Performance
Partitioning:
• Fast Pruning for more datatypes (varchar, smallint)
• Fast Pruning for Prepared Statements
• Exchange Partition Improvements (compatible with Oracle
behavior)
Parallelism:
• Parallel Clause within SPL Package Body (Parallel safe or
unsafe)
dblink:
• Join pushdown
• Sort pushdown
Highlights
PostgreSQL 9.6
Parallelism:
• Sequential Scan
• Nested Loops and Hash
Joins
• Aggregates
• Group Locking
Phase 1:
• Better performance for read
only transactions
• Sequential scan, Aggregations,
Hash Joins and Nested Loops
can be parallelized
• Parallel infrastructure:
designate a group of
processes whose locks will be
mutually non-conflicting
Highlights
PostgreSQL 9.6
PostgreSQL FDW:
• Join pushdown
• DML pushdown
• Sort pushdown
• Sorted Joins pushdown
• Push processing to the remote
system to minimize I/O
Highlights
PostgreSQL 9.6
• Snapshot too old
• Freeze Map
• Reduce BLOAT when long
running queries prevented
VACUUM from running
• New bit in the freeze map lets
VACUUM skip frozen pages
Highlights
PostgreSQL 9.6
• Multiple Synchronous standbys
• Full Text search for Phrases
• Monitoring:
• VACUUM Progress checker
• pg_stat_activity improvements
• Synchronous Replication now supports
multiple standby servers
• Support searching for Phrases (adjacent,
distance)
• Progress reporting for VACUUM
operations
• Waits for lightweight locks and buffer
pins are now shown in pg_stat_activity
(until now only heavyweight locks were)
Highlights
Backup and Recovery: BART 2.0
• Complete, hot, physical backups of multiple local or remote
Postgres servers
• Block level Incremental backup
• Policy enforced management of files required for recovery
• Store backup data in compressed formats
• Verify backup data with MD5 checksum
• Disk space awareness
• Rich reporting to show backup time, size, WAL file information
• Optional friendly name for backups
Simplify and reduces errors with a system-wide catalog and command line tool that allows online
backup and recovery across local and remote PostgreSQL and PPAS Servers.
Block Level Incremental Backup
Supported with Postgres 9.5+
• WAL from DB scanned using the XLogReader API.
Basic concept -
• WAL scanner runs in the background & identifies data
that has changed and the location of the modified
blocks.
• BAR generates an MBM (Modified Block Map) file for
each WAL that indicates which blocks have changed.
• A harvester process creates a CBM (Consolidated
Block Map) out of the MBMs and fetches modified
blocks.
• Restore process copies blocks from CBM to restored
server.
Incremental Backup decreases amount of time required for backup and minimizes the
amount of storage required
Postgres 9.5+
WAL Files
BAR 1.2
1) WAL Scanner identifies modified
blocks
2) Harvester collects modified blocks
direct from DBServer
3) Restore process copies modified
blocks from backup server. Drop
or truncate actions result
in file removal or truncation
basebackup
Modified blocks
fetched via libpq
Replication Solutions for Postgres
Native Replication in Postgres EDB Replication Server
Full database replication only Table based replication with row level
filtering support
Read only replicas with no multi master
capabilities
Options for read only or multi master
No replication to non-Postgres sources Replicate to and from Oracle 10g, 11g, 12c*
and SQL Server 2005, 2008, 2014*
Minimal cross version replication Replication across PostgreSQL and EDB
Postgres Advanced Server 9.1 to 9.6
* Updated in 6.1
EDB Replication Server Highlights
• Distributed Publication / Subscription Architecture
• 6.1 updates support for Oracle 12c, SQL Server 2014
• Snapshot and continuous synchronization modes
• 6.0 added Log Based replication from Postgres
• 6.1 optimizes for parallel synchronization with multiple active nodes
• Replicate one or more tables
• 6.0 added pattern matching selection rules for easier to configure publication tables
• Define and apply row filters
• Flexible replication scheduler
• Supports cascading replication
• Replication History Viewer
• Graphical Console and CLI
Recap - EDB Postgres Platform Update – Winter 2017
EDB Postgres Advanced Server 9.6
• Migrate more applications from Oracle and support ISVs
• Manage larger data sets
• Faster analytic queries
• Build more robust clustering, scale out & integration solutions
• Improved monitoring
Backup and Recovery 2.0
• Faster backups with block level incremental change capture
Replication Server 6.1
• Updated support for Oracle 12c, SQL Server 2014
• Parallel replication for multi master improves performance with
multiple active nodes
QUESTIONS?
24
25

More Related Content

What's hot

Top 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres DeploymentTop 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres Deployment
EDB
 

What's hot (20)

Active/Active Database Solutions with Log Based Replication in xDB 6.0
Active/Active Database Solutions with Log Based Replication in xDB 6.0Active/Active Database Solutions with Log Based Replication in xDB 6.0
Active/Active Database Solutions with Log Based Replication in xDB 6.0
 
Enterprise PostgreSQL - EDB's answer to conventional Databases
Enterprise PostgreSQL - EDB's answer to conventional DatabasesEnterprise PostgreSQL - EDB's answer to conventional Databases
Enterprise PostgreSQL - EDB's answer to conventional Databases
 
Technical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPASTechnical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPAS
 
Top 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres DeploymentTop 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres Deployment
 
An Expert Guide to Migrating Legacy Databases to PostgreSQL
An Expert Guide to Migrating Legacy Databases to PostgreSQLAn Expert Guide to Migrating Legacy Databases to PostgreSQL
An Expert Guide to Migrating Legacy Databases to PostgreSQL
 
Best Practices for Becoming an Exceptional Postgres DBA
Best Practices for Becoming an Exceptional Postgres DBA Best Practices for Becoming an Exceptional Postgres DBA
Best Practices for Becoming an Exceptional Postgres DBA
 
Simplify Consolidation with Oracle Database 12c
Simplify Consolidation with Oracle Database 12cSimplify Consolidation with Oracle Database 12c
Simplify Consolidation with Oracle Database 12c
 
What's New in PostgreSQL 9.3
What's New in PostgreSQL 9.3What's New in PostgreSQL 9.3
What's New in PostgreSQL 9.3
 
Overview of Postgres 9.5
Overview of Postgres 9.5 Overview of Postgres 9.5
Overview of Postgres 9.5
 
Hello World with EDB Postgres
Hello World with EDB PostgresHello World with EDB Postgres
Hello World with EDB Postgres
 
Migrating from Oracle to Postgres
Migrating from Oracle to PostgresMigrating from Oracle to Postgres
Migrating from Oracle to Postgres
 
The Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesThe Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle Databases
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenDie 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
 
What's New in PostgreSQL 9.6
What's New in PostgreSQL 9.6What's New in PostgreSQL 9.6
What's New in PostgreSQL 9.6
 
Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus
 
Expanding with EDB Postgres Advanced Server 9.5
Expanding with EDB Postgres Advanced Server 9.5Expanding with EDB Postgres Advanced Server 9.5
Expanding with EDB Postgres Advanced Server 9.5
 
Which Postgres is Right for You?
Which Postgres is Right for You? Which Postgres is Right for You?
Which Postgres is Right for You?
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
 
5 Postgres DBA Tips
5 Postgres DBA Tips5 Postgres DBA Tips
5 Postgres DBA Tips
 
Oracle 12c PDB insights
Oracle 12c PDB insightsOracle 12c PDB insights
Oracle 12c PDB insights
 

Viewers also liked

Viewers also liked (19)

Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to Postgres
 
Postgres Point-in-Time Recovery
Postgres Point-in-Time RecoveryPostgres Point-in-Time Recovery
Postgres Point-in-Time Recovery
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLMigration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQL
 
Oracle to Postgres Migration - part 1
Oracle to Postgres Migration - part 1Oracle to Postgres Migration - part 1
Oracle to Postgres Migration - part 1
 
Business Continuity Considerations for a More Reliable Postgres Environment
Business Continuity Considerations for a More Reliable Postgres EnvironmentBusiness Continuity Considerations for a More Reliable Postgres Environment
Business Continuity Considerations for a More Reliable Postgres Environment
 
Reducing the Risks of Migrating Off Oracle
Reducing the Risks of Migrating Off OracleReducing the Risks of Migrating Off Oracle
Reducing the Risks of Migrating Off Oracle
 
Which Postgres is Right for You? - Part 2
Which Postgres is Right for You? - Part 2Which Postgres is Right for You? - Part 2
Which Postgres is Right for You? - Part 2
 
Optimizing Your Postgres ROI Through Best Practices
Optimizing Your Postgres ROI Through Best PracticesOptimizing Your Postgres ROI Through Best Practices
Optimizing Your Postgres ROI Through Best Practices
 
Which Postgres is Right for You? Part 3
Which Postgres is Right for You? Part 3Which Postgres is Right for You? Part 3
Which Postgres is Right for You? Part 3
 
Postgres in Production - Best Practices 2014
Postgres in Production - Best Practices 2014Postgres in Production - Best Practices 2014
Postgres in Production - Best Practices 2014
 
Oracle to Postgres Migration - part 2
Oracle to Postgres Migration - part 2Oracle to Postgres Migration - part 2
Oracle to Postgres Migration - part 2
 
Introducing EDB Failover Manager
Introducing EDB Failover ManagerIntroducing EDB Failover Manager
Introducing EDB Failover Manager
 
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
 
Useful PostgreSQL Extensions
Useful PostgreSQL ExtensionsUseful PostgreSQL Extensions
Useful PostgreSQL Extensions
 
PostgreSQL 9.6 Performance-Scalability Improvements
PostgreSQL 9.6 Performance-Scalability ImprovementsPostgreSQL 9.6 Performance-Scalability Improvements
PostgreSQL 9.6 Performance-Scalability Improvements
 
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!
 
Postgres Enterprise Manager 4.0 Overview
Postgres Enterprise Manager 4.0 Overview Postgres Enterprise Manager 4.0 Overview
Postgres Enterprise Manager 4.0 Overview
 
Introducing Postgres Enterprise Manager 5.0
Introducing Postgres Enterprise Manager 5.0Introducing Postgres Enterprise Manager 5.0
Introducing Postgres Enterprise Manager 5.0
 
PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)
PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)
PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)
 

Similar to Product Update: EDB Postgres Platform 2017

COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
Alfredo Abate
 
Built-in-Physical-and-Logical-Replication-in-Postgresql-Firat-Gulec.pptx
Built-in-Physical-and-Logical-Replication-in-Postgresql-Firat-Gulec.pptxBuilt-in-Physical-and-Logical-Replication-in-Postgresql-Firat-Gulec.pptx
Built-in-Physical-and-Logical-Replication-in-Postgresql-Firat-Gulec.pptx
nadirpervez2
 

Similar to Product Update: EDB Postgres Platform 2017 (20)

Fudcon talk.ppt
Fudcon talk.pptFudcon talk.ppt
Fudcon talk.ppt
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
 
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
 
Chapter 11new
Chapter 11newChapter 11new
Chapter 11new
 
Oracle database 12c intro
Oracle database 12c introOracle database 12c intro
Oracle database 12c intro
 
Tarabica 2019 (Belgrade, Serbia) - SQL Server performance troubleshooting
Tarabica 2019 (Belgrade, Serbia) - SQL Server performance troubleshootingTarabica 2019 (Belgrade, Serbia) - SQL Server performance troubleshooting
Tarabica 2019 (Belgrade, Serbia) - SQL Server performance troubleshooting
 
Oracle database 12.2 new features
Oracle database 12.2 new featuresOracle database 12.2 new features
Oracle database 12.2 new features
 
Reduce planned database down time with Oracle technology
Reduce planned database down time with Oracle technologyReduce planned database down time with Oracle technology
Reduce planned database down time with Oracle technology
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
 
SQL Server vs Postgres
SQL Server vs PostgresSQL Server vs Postgres
SQL Server vs Postgres
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
 
Redshift overview
Redshift overviewRedshift overview
Redshift overview
 
Vijfhart thema-avond-oracle-12c-new-features
Vijfhart thema-avond-oracle-12c-new-featuresVijfhart thema-avond-oracle-12c-new-features
Vijfhart thema-avond-oracle-12c-new-features
 
Built-in-Physical-and-Logical-Replication-in-Postgresql-Firat-Gulec.pptx
Built-in-Physical-and-Logical-Replication-in-Postgresql-Firat-Gulec.pptxBuilt-in-Physical-and-Logical-Replication-in-Postgresql-Firat-Gulec.pptx
Built-in-Physical-and-Logical-Replication-in-Postgresql-Firat-Gulec.pptx
 
Oracle 12c Multi Tenant
Oracle 12c Multi TenantOracle 12c Multi Tenant
Oracle 12c Multi Tenant
 
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte Data
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte DataProblems with PostgreSQL on Multi-core Systems with MultiTerabyte Data
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte Data
 
Postgres in Amazon RDS
Postgres in Amazon RDSPostgres in Amazon RDS
Postgres in Amazon RDS
 
Retour d'expérience d'un environnement base de données multitenant
Retour d'expérience d'un environnement base de données multitenantRetour d'expérience d'un environnement base de données multitenant
Retour d'expérience d'un environnement base de données multitenant
 

More from EDB

EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021
EDB
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?
EDB
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAIN
EDB
 

More from EDB (20)

Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSCloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQL
 
Las Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLLas Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQL
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQL
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQL
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresPractical Partitioning in Production with Postgres
Practical Partitioning in Production with Postgres
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAIN
 
IOT with PostgreSQL
IOT with PostgreSQLIOT with PostgreSQL
IOT with PostgreSQL
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
 
Psql is awesome!
Psql is awesome!Psql is awesome!
Psql is awesome!
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJ
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos données
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoCloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - Italiano
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJ
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 

Recently uploaded

Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
shivangimorya083
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
AroojKhan71
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
amitlee9823
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...
shambhavirathore45
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
JohnnyPlasten
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
shivangimorya083
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 

Recently uploaded (20)

Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 

Product Update: EDB Postgres Platform 2017

  • 1. Product Update EDB Postgres Platform 2017 1 Advances in Postgres Set New Digital Business Standard: More Workloads, Larger Data Sets, and Greater Integration
  • 2. Agenda • An Overview of EDB Technologies • EDB Postgres Platform Update – Winter 2017 • EDB Postgres Advanced Server 9.6 • Backup and Recovery 2.0 • Replication Server 6.1
  • 4. EDB Postgres Platform Update – Winter 2017 EDB Postgres Advanced Server 9.6 • Migrate more applications from Oracle and support ISVs • Manage larger data sets • Faster analytic queries • Build more robust clustering, scale out & integration solutions • Improved monitoring Backup and Recovery 2.0 • Faster backups with block level incremental change capture Replication Server 6.1 • Updated support for Oracle 12c, SQL Server 2012 • Parallel replication for multi master improves performance with multiple active nodes
  • 5. Feature Highlights for Postgres Advanced Server 9.6 • DBMS_AQ Advance Queuing • Nested Sub-procedures • Partitioned Table performance enhancements • EDBLDR Enhancements • Oracle compatibility features PostgreSQL 9.6Postgres Advanced Server 9.6 • Parallel sequential scans, joins and aggregates • Elimination of repetitive scanning of old data by autovacuum • Synchronous replication support for multiple standby servers • Full-text search for phrases • Support for remote joins, sorts, and updates in postgres_fdw Focus on Security, Scalability, and Enterprise Readiness
  • 6. EDB: Oracle Compatible DBMS_AQ: • Business applications communicate with each other • Producer applications enqueue messages • Consumer applications dequeue messages • Implemented in database tables • Standard database features apply • Recovery • Restart • Security Advanced Queuing provides database-integrated message queuing functionality
  • 7. EDB: Oracle Compatible DBMS_AQ: • DBMS_AQADM.CREATE_QUEUE_TABLE: Creates a new queue table that can physically hold any number of queues. • DBMS_AQADM.CREATE_QUEUE: Creates a new queue in an existing queue table. • DBMS_AQADM.DROP_QUEUE: Drops an existing queue. • DBMS_AQADM.DROP_QUEUE_TABLE: Drops an existing queue table. • DBMS_AQADM.ALTER_QUEUE: Modifies an existing queue. • DBMS_AQADM.ALTER_QUEUE_TABLE: Modifies an existing queue table. • DBMS_AQADM.START_QUEUE: Enables enqueuing and/or dequeuing in an existing queue. • DBMS_AQADM.STOP_QUEUE: Disables enqueue and/or dequeue in existing queue. • DBMS_AQ.ENQUEUE: Posts a message to a queue. Messages can optionally be delayed, so that they are not available for dequeuing for a certain number of seconds. Messages can optionally have an expiry time limit, so that they will expire and move to the exception queue if they are not dequeued after a certain number of seconds. • DBMS_AQ.DEQUEUE: Retrieves a message from a queue if one is available, and optionally waits for one to become available. • DBMS_AQ.REGISTER: Registers a callback procedure that will be invoked in a background worker when messages are enqueued. • DBMS_AQ.UNREGISTER: Unregisters a callback procedure previously registered with REGISTER. Packages: DBMS_AQ and DBMS_AQADM
  • 8. Advantages of Advanced Queuing • Interactions are integrated with database transactions, so messages are only enqueued or dequeued if a transaction commits. • Simple asynchronous processing using background workers and any supported stored procedure language. • Queue operations can be used in triggers. • A system of retries and exception handling is integrated with database transactions. • No extra services/daemons required. • Messages are persistent and covered by existing backup procedures.
  • 9. EDB: Oracle Compatible Nested Sub Procedures • Defined in the declaration part of the enclosing procedure or function • Support for both Procedures and Functions • Procedures perform an action • Functions compute a value • Named PL/SQL blocks that can be called with a set of parameters • Starts with the PROCEDURE or FUNCTION key word “A named procedure defined and used inside another procedure or function”
  • 10. SQL> CREATE OR REPLACE PROCEDURE HR.DBA_WEEK AS 2 PROCEDURE DBA_TASK (day VARCHAR2) AS 3 BEGIN 4 IF day = 'MONDAY' THEN 5 DBMS_OUTPUT.PUT_LINE('Checking log files.'); 6 ELSIF day = 'FRIDAY' THEN 7 DBMS_OUTPUT.PUT_LINE('Rebuild indexes.'); 8 ELSE 9 DBMS_OUTPUT.PUT_LINE('Reading some papers.'); 10 END IF; 11 END; 12 BEGIN 13 DBA_TASK('MONDAY'); 14 DBA_TASK('TUESDAY'); 15 END; 16 / SQL> EXECUTE DBA_WEEK; Checking log files. Reading some papers. EDB: Oracle Compatible Nested Sub Procedures Simple Procedure Example Nested Sub Procedure Main Procedure
  • 11. EDB: Oracle Compatible Nested Sub Procedures Simple Function example SQL> CREATE OR REPLACE PROCEDURE SUM_TEST AS 2 FUNCTION MY_SUM(X NUMBER, Y NUMBER) 3 RETURN NUMBER AS 4 BEGIN 5 RETURN X + Y; 6 END; 7 BEGIN 8 DBMS_OUTPUT.PUT_LINE('3 + 5 = ' || 9 TO_CHAR(MY_SUM(3,5))); 10 DBMS_OUTPUT.PUT_LINE('5 + 3 = ' || 11 TO_CHAR(MY_SUM(5,3))); 12 END; 13 / SQL> EXECUTE SUM_TEST; 3 + 5 = 8 5 + 3 = 8 Nested Sub Function Main Procedure
  • 12. EDB Advanced Server: Compatibility with Oracle • EDBLDR compatibility with Oracle SQLLDR • Oracle Style Parallel Hints • OLD and NEW • Compatible “all_directories” View Additional features
  • 13. EDB Advanced Server: Compatibility with Oracle EDBLDR: • NULLIF • SELECT EXPRESSIONS • Datatype(length) • BOUNDFILLER • Column name in when clause Examples: • deptno POSITION(1:2) INTEGER EXTERNAL(2) NULLIF deptno=BLANKS, • job POSITION (15:23) "(SELECT dname FROM dept WHERE deptno = :deptno)” • RECORD_CODE BOUNDFILLER CHAR(3) • c1, field2 BOUNDFILLER, field3 BOUNDFILLER, c2 ":field2 || :field3” • WHEN (1:3) = “200” now WHEN EMPNO= “200” Additional features
  • 14. EDB Advanced Server: Performance Partitioning: • Fast Pruning for more datatypes (varchar, smallint) • Fast Pruning for Prepared Statements • Exchange Partition Improvements (compatible with Oracle behavior) Parallelism: • Parallel Clause within SPL Package Body (Parallel safe or unsafe) dblink: • Join pushdown • Sort pushdown Highlights
  • 15. PostgreSQL 9.6 Parallelism: • Sequential Scan • Nested Loops and Hash Joins • Aggregates • Group Locking Phase 1: • Better performance for read only transactions • Sequential scan, Aggregations, Hash Joins and Nested Loops can be parallelized • Parallel infrastructure: designate a group of processes whose locks will be mutually non-conflicting Highlights
  • 16. PostgreSQL 9.6 PostgreSQL FDW: • Join pushdown • DML pushdown • Sort pushdown • Sorted Joins pushdown • Push processing to the remote system to minimize I/O Highlights
  • 17. PostgreSQL 9.6 • Snapshot too old • Freeze Map • Reduce BLOAT when long running queries prevented VACUUM from running • New bit in the freeze map lets VACUUM skip frozen pages Highlights
  • 18. PostgreSQL 9.6 • Multiple Synchronous standbys • Full Text search for Phrases • Monitoring: • VACUUM Progress checker • pg_stat_activity improvements • Synchronous Replication now supports multiple standby servers • Support searching for Phrases (adjacent, distance) • Progress reporting for VACUUM operations • Waits for lightweight locks and buffer pins are now shown in pg_stat_activity (until now only heavyweight locks were) Highlights
  • 19. Backup and Recovery: BART 2.0 • Complete, hot, physical backups of multiple local or remote Postgres servers • Block level Incremental backup • Policy enforced management of files required for recovery • Store backup data in compressed formats • Verify backup data with MD5 checksum • Disk space awareness • Rich reporting to show backup time, size, WAL file information • Optional friendly name for backups Simplify and reduces errors with a system-wide catalog and command line tool that allows online backup and recovery across local and remote PostgreSQL and PPAS Servers.
  • 20. Block Level Incremental Backup Supported with Postgres 9.5+ • WAL from DB scanned using the XLogReader API. Basic concept - • WAL scanner runs in the background & identifies data that has changed and the location of the modified blocks. • BAR generates an MBM (Modified Block Map) file for each WAL that indicates which blocks have changed. • A harvester process creates a CBM (Consolidated Block Map) out of the MBMs and fetches modified blocks. • Restore process copies blocks from CBM to restored server. Incremental Backup decreases amount of time required for backup and minimizes the amount of storage required Postgres 9.5+ WAL Files BAR 1.2 1) WAL Scanner identifies modified blocks 2) Harvester collects modified blocks direct from DBServer 3) Restore process copies modified blocks from backup server. Drop or truncate actions result in file removal or truncation basebackup Modified blocks fetched via libpq
  • 21. Replication Solutions for Postgres Native Replication in Postgres EDB Replication Server Full database replication only Table based replication with row level filtering support Read only replicas with no multi master capabilities Options for read only or multi master No replication to non-Postgres sources Replicate to and from Oracle 10g, 11g, 12c* and SQL Server 2005, 2008, 2014* Minimal cross version replication Replication across PostgreSQL and EDB Postgres Advanced Server 9.1 to 9.6 * Updated in 6.1
  • 22. EDB Replication Server Highlights • Distributed Publication / Subscription Architecture • 6.1 updates support for Oracle 12c, SQL Server 2014 • Snapshot and continuous synchronization modes • 6.0 added Log Based replication from Postgres • 6.1 optimizes for parallel synchronization with multiple active nodes • Replicate one or more tables • 6.0 added pattern matching selection rules for easier to configure publication tables • Define and apply row filters • Flexible replication scheduler • Supports cascading replication • Replication History Viewer • Graphical Console and CLI
  • 23. Recap - EDB Postgres Platform Update – Winter 2017 EDB Postgres Advanced Server 9.6 • Migrate more applications from Oracle and support ISVs • Manage larger data sets • Faster analytic queries • Build more robust clustering, scale out & integration solutions • Improved monitoring Backup and Recovery 2.0 • Faster backups with block level incremental change capture Replication Server 6.1 • Updated support for Oracle 12c, SQL Server 2014 • Parallel replication for multi master improves performance with multiple active nodes
  • 25. 25

Editor's Notes

  1. The WAL scanner can run in the background as a dameon that scans each WAL that is sent to the BART system
  2. PostgreSQL offers what is called streaming replication. Streaming replication is available between the same version of Postgres and creates a copy of a master database cluster on a replica. This can be used for high availability in case of a failure of the master and to offload read queries for better performance. Each replica will have the exact same data set as the master. Streaming replication does not allow the replication of a subset of data. In many cases streaming replication is a viable and reliable solution. However, a failover will incur downtime. We offer EDB Postgres Failover Manager to detect failures and automate a failover to minimize this downtime. If your requirements in your high availability or replication solution are beyond this scope EDB offers EDB Postgres Replication Server.