IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2...

34
® IBM Software Group © 2004 IBM Corporation An Introduction to WebSphere Information Integrator Q Replication Tridex June 16, 2005 Beth Hamel DB2 Replication Product Architect [email protected]

Transcript of IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2...

Page 1: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

®

IBM Software Group

© 2004 IBM Corporation

An Introduction to WebSphere Information Integrator Q Replication

Tridex June 16, 2005

Beth HamelDB2 Replication Product [email protected]

Page 2: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Agenda Topics

The Basics of MQ Based Replication

Publishing DB2 data to MQ in an XML format

Application Examples of Replication and Publishing

Page 3: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Staging tables

SQL Replication Architecture

Flexible scheduling, transformation, distribution Typically used for business intelligence,

distribution and consolidation, applicationintegration

Log based

Trigger based

External application

IMSDB2

Sybase

Oracle SQLServer

Informix

Anysource

Admin

Control

FederationEngine

DB2

Sybase

Oracle SQLServer

Informix

Teradata

Nicknames

Apply

CD1CD

CD1CD

CD1CD

Control

Capture

Page 4: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Why Create Another Replication Architecture?

Performance: Combine highthroughput with low latency

Capability: Significantly improvemulti-directional replication support

New function: Event publishing,table difference utility

Manageability: Reduce thenumber of replication objects to bedefined and managed, ease thedefinition process with newReplication Center wizards

Page 5: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Q Replication Architecture

Each message represents a transaction Highly parallel apply process Differentiated conflict detection and resolution Integrated infrastructure for replication and publishing Staged availability of heterogeneous support

ControlControl

FederationEngine

Log based

Source

Admin

WebSphere MQ

Capture TargetApply

Utilities

Page 6: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

ADM INISTRATION

Q Replication – Q Subscription Process

ReplicationM onitor

ReplicationCenter

TGT3

TARGET

TGT1

Q ApplyBrowser

Apply Agent

Apply Agent

Apply Agent

TGT2

METADATASOURCESOURCE2

SOURCE1

METADATA

DB2 LogQ

Capture

Page 7: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Q Replication High Volume with Low Latency Performance

Performance of Q-Replication vs. SQL Replication - z/OS

0 5 10 15 20

Thousands

Workload Throughput (Rows / Second)

0

5

10

15

20

25

La

ten

cy

(Se

co

nd

s)

Q Rep SQL Rep

Q Repl

SQL Repl

Page 8: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Subscription Types

Unidirectional Changes are replicated in one direction between two

servers (i.e. from source to target)

Changes can be filtered and transformed Bidirectional

Changes are replicated in two directions between twoservers

Utilizes VALUE based conflict detection Peer to peer

Changes are replicated between 2 or more servers

Utilizes VERSION based conflict detection

Page 9: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Q Replication Multidirectional Configurations

Peer-to-peer– No master copy

– Guaranteed Convergence

– Version based conflict resolution

– Requires extra columns and triggers toprovide versioning of rows

– N nodes: N * (N-1) subscriptions

Bi-directional– One node prevails in case of conflicts

– Value based conflict resolution

– Uses old and new value datacomparisons

– 2 nodes only

Primary Secondary/backup

Page 10: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Q Replication – Defining Subsets or Filters

Subset data Subset of rows through Q Capture predicate on subscription/publication

Subset of columns through subscription/publication definition

Option included for ignoring deletes

Signal defined to allow user selected transactions to be ignored

Predicate examples Based on values in the row data itself

• WHERE :LOCATION ='EAST' AND :SALES > 100000

Based on values in other data• WHERE :LOCATION ='EAST' AND :SALES > (SELECT

SUM(expense) FROM STORES WHERE stores.deptno = :DEPTNO)

Page 11: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Q Replication - Transformations

Transformations achieved through: Triggers on the target table Publish event to User Application Stored Procedures called by Apply at the row level

COL1 COL2 COL3 COL4

Apply calls Stored Procedure ,mapping columns to input parms

InParm1InParm2InParm3InParm4

Update Target table Xwhere trg1 = “a”;

TRG1 TRG4TRG3TRG2

Stored Procedure performs logicand makes insert/update/delete

Page 12: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Apply Load Options A subscription is defined as either: automatic load, manual load, no

load required

Automatic load: Load is performed by Apply, with automatic coordination of the

simultaneous capture of changes, loading of the new table, and applyof changes to other tables.

Manual load: Load is performed by user, coordination is required, and will be

handled by user (with some help from our administration).

No load: No loading required, no coordination required, can immediately

capture and apply changes

Example: target system is built through backup/restore, withreplication started from an inactive source

Page 13: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Replication Administration Replication Center GUI

Launchpads, Wizards, Online Help

Definitions, Operations, Monitoring

Command Line InterfaceScripts or interactive mode

Example:

Java API’sTypically used when replication is embedded

C:\asnclpREPL > CREATE QSUB USING REPLQMAP ... REPL > CREATE SUBSCRIPTION SET SETNAME ...REPL > CREATE MEMBER IN SETNAME ...

Page 14: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Q Create Subscription Wizard

Create large numbers ofsubscriptions at a time!!

Page 15: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Table Reconciliation Utilities

ASNTDIFF Utility that compares a subscription’s source table (S) with its target table (T)

• Generates a table of differences between the twoo Rows in S but not in To Rows in T but not in So Rows in T and S, but with different values

• Checksum used to compare contents of entire row• Very similar concept to file compares such as UNIX diff command• Differences can be used to change source, target, or both

ASNTREP Utility that uses the table built by the tdiff utility and issues SQL to make table (T) match table (S)

S only T onlyIntersection of S and T

Page 16: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

New in 2005 – MQ Client Support

TGT3

TARGET

TGT1

Q ApplyBrowser

Apply Agent

Apply Agent

Apply Agent

TGT2

METADATASOURCE

SOURCE2

SOURCE1METADATA

DB2 LogQ

Capture

METADATA

MQ SERVER MQ SERVER

SEND QUEUE METADATA

RECV QUEUE

Distributed platforms only Allows separation of Database servers and

MQ servers Allows replication support on platforms

which currently lack MQ Server support

MQ CLIENT

MQ CLIENT

New – MQ Server not required onsource or target

Page 17: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Q ApplyBrowser

Apply Agent

Apply Agent

Apply Agent

METADATA

WEBSPHERE INFORMATION INTEGRATOR

METADATARECV QUEUE

TGT3

FEDERATED TARGET

TGT1

TGT2

METADATA

New in 2005 – Federated Targets

SOURCESOURCE2

SOURCE1METADATA

DB2 LogQ

Capture

METADATA

SEND QUEUE

Uses WebSphere II Federation Provides high speed parallel apply of

data New targets:

Oracle, Sybase (fp 9)

MS SQL Server, and Informix(fp10)

Page 18: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Why Publish Data?

Application to Application Messaging Drive downstream applications or APIs based on the transactional changed data of databaseevents

Reduce application development and maintenance, performance impact to source applications,and availability impact to source applications

Meet Auditing RequirementsCapture and store information regarding what changes were made to critical business data and bywhom

Event Notification Stream changed data information to Web interfaces

Stream only particular events of interest (filter data)

Warehouse / Business Intelligence Integrate captured changed data with an ETL tool

Perform very complex transformations

Use a specific transaction format to update target

Page 19: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Q Replication – Event Publication Process

ADM INISTRATION

ReplicationM onitor

ReplicationCenter TARGET

DB2 M QListener

SOURCESOURCE2

SOURCE1

METADATA

DB2 LogQ

Capture

UserApplication

UserStored

Procedure

UserApplication

WBI EventBroker

Page 20: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Event Publishing - Publication Options

Format Only data from committed transactions is published

Data is UTF-8, self describing with XML tags

Row based = one row per message

Transaction based = one transaction per message

Row Content Subset by column

Subset by predicate

Changed column values only or all column values

New data values only or include old values

Row sent on any change or only on published column changes

Suppress deletes

Page 21: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Capture data changes forclassic sources using logdata where available

Correlate by transactionswithin a single database

Publish onto messagequeue in XML format

Extending the value proposition of the MQ based replication and publishingarchitecture

VSAM IMSDB2 UDBfor z/OS

WS Information IntegratorEvent Publishers for z/OS

IDMS

Information Integrator Event Publishing for Classic Sources

Page 22: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

DB2 DataPropagator forz/OS

DB2 UDB sources and targets(DB2 for z/OS V7 and V8)

SQL Replication only

Event publishing to message queues

Available for DB2, IMS, or VSAM

DB2DataPropagator

WebSphere Information Integrator Replication

for z/OS

WebSphereInformation

Integrator EventPublisher for

z/OS

DB2 UDB sources and targets (DB2 forz/OS V7 and V8)

Includes SQL Replication, Q Replication,and DB2 Event Publisher

Replication and Event Publishing Products: z/OS

New!!!!WS II V8.2

New!!!!WS II V8.2

Page 23: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

DB2 LUW and Informix IDS sources and targets

SQL Replication only

DB2 LUW sources – note that Websphere MQ isbundled with this product

DB2DataPropagator

WebSphere Information Integrator Replication

Edition

WebSphere InformationIntegrator EventPublisher Edition

Includes SQL Replication, Q Replication, and DB2Event Publisher

DB2 LUW sources and targets ( Q Replication) –note that Websphere MQ is bundled with thisproduct

Multi-vendor sources and targets (SQL Replication)

DB2DataPropagator

DB2 LUW

Replication and Event Publishing Products: Distributed Platforms

New!!!!WS II V8.2

New!!!!WS II V8.2

Page 24: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Combining SQL and Q Replication with Event Publishing

SOURCE3

SOURCE2

SOURCE1

DB2 Log

Log Reader 1

Log Reader 2

Capture Schema „CAP1“

Q Capture Schema „CAP2“

Event Pub

Q Sub

CD2

CD1

Staging Tables

SQL Apply

Q Apply

User Application

TARGET1

TARGET2

SQL Replication and Q Replication can co-exist Managed at source by using multiple capture schemas

One Q Capture can handle both Publications and Subscriptions

Page 25: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Continuous Availability using Q Replication

Q Replication provides a solution for continuous availability wherethe active secondary system is also available for other applications

Q Capture

Primary Database

Read/Write Applications

Q Apply

Q Apply

Q Capture

Read Only Applications

Secondary DatabaseDSNA DSNB

Connection Available for FailoverPrimary Connection

Page 26: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Why Use Q Replication for Continuous Availability?

Advantages Allows the fastest switchover with transactionally consistent data

Excellent solution for scheduled outage• Allows flexibility of OS level, DB level, application level, data format• Can be easily tested and monitored

Allows for database read or write activity on secondary• secondary site may be used for other applications• is the only solution for geographically dispersed updateable databases

Can supplement other HA solutions

Allows for lower cost hardware or platform

Low impact on source applications

Disadvantages Asynchronous

• Some data is left behind in a failure scenario Application awareness is required (triggers, generated always columns)

Page 27: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

High Availability Disaster Recovery for DB2 LUW

Will not initially support reads at secondary, partitioned tables

Offers a complete solution for high availability –easy to implement, replicates the complete database

Log Buffer

db HADR Agent

Bufferpool(s)

Recovery Log Database Storage

db HADR Agent

Copied data is continuously applied using forward recovery

Log data is copied synchronously or asynchronously

Production Database Standby Database

database Agent

Bufferpool(s)

Recovery LogDatabase Storage

HADR Buffer

Page 28: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

High Availability - Q Replication compared with HADR

** Current restriction only ** Current restriction only

HADRSync, async, near-syncwhole DB2 databaseDDL, DMLvery simple to set up and managesimilar configurations onlyno support for unlogged LOBs1 read/write site only **No DPF

DB2 II Q based ReplicationNear real time asyncselected tables/columnsDML only **more complex to set up and managesites can be very differentcan support unlogged LOBsmultiple read and/or update sitesDPF ok

Page 29: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Peer to Peer Q Replication

Q Capture

Primary Database

Read/Write Applications

Q Apply

Q Apply

Q Capture

Read/Write Applications

Secondary Database

Replication processes and subscriptions are defined in bothdirections and data changes flow in both directions

Recursion is stopped by Capture, which reads special loggedevents created by Apply

Conflict detection is typically necessary, unless the application iscarefully designed to completely avoid conflicts

Page 30: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Peer to Peer Q Replication – Best Practices Workload balancing

Provides best results with high ratio of reads to writes Conflicts

Plan carefully – avoidance is the best policy

May occur with failovers and switchbacks

Consider the application impact: for database convergence, single row updatesare backed out, not whole transactions

Exceptions table Understand the exceptions table – all conflicts are logged there

Consider a global view or replicated consolidation of exceptions tables

Consider a trigger on the exceptions table for additional actions that need to beperformed

Application considerations Make a plan to handle serialized objects such as sequences and identity

columns

Consider impacts to triggers and triggered actions

Page 31: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Online Trading – A case for very high speed replication

In many online environments OLTP data is kept separatelyfrom query/history data for better performance of bothupdate and query applications

This user has just made an online trade – he will keephitting enter until he sees that the trade is complete, in thiscase meaning it has been replicated to the trade historydatabase

TradeProcessing

Data

Q Capture

Trading Applications

Q Apply

Trade HistoryApplications

TradeHistory

Data

Page 32: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Order Processing – Exploiting II Event Publishing

As new orders are entered into the order entry system, thepertinent data is captured and published into a queue

The Websphere Business Integrator Event Brokerprocesses the queued data

A billing transaction is created and queued in one systemand a shipping transaction is created and queued inanother system

Order Entry Data

Q Capture

Create New Order

Create Shipping Request

WBI EventBroker

Create BillingRequest

Page 33: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Customer Profile Management – Exploiting II Event Publishing

When a change to customer profile information occurs inone system, the pertinent data is captured and publishedinto a queue

The Websphere Business Integrator Event Brokerprocesses the queued data

Transactions are created to update the customer profileinformation in all other database systems, as applicable

Customer Data

II IMS EventPublisher

Change Customer Info

Create CustomerChange Request

WBI EventBroker

Create CustomerChange Request

Page 34: IBM Software Group - UWM LSC: About Us · architecture DB2 UDB VSAM IMS ... IBM Software Group DB2 DataPropagator for ... IBM Software Group DB2 LUW and Informix IDS sources and targets

IBM Software Group

Other Important Sources of Information/Education

WebSphere Information Integrator sites on the web: http://www-306.ibm.com/software/data/integration/

http://www-306.ibm.com/software/data/db2imstools/

http://db2ii2.dfw.ibm.com/wps/portal/!ut/p/!ut/p/!ut/p/.scr/Login

http://www-1.ibm.com/support/docview.wss?uid=swg27005663

Developer Works: http://www-106.ibm.com/developerworks/db2/zones/db2ii/

Tutorials, whitepapers, samples available now

IBM Education for Q Replication: DW240: 3 day course without MQ basics

DW241: 4 day course with MQ basics included

Redbook recently published for Q Replication, EP later this year

Consider IBM Services as part of your implementation plan