Distributed transactions
This presentation is the property of its rightful owner.
Sponsored Links
1 / 19

Distributed Transactions PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on
  • Presentation posted in: General

Distributed Transactions. Integration of transaction processing. OLTP (Online Transaction Processing) : (Distributed) Transaction processing: Trusted data processing, also during system failures and multi-user access Application examples: -Reservation systems (Booking) -Bank transactions

Download Presentation

Distributed Transactions

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Distributed transactions

Distributed Transactions


Integration of transaction processing

Integration of transaction processing

OLTP (Online Transaction Processing) : (Distributed) Transaction processing:

Trusted data processing, also during system failures and multi-user access

Application examples:-Reservation systems (Booking)

-Bank transactions

-Accounting

-Generally: data access in write mode

Implementation via TP-Systems / TP-Monitors, since 1960

System examples:- JDBC (pure access interface) -CICS (IBM)

-IMS (IBM)

-Encina (Transarc / IBM)

-Tuxedo (BEA Systems)


Jdbc java database connectivity

JDBC (Java Database Connectivity)

  • Programming interface for access to relational data bases

  • Corresponds to ODBC (Open Database Connectivity)

  • Numerous drivers for different data bases (for instance, Oracle, Sybase, DB2, SQL Server etc.)

  • Realizes however only direct data base access; improved distributed transaction logic in heterogenic systems requires Transaction Services/ Transaction monitors


Database access via jdbc

Database access via JDBC

  • try

  • {//open transaction

  • BankServer.con.setAutoCommit(false);

  • //UPDATE Account

  • pstmt = BankServer.con.prepareStatement("UPDATE Account SET Balance=Balance-? WHERE AccountNumber=? "); //Account

  • pstmt.setDouble(1, Amount); //Amount

  • pstmt.setInt(2, Account);

  • int updated = pstmt.executeUpdate();

  • pstmt.close(); //Clean-up

  • //SELECT AccountStatus and READ CreditLimite

  • pstmt = BankServer.con.prepareStatement("SELECT X.Balance, Y.CreditLimite FROM Account X, Client Y WHERE X.AccountNumber=? AND X.ClientNumber=Y.ClientNumber");

  • pstmt.setInt(1, Account);

  • rs=pstmt.executeQuery();

  • BankServer.con.commit();

  • } //end of transaction


Distributed transactions

Distributed transaction: example

Account

server S1

Booking 1

Client

(Cash

desk)

Trustiness:

Booking is realized also

in the case of failure

of Client, S1, S2 or

network failure

finally.

Atomicity and Consistency:

Composed operations

are realized completely or not at all

Account

server S2

Booking 2

(tied

booking)

Transaction

monitor


Transactions and acid criteria

Transactions and ACID-criteria

Transactions protect the ACID-criteria:

  • ACID

  • Atomarity

  • Call completely or without impacts

  • Consistency

  • Transformation between consistent states

  • Isolation

  • No overlapping of transaction executions

  • Durability

  • Survival of system failures


Realization of fault tolerance

Realization of fault tolerance

  • Syntactic support of the example:

  • begin_distributed_transaction

  • subtract(account1, amount); Server 1

  • add(account2, amount); Server 2

  • end_distributed_transaction

  • abort_distributed_transaction// in the error case

  • Isolation:

  • special concurrency control mechanisms

  • Other properties:

  • 2-Phase-Commit-Protocol with persistent data storage


Two phase commit 2pc protocol

Two-Phase-Commit (2PC-Protocol)

old Version: K

save Data: K‘

Participant

(for instance,

Server 1)

(1a) prepare

(1b) ready / abort

Coordinator

(for instance,

Client)

(2) commit

K := K‘

Old Version: L

save Data: L‘

(1a) prepare

(1b) ready / abort

Participant

(for instance,

Server 2)

(2) commit

L := L‘


Two phase commit protocol

Two-Phase-Commit: Protocol

Input from the network /

Output to the network

start

start

prepare / abort

- / prepare

prepare / ready

wait

ready

abort / abortready / abort

ready / commit

commit / -

abort / -

aborted

commited

aborted

commited

a) Coordinator

b) Participant


Transaction monitor system example encina

Transaction monitor: system example Encina

Applications and Tools

ScreenTransactionResource

ManagersProcessingManagers

Services

Base Services

Operating and Transport system

Properties:

-TP-Monitor

-Integration of different data bases (RDBMS;

relational data bases) and transaction monitors

(for instance, CICS over LU 6.2 - SNA)

-Integration with CORBA and EJB

-Standard conformity (XA, X/Open, ISO/OSI, TP)


Example

Example

Possible operations:

- local transactions

- remote object calls

- call of other TP-Monitors

- nested transactions

transaction {...

book ("Lufthansa","FRA-JFK");

book ("USAir","JFK-SFA");

output_ticket();

...}

Scenario:

Resource Managers

Application

server

Application

server

Clients

Mainframe


Special implementation aspects

Special implementation aspects

  • -Optimization via serving of several clients via one server process

  • (multi-threaded)

  • Replication of the servers and partially automatic, heuristic load balancing,

  • fault tolerance

- Parallel transactions:

transaction {...

concurrent {...

book ("Lufthansa","FRA-JFK");

book ("USAir","JFK-SFA");

output_ticket();

...}

...}

onCommit

printf ("OK");

onAbort

printf ("Failure");


Migration and host integration

Migration and Host-Integration

Example: Integration with CICS

Server (Unix)

CPI-C

CPI-C

SNA

CORBA / EJB

LU 6.2

Clients

Internet SNA

CPI-C

Mainframe

  • Encina as CICS region (from point of view of the mainframe)

  • Access to mainframe data base possible

  • Basis:

    • SNA-Gateway; but today also TCP/IP in mainframe

      • environment available

    • CPI-C (Common Programming Interface for Communications

      • from IBM SAA-Systems Application Architecture)

    • COBOL-interface to transactional Encina-data systems


  • System administration

    System administration

    Central administrator interface:

    Monitor-

    Server

    Configuration

    data base

    Administrator

    -Structuring in the management area

    -Software distribution: Distributed File System

    -Parallel system installation on the basis of configuration

    data base

    -Transactional Online Backup


    System administration1

    System administration

    -Re-configuration of application servers via starts / stoppages (online)

    -Monitoring (for instance, number of transactions, blocking

    transactions; also with selective filtering)

    -Automatic re-start of servers after failures

    -Step-by-step-mode Software-Upgrade (two parallel versions possible)

    -Uniform management user interface


    Tuxedo bea systems

    Tuxedo (BEA Systems)

    • Transaction Monitor, comparable with Encina, XA-conform

    • Synchronous and asynchronous transactional calls

    • Reliable Message Queuing

    • Event Communication

    • Language support for C, C++, Cobol, Java

    • Wide availability


    Nested transactions

    Nested transactions

    • Problem of simple transactions:

      • backtracking of larger calculations during long operations

      • lack of parallelism

    •  Nested transactions with parallel partial transactions

    • Properties:

      • separate backtracking of partial transactions

      • selective repeats

      • abortion of all partial transactions during abortion of the general transaction( Data versions to keep until end)

      • inheritance of locks in both directions inside the hierarchy

    • Systems: Encina, Tuxedo


    Example of nested transactions

    Example of nested transactions

    Document processing

    Format

    Save

    Print

    Pre-

    processor

    Formatter

    Copy 1

    Copy 2

    Preparation

    Print

    operation


    Summary transactions

    Summary: Transactions

    OLTP / TP-Monitors are essential components

    for commercial applications

    Trusted, consistent, distributed data management

    Optional nested transactions, loading balancing, security aspects

    Integration with mainframe systems (for instance, CICS-Monitor)

    Important products: Encina (Transarc)

    Tuxedo (BEA Systems)

    Improvement in the Internet-area: TIP (Transaction Internet Protocol): flexible Two-Phase-Commit via TCP/IP


  • Login