data replication with advanced replication & oracle streams john abrahams technology sales...

57

Upload: frederica-mason

Post on 28-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland
Page 2: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Data Replication with Advanced Replication &

Oracle Streams

John AbrahamsTechnology Sales ConsultantOracle Nederland

Page 3: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

What is Replication

Multiple copies of data at different sites Increased availability Manual data replication implementations

– Export/Import– CREATE TABLE AS SELECT FROM

REMOTETABLE– COPY

Page 4: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Oracle9i Features for Information Sharing Features Introduced In Prior Releases

– Data Guard – Physical Standby Database– Advanced Queuing -- Message Queuing– Advanced Replication -- Replication of

Data– Change Data Capture -- DW Loading

Features available in Oracle9iR2– Oracle Streams -- a comprehensive

information sharing solution– Data Guard -- Logical Standby Database

based on Oracle Streams

Page 5: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Oracle Advanced Replication

Page 6: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Oracle9i Replication Technology

Oracle9i provides built-in technology to create and manage replicated environments

– Integrated, no add-ons, no special commands– Managed with Oracle Enterprise Manager

Advanced data replication technology– Bi-directional, all copies potentially updatable– Automatic conflict detection and resolution– Tables and supporting objects– Full copies or subsets– DDL (schema changes) as well as DML (transactions)– Continuous or on demand replication

Page 7: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Architectural OverviewSingle master replication

Single, updatable master Multiple updatable or

read-only materialized views (snapshots)

– Full copies or subsets of master

All conflicts resolved at parent site of materialized view

Oracle9i standard edition

master

materialized view

materialized view

master materialized

view

Page 8: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Support for multiple, n-way connected, updatable masters

Improves scalability and availability Oracle9i Enterprise Edition

mastermaster

master

M View

M View

M View

Master M View

M View

Architectural OverviewMultiple master replication

Page 9: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Master vs. Materialized View Replication

Multimaster Materialized View

• Server-to-Server • Mass Deployment

• Large number of small remote sites

• HQ and regional offices

• Continuous, near real- time data propagation

• Periodic Bulk Transfer

• Updates per transaction

• Final Values of Changed Rows Only

• Full Copies • Subsets or Full Copies

Page 10: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Advanced Replication Key Features Near real-time replication (multimaster)

– Parallel data propagation– Multiple, pre-defined conflict resolution methods

Mass deployment (materialized views)– subquery materialized views– deployment templates– multitier materialized views

Oracle Enterprise Manager for configuration and administration

Specialized options: procedural and synchronous replication

Page 11: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Near Real-time Replication Benefits:

– availability, scalability, failover

Uses:– Telesales, support

Requirements:– Efficient data capture and storage– Efficient data propagation– Continuous data propagation– Automatic resolution of conflicting updates

Page 12: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Architectural OverviewMultimaster

Groups of related schema objects kept in synch at multiple locations

Sites communicate by broadcasting changes to all other sites

mastermaster

master

Page 13: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Replication Objects

Database object replication to multiple servers

The following database objects can be replicated– Tables, Indexes, Views, Synonyms,

Triggers– Packages, Procedures, Functions– Advanced Data Types

User-Defined Types, Indextypes Tables with column objects, object tables Nested Tables, Varrays

Page 14: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Efficient Data Capture and Storage

Committed changes are added to queue for later propagation to remote sites

– Enqueued using advanced queueing mechanism

– Captured and applied using internal C code

– Minimum data needed to apply change is captured

Updates

Internal Trigger

Advanced Queue

Source tables

Page 15: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland
Page 16: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland
Page 17: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Efficient Data Propagation

Queued changes are pushed to remote sites in parallel for improved performance– Single parallel stream– Maintains transactional consistency– Automatically detects transaction dependencies

If update…If delete…If insert...

If update…If delete…If insert...

internalprocedure

background process

Page 18: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Parallel Data Propagation

Dependencies– Transaction “B” is dependent on

transaction“A” if “B” accesses data “A” has updated

– Dependency detection is dynamic and light-weight

Ordering– Dependent transactions are propagated

in dependency order– All other transactions are propagated in

parallel

Page 19: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Continuous Propagation

Changes can be continuously propagated or at a fixed interval, fixed time, or on demand

Different intervals can be used for each location

Different intervals can be used for each group

Dynamic Views to monitor propagation activity and throughput

Page 20: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Automatic Conflict Resolution

Automatic conflict detection with user-selectable conflict resolution routines

– latest timestamp, earliest timestamp, maximum or minimum value, overwrite, priority group, discard, site priority, average, or additive

User-definable resolution routines Detection and resolution based on

column groups

Page 21: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Mass Deployment Replication Benefits:

– disconnected, updatable Uses:

– field sales, field service Requirements:

– Easily define unique subsets– Easily deploy to 100’s of sites– Support mobile users

refresh on demand

Page 22: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

– Full transactional consistency

– Efficient, batch-oriented refresh Scheduled or on demand Refresh groups preserve

master-detail relationships

– Updatable materialized views use deferred transactions to push changes to master

Architectural OverviewMaterialized Views

SELECT…FROM...

network

Master table

log

Materialized View

Updatable or read-only copy of a table, or portion of a table, at a point in time

Page 23: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Managing Advanced Replication

Page 24: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Specialized Options

Synchronous Replication– always up to date, no conflicts– slower response, network dependent

Procedural Replication– faster for batch processing– must be serialized, best done in off hours– useful for purging

Page 25: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Replication Summary

Full and subset Near realtime or on demand Graphical administration tool Sophisticated Functionality

– Efficient data capture and storage– Parallel data propagation– Automatic conflict detection and resolution– Subquery subsetting– Deployment templates– Multitier materialized views– Specialized options

Page 26: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Oracle Streams

Page 27: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Oracle Streams – Unified Messaging and Data Movement

Oracle Advanced Queuing (AQ)

Oracle Advanced Replication

Update Standby

Feed DataWarehouse

Messaging

Replication

Standby

Data Warehousing

Oracle Streams

Intelligent, Unified, Time-OrderedInformation Stream

Page 28: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Oracle Streams

A new solution for information sharing Provides a unified architecture for all

information sharing solutions– uniquely flexible replication– message queuing– data warehouse loading– event management and notification

The foundation of Data Guard Logical Standby Database

Page 29: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Streams Basic Elements

Three basic elements in each database– Capture– Staging– Consumption (apply)

ConsumptionConsumptionStagingStagingCaptureCapture

Page 30: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Multi-Database Streams

A stream can contain multiple elements from multiple databases

Events flow between staging areas

ConsumptionConsumptionStagingStagingCaptureCapture

ConsumptionConsumptionStagingStagingCaptureCapture

Page 31: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Capture

Streams captures events– Implicitly: log-based capture of DML and

DDL– Explicitly: Direct enqueue of user

messages

Captured events are published in the staging area

CaptureCapture

Page 32: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Log-Based Change Capture

Low overhead, low latency change capture– Changes to the database are written to the

online redo log– Oracle Streams can extract changes from the

log as it is written (mining the active log)– Changes are formatted as a Logical Change

Record (LCR), a SQL like representation of the change

CaptureCapture

Page 33: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Direct Enqueue

User applications can explicitly enqueue user messages into the staging area

– Multiple open interfaces supported: JMS, C, PLSQL, SOAP (XML/HTTP), XML/SMTP

– Allows applications to communicate at a higher level

– Allows users to introduce events into the stream from non-Oracle systems

CaptureCapture

Page 34: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Staging

Streams publishes captured events into a staging area– Implemented as a queue– Supports for new self-describing type “any”

datatype allows a single staging area to hold any type of data

– All events, LCRs and user-messages, can be staged in the same queue

– Messages remain in staging area until consumed by all subscribers

StagingStaging

Page 35: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Staging Area Propagation

Other staging areas can subscribe to events

– in same database

– in a remote database

Events can be routed through a series of staging areas

Propagation

StagingStaging

StagingStaging

Page 36: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Transformations

Transformations can be performed– as events enter the staging area– as events leave the staging area– as events propagate between staging areas

Transformation examples– change format, data type, column name,

table name

StagingStaging

Page 37: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Consumption

Staged events are consumed by subscribers

– Implicitly: Apply Process Default Apply User-Defined Apply

– Explictly: Application dequeue via open interfaces JMS, C, PLSQL, SOAP (XML/HTTP), XML/SMTP

ConsumptionConsumption

Page 38: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Default Apply

The default apply engine will directly apply the DML or DDL represented in the LCR

– apply to local Oracle table– apply via DB Link to non-Oracle table

Automatic conflict detection with optional resolution

– unresolved conflicts placed in exception queue

Parallel apply maximizes concurrency

ConsumptionConsumption

Page 39: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

User-defined Apply

User-written custom apply functions Written in PL/SQL, Java, C, C++ Uses:

– custom transformations– column subsetting– normalizing or denormalizing data– populating related fields or tables

ConsumptionConsumption

Page 40: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Rule-based Subscription

Consumers subscribe to published events Content-based subscriptions limit delivered

events to those meeting the subscription criteria

Rules govern capture, staging, and consumption

Staging Area

RulesEngine

PublishSubscribe

UPDATE EMP... UPDATE EMP...

WHERE OBJECT = ‘EMP’

Page 41: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

NYNY(master)(master)

LondonLondon(subset)(subset)

MilanMilan(subset)(subset)

ParisParis(subset)(subset)

Directed Networks

Propagation independent of Apply

Rules-based subscription determine if event is locally applied

– London applies UK only

WAN Friendly– Send once, fan out– NY-->London,

London-->Milan,London-->Paris

INSERT …VALUES (‘EUROPE’,’ ITALY’)

ITALY

EUROPE

FRANCE

Page 42: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Heterogeneous Support

Oracle to non-Oracle apply via gateway

– Apply process on Oracle node applies change

Non-Oracle to Oracle change capture supported via explicit enqueue of LCRs

Message Gateways– MQ Series– Tibco

LCR orLCR oruser messageuser message

GatewayGateway MessageMessageGatewayGateway

MQ SeriesMQ SeriesSybaseSybase

Page 43: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Streams Deployments

Streams can be deployed to meet a variety of information sharing requirements

– Replication– Data Warehouse Loading– Event Notification– Message Queuing– Data Guard Logical Standby Database

Page 44: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Replication Streams asynchronously maintains multiple

copies of objects via automatic apply– Identical objects– Related via a transformation or function

Streams automatically captures, propagates, and applies DML and DDL changes

– Detects and optionally resolves conflicts Supports flexible data movement and subsetting Gateways and APIs for heterogeneous support Compatible with Materialized Views

Page 45: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Replication

Benefits: – No quiesce for

DDL– Lower

overhead on production system

– Reduced network traffic

– Flexible configurations

Log-Log-basedbased CaptureCapture

StageStage DefaultDefaultApplyApply

Log-Log-basedbased CaptureCapture

StageStage DefaultDefaultApplyApply

PropagationPropagation

Page 46: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Data Warehouse Loading

Streams can load data warehouse staging areas and Operational Data Stores

– Updates captured from a production system– Messages and business events from a

process flow

Supports continuous or batch loading Automatically transforms data to

appropriate format and schema during Operational Data Store load

Page 47: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Data Warehouse Loading

Benefits: – low

overhead– automatic

transformation

– near real-time loading of operation data stores

StageStageUser-definedUser-definedApplyApply

PropagationPropagation

StageStageLog-Log-basedbased CaptureCapture

Production Database

Staging Table or ODS

Page 48: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Event Notification

Streams can notify subscribers that events of interest have occurred

– Pager notification of flight delays (Orbitz)– Notification of price drops (CNET Shopper)– Notification to sales manager of Gold

Customer purchase (CRM App)

Streams can evaluate DML events and send notifications to applications that send emails, page users, etc

– Users get information they want

Page 49: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Event Notification

Benefits: – scalable – reduced custom

development

Log-Log-basedbased CaptureCapture

StageStage ExplicitExplicitDequeueDequeue

Page 50: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Message Queuing Streams can be deployed as an enhanced

database integrated message queuing solution

– Point-to-point messaging, publish and subscribe– Single data, security and transactional model for

database and message queuing operations– Centrally managed and multi-consumer queues to

simplify configuration– Content-based subscriptions, internet access– Automatic dequeue to server-run user function– Automatic transform DML/DDL into messages

Page 51: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Message Queuing

Benefits: – Reduced

development costs– Easy database

integration– Single development,

operational, security model

– Reliability and integrity of database StageStage ExplicitExplicit

DequeueDequeue

PropagationPropagation

StageStageExplicitExplicitEnqueuEnqueu

ee

Source Database

Destination Database

Page 52: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Data Guard Logical Standby Database Multiple copies of data protects from

human and data errors, and disasters Special case of replication

– Entire database (by default)– One direction only

Streams supports reporting from standby as updates are applied

Data Guard adds higher level interface, tailored GUIs and broker

Page 53: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Data Guard Logical Standby Database

Benefits: – Open while

protecting data – Support near real-

time reporting from standby

– Protects from physical corruptions

– Additional indexes and materialized views

DefaultDefaultApplyApply

Remote LoggingRemote Logging

Log-Log-basedbased CaptureCapture

Production Database

Logical Standby Database

Page 54: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Other Oracle9i Information Sharing Features Advanced Replication

– provides compatible replication with Oracle 8, 8i, and 9i databases

– Migration path to Oracle Streams in future release Advanced Queuing

– Compatible with Oracle Streams– Most functionality offered in Streams– API’s retained for compatibility– Migration path to Oracle Streams in future release

Page 55: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Other Oracle9i Information Sharing Features Data Guard Physical Standby Database

– Uses media recovery mechanism to apply changes to database

– Creates an exact copy of the production database block-for-block copy Same version of Oracle, same

hardware/software architecture– Supports very high transaction workloads– Will coexist with Data Guard Logical

Standby Database

Page 56: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland

Summary

Oracle Streams unifies all enterprise information into a single Stream

– Unifies database, messaging, replication, publish/subscribe APIs and capabilities

Allows deployment of a variety of solutions

Provides a single, unified solution to the problem of Information Sharing

ConsumptionConsumptionStagingStagingCaptureCapture

Page 57: Data Replication with Advanced Replication & Oracle Streams John Abrahams Technology Sales Consultant Oracle Nederland