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
The WAL scanner can run in the background as a dameon that scans each WAL that is sent to the BART system
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.