• No results found

Heterogeneous Database Replication Gianni Pucciani

N/A
N/A
Protected

Academic year: 2021

Share "Heterogeneous Database Replication Gianni Pucciani"

Copied!
18
0
0

Loading.... (view fulltext now)

Full text

(1)

Heterogeneous Database Replication

Gianni Pucciani

LCG Database Deployment and Persistency Workshop CERN 17-19 October 2005 A.Domenici [email protected] F.Donno [email protected] L.Iannone [email protected] G.Pucciani [email protected] H.Stockinger [email protected]

(2)

Introduction

• Oracle Heterogeneous Connectivity.

• Streams based heterogeneous replication. • The Constanza project.

• RCS architecture.

• RCS for Oracle to MySQL replication. • Conclusions.

(3)

Tests on Oracle Heterogeneous Connectivity

and Streams based replication

Laura Iannone's thesis available at:

http://etd.adm.unipi.it/theses/available/etd-0621005-153510/

Oracle solutions to the Heterogeneous Connectivity problem:

Transparent Gateways: only provides gateways for specific non-Oracle platforms like Sybase, MS SQL, Informix etc.

MySQL is NOT supported.

Generic Connectivity: more limited functionality than

Transparent Gateways, connection only to local Oracle Database server, no distributed transactions.

Both provide the ability to transparently access data in non-Oracle databases from an non-Oracle environment.

(4)

Oracle Heterogeneous Connectivity

The Heterogeneous Connectivity process:

● Heterogeneous service: integrated in the Oracle server. ● Agent: provides connectivity to non-Oracle systems.

Transparent Gateways and Generic Connectivity are two types of agents.

(5)

Oracle Generic Connectivity test

Oracle machine located at CNAF (SL, Oracle 10.1.0.2.0) MySQL machine at INFN Pisa (RH9, MySQL 4.1.9).

- Setting up Oracle Heterogeneous Services. - Setting up ODBC Driver.

- Setting up Generic Connectivity Agent.

Eventually, we were able to successfully update the remote MySQL database from the Oracle SQL*Plus

(6)

Oracle to MySQL data sharing with Streams 1/2

In some Oracle documents we found that Streams can apply changes to a non-Oracle system via Transparent Gateways or

Generic Connectivity.

- We set up an Oracle Streams environment with the apply process linked to the remote MySQL database. - We created a simple table on both the Oracle and MySQL database.

- With the Streams processes activated we tried to make some DML changes to the Oracle table.

(7)

Oracle to MySQL data sharing with Streams 2/2

Results: altough we can access a remote MySQL database from an Oracle server, the Streams tool does not work

with MySQL.

So, we need to look for different solutions to implement Oracle to MySQL synchronisation.

The capture process correctly captured changes but the apply process aborted. Oracle support has been contacted and they told us that Streams needs to

have an Oracle Transparent Gateway for the Oracle to non-Oracle data sharing.

(8)

The CONStanza project

• Developed at INFN, funded by the Italian FIRB project • Site: http://www.pi.infn.it/~pucciani/constanza

• Main goals: developing a Replica Consistency Service

(RCS) that maintains consistency of writable replicated datasets (files and databases) in a Grid environment.

• Current focus on:

• heterogeneous database replication of VOMS DB from Oracle to MySQL

• simple but reliable protocol for update propagation (single master).

(9)

RCS: general features

● Designed as flexible as possible to support

multiple update propagation protocols and update mechanisms.

● Prototype implemented in C++ with gSOAP as

communication framework.

● Other used/to be used tools are: Autotools,

doxygen, CppUnit with mockpp, CGSI.

● Using a configuration file we can set most RCS

(10)

RCS: particular features

● Dynamic replica subscription.

● Update requests can be both blocking and

non-blocking.

● Quorum constraint on update requests.

● Fault tolerant communication.

● For DB replicas: limited SQL dialect/data types translation.

(11)

RCS Architecture

• GRCS, entry point for user requests (bottleneck and single point of failure issues will be addressed if needed).

(12)

RCS: architecture for DBs

Two specialised components have been added to extract/apply updates to databases: • Log Watcher • DB Updater

(13)

RCS: current status

● The current architecture works with

homogeneous MySQL databases.

● It monitors the master DB log file, extracts last

updates and propagates them to the RCS

registered secondary replicas. Updates are then applied to each secondary replica.

● If a replica is temporarily unreachable, a tentative

(14)

RCS: current scenario

VOMS1 LogWatcher Extract Log LogVOMS001 GRCS LRCS LRCS Notify GRCS VOMS2 VOMS3

Update Replica Update Replica

LogVOMS000 LogVOMS001 DBUpdater GridFTP Apply Update VOMS1 VOMS2 VOMS3 RCS Update Master

(15)

RCS: fault tolerant links

● GRCSÆLRCSs: when an LRCS is not reachable,

the update operation involved is stored in a queue to be executed later on, periodically or upon an LRCS request.

● Log Watcher Æ GRCS and DB Updater Æ DB

(16)

RCS: first results

Preliminary

performance tests done using a master DB located in Pisa and secondary DBs at CERN (50ms

RTT) and SLAC (165ms RTT).

(17)

RCS: Oracle to MySQL replication

● The LogWatcher component can be specialised to work

with Oracle as it works with MySQL using the Oracle

LogMiner utility and the OCCI interface (work in progress).

● The difficult problem of SQL dialect translation will be

addressed for special cases (starting with VOMS use case). A general SQL statement translation module is almost impossible to build. Solutions can be:

– Reducing the use of non-standard SQL statetements.

– Agreeing on a common application-level interface for log storage/exctraction/application.

(18)

Conclusions

● Oracle Streams does not work with MySQL.

● Can a Transparent Gateway driver be done for

MySQL as well?

● CONStanza RCS.

● Using Log Miner RCS should be able to

synchronise an Oracle DB with MySQL DBs.

● The problem of non-standard SQL dialects must

References

Related documents

These factors include, but not limited to database server operating system, file system or Oracle ASM, volume management such as LVM or VxVM, Oracle RAC or non-RAC, backup and

• Encryption for data at rest – Data in the Autonomous Database is automatically encrypted using Oracle Transparent Data Encryption – first available with Oracle 10g in

It’s available in a large number of programming languages, and is designed to be a Legacy Code Refactoring Kata. In order to better simulate Legacy Code, it comes with no

This solution is a combination of the Heterogeneous Services (HS) component that is integrated in the Oracle database and a gateway, which provides information for and connectivity

providing effective cardiovascular services to the underserved Sub-Saharan African population: resident senior highly qualified local consultant surgeon, visiting teams (1–2 missions

• beam instability and kicker hardware constraints in the damping rings; • beam current, beam power, and pulse length limitations in the main linacs; • emittance

Boskalis expects to see a prolonged period of low energy prices and lean market conditions in the offshore oil and gas market and is tightening things up where necessary in terms

It’s only working towards things we can’t yet play that we get better, so make sure to work on something that pushes you outside your comfort zone.. New pieces, transcrip- tions