kittiphan techakittiroj (09/05/58 10:21 น. 09/05/58 10:21 น. 09/05/58 10:21 น.) transaction...
TRANSCRIPT
Kittiphan Techakittiroj (21 . . 2566เม ย )
Transaction Processing
Kittiphan Techakittiroj
Kittiphan Techakittiroj (21 . . 2566เม ย )
• Introduction to Transaction and ACID
• Transacion Models
• TP Monitors
• TP-lite & TP-heavy
Agenda
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
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
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)
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
Kittiphan Techakittiroj (21 . . 2566เม ย )
• Flat Transaction
– Baby Stepping With Flat Transactions
– Distributed Flat Transaction
• Chained Transactions
• Nested Transactions
ModelsTransaction Models
Kittiphan Techakittiroj (21 . . 2566เม ย )
• Contain three steps:
– Begin Transaction
– Process Transaction
– End Transaction
• Success: commit
• Failure: abort + rollback
Flat TransactionTransaction Models: Models
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
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
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
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
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
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
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
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
Kittiphan Techakittiroj (21 . . 2566เม ย )
• chaining many transaction together
• three common patterns:
– syncpoints
– chained transactions
– sagas
Chained TransactionTransaction Models: Models:
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
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
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
Kittiphan Techakittiroj (21 . . 2566เม ย )
• allow transactions inside a transaction
• hierarchies of “subtransactions”
Nested TransactionTransaction Models: Models:
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
Kittiphan Techakittiroj (21 . . 2566เม ย )
TP Monitors cont.
Kittiphan Techakittiroj (21 . . 2566เม ย )
• the management over OS
• two mains functions
– pass the client request to server
– load balancing
FunnelingTP Monitor
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
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
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
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
Kittiphan Techakittiroj (21 . . 2566เม ย )
PerformanceTP-lite & TP-heavy
• TP-Heavy reduce the load of server
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)
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)