25
Product Update EDB Postgres Platform 2017 1 Advances in Postgres Set New Digital Business Standard: More Workloads, Larger Data Sets, and Greater Integration

Product Update: EDB Postgres Platform 2017

Embed Size (px)

Citation preview

Page 1: Product Update: EDB Postgres Platform 2017

1

Product UpdateEDB Postgres Platform 2017

Advances in Postgres Set New Digital Business Standard: More Workloads, Larger Data Sets, and Greater Integration

Page 2: Product Update: EDB Postgres Platform 2017

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

Page 3: Product Update: EDB Postgres Platform 2017

EDB Technologies Updates in Winter 2017

Page 4: Product Update: EDB Postgres Platform 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

Page 5: Product Update: EDB Postgres Platform 2017

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 aggregatesElimination of repetitive scanning of old data by autovacuumSynchronous replication support for multiple standby servers Full-text search for phrasesSupport for remote joins, sorts, and updates in postgres_fdw

Focus on Security, Scalability, and Enterprise Readiness

Page 6: Product Update: EDB Postgres Platform 2017

EDB: Oracle Compatible DBMS_AQ:

• Business applications communicate with each other

• Producer applications enqueue messages

• Consumer applications dequeue messages

Implemented in database tablesStandard database features apply

• Recovery• Restart• Security

Advanced Queuing provides database-integrated message queuing functionality

Page 7: Product Update: EDB Postgres Platform 2017

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

Page 8: Product Update: EDB Postgres Platform 2017

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.

Page 9: Product Update: EDB Postgres Platform 2017

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”

Page 10: Product Update: EDB Postgres Platform 2017

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

Page 11: Product Update: EDB Postgres Platform 2017

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

Page 12: Product Update: EDB Postgres Platform 2017

EDB Advanced Server: Compatibility with Oracle

• EDBLDR compatibility with Oracle SQLLDR• Oracle Style Parallel Hints• OLD and NEW• Compatible “all_directories” View

Additional features

Page 13: Product Update: EDB Postgres Platform 2017

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

Page 14: Product Update: EDB Postgres Platform 2017

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

Page 15: Product Update: EDB Postgres Platform 2017

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

Page 16: Product Update: EDB Postgres Platform 2017

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

Page 17: Product Update: EDB Postgres Platform 2017

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

Page 18: Product Update: EDB Postgres Platform 2017

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

Page 19: Product Update: EDB Postgres Platform 2017

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.

Page 20: Product Update: EDB Postgres Platform 2017

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

Page 21: Product Update: EDB Postgres Platform 2017

Replication Solutions for Postgres

Native Replication in Postgres EDB Replication ServerFull database replication only Table based replication with row level

filtering supportRead 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

Page 22: Product Update: EDB Postgres Platform 2017

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

Page 23: Product Update: EDB Postgres Platform 2017

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

Page 24: Product Update: EDB Postgres Platform 2017

24

QUESTIONS?

Page 25: Product Update: EDB Postgres Platform 2017

25