31
Kittiphan Techakittiroj (14 มม.ม. Transaction Processing Kittiphan Techakittiroj [email protected]

Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj [email protected]

Embed Size (px)

Citation preview

Page 1: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

Transaction Processing

Kittiphan Techakittiroj

[email protected]

Page 2: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• Introduction to Transaction and ACID

• Transacion Models

• TP Monitors

• TP-lite & TP-heavy

Agenda

Page 3: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

Transaction Processing• Set of commands to process at once

– Faster processing

– Reduce the complexity of works

• Easy example: saving a file not a character

Page 4: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

Transaction Processing cont.

• Big organization: do many things for one operation,

e.g. check # of employee, assigned the salary, calculate

the tax and make a payment

• Banking is one example: check clearing

Page 5: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

ACIDProperties of Transaction

• Atomicity: all operations as one item … either succ

ess all or fail all

• Consistency:– correct, accurate, and valid

– if the transaction is not success, server return to stable state

• Isolation: not disturb with other transaction

• Durability: after commit, the changes should be per

manent (not effect by any failure)

Page 6: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

Transaction Models

• Describe the way a transaction can be proce

ssed

• Should be general enough for any kinds of t

ranasaction

• Make transactions accomplish the ACID pr

operties

Page 7: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• Flat Transaction

– Baby Stepping With Flat Transactions

– Distributed Flat Transaction

• Chained Transactions

• Nested Transactions

ModelsTransaction Models

Page 8: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• Contain three steps:

– Begin Transaction

– Process Transaction

– End Transaction

• Success: commit

• Failure: abort + rollback

Flat TransactionTransaction Models: Models

Page 9: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

Flat Transaction

• Contain three steps:

– Begin Transaction

– Process Transaction

– End Transaction

• Success: commit

• Failure: abort + rollback

Flat Transaction Providing ACID

Transaction Models: Models: Flat Transaction

ACID

• Atomicity

• Consistency

• Isolation

• Durability

Page 10: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• Eliminate the problems of Flat Transaction:

– holding resource for too long

– if abort, the whole works are gone

• Separate the transaction to be small transactions

Baby Stepping with Flat TransactionTransaction Models: Models: Flat Transaction

Page 11: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• Extend the Flat Transaction to multiple-site

systems

• Need the synchronization between each site

Distributed Flat TransactionTransaction Models: Models: Flat Transaction

Page 12: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• synchronization for Distributed Flat Transaction

• Consider two types of systems

– commit manager node or root node or transaction

coordinator

– subordinate nodes

• Two main phases:

– Ask everyone to be ready to commit

– Ask every one to commit

Two Phase Commit ProtocolTransaction Models: Models: Flat Transaction: Distributed Flat Transaction

Page 13: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• First Phase

– commit manager sends “prepare-to-commit”

– commit manager wait for “ready-to-commit”

– first phase finish when all nodes is “ready-to-commit”

Two Phase Commit Protocol cont.

Transaction Models: Models: Flat Transaction: Distributed Flat Transaction

Page 14: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• Second Phase

– commit manager send

“commit”

– commit ended:

• all nodes complete

“commit”

• negative response from

any node make commit

manager order

“rollback” to every

nodes

Two Phase Commit Protocol cont.

Transaction Models: Models: Flat Transaction: Distributed Flat Transaction

Page 15: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• transactions that need to be partially rooled back

• transactions with humans in the loop: causes the hold

of resources for long period (something might also happens

on the way, e.g. GUI cracked)

LimitationsTransaction Models: Models: Flat Transaction

Page 16: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• transaction with long time update

• large transaction: e.g. updates of million records

• transaction across companies or the Internet: political

and privacy issues

Limitations cont.

Transaction Models: Models: Flat Transaction

Page 17: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• chaining many transaction together

• three common patterns:

– syncpoints

– chained transactions

– sagas

Chained TransactionTransaction Models: Models:

Page 18: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• Make synchronization points in-between transaction

• Allow the rollback at each synchronization point

• not durable to the system crash

SyncpointsTransaction Models: Models: Chained Transaction

Page 19: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• make the synchronization points become “commit”

• create “durability”

• lost “atomic”: the ability to roll-back entired transaction

Chained TransactionTransaction Models: Models: Chained Transaction

Page 20: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• same as normal chained transactions but allow the r

oll-back for the entire transaction

• this create the “atomic”

• need to keep track the entired process of transaction

SagasTransaction Models: Models: Chained Transaction

Page 21: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• allow transactions inside a transaction

• hierarchies of “subtransactions”

Nested TransactionTransaction Models: Models:

Page 22: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

TP Monitors

• process management: start server process, monitor

process

• transaction management: queuing, transaction

scheduling, prioritization service

• communications management between clients

and the server

Page 23: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

TP Monitors cont.

Page 24: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• the management over OS

• two mains functions

– pass the client request to server

– load balancing

FunnelingTP Monitor

Page 25: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• load balancing:

– create process if necessary

– destroy process if possible

– however create or destroy processes to often cause the

slow down of the systems

Main FunctionsTP Monitor: Funneling

Page 26: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• Client/Server application development fra

mework: TP monitor as middleware

• Firewalls of protection

• High availability

• Load balancing

• Scalability of function

• Reduced system cost

BenefitsTP Monitor

Page 27: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• TP-Lite is the concept of embedding TP Mo

nitor into the DBMS

• TP-Heavy is the way to put TP Monitor as a

separate item

TP-lite & TP-heavy

Page 28: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

• Limit by the way the TP monitor is built

• When nested transaction

– TP-Lite is limited because mostly DBMS call

nested transaction separately

Scope of “commitTP-lite & TP-heavy

Page 29: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

PerformanceTP-lite & TP-heavy

• TP-Heavy reduce the load of server

Page 30: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

Reference Books

Client/server survival guide 3rd edition by Robert Orfali, Dan

Harkey, Jeri Edwards (John Wiley & Sons: 1999)

Client Server Computing: A Management Overview by Patric

k Martin (http://www.natlearn.com.au/cliserco.htm: Novem

ber1998)

Clinet/Server Applications (http://doro.srv.gc.ca/gena/ai/client

_e.html: July 1997)

Page 31: Kittiphan Techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) Transaction Processing Kittiphan Techakittiroj engktc@au.ac.th

Kittiphan Techakittiroj (21 . . 2566เม ย )

Reference Books

Scale Up with TP Monitors by Jim Gray and Jeri Edwards (By

te Magazine: April 1995)

Next-Generation TP Monitors by Nick Gall (http://www.nwc.c

om/816/816colgall.html: August 1999)