Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Ch20 Updated 2023

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 23

1

Chapter 20
Transaction Management
Transparencies

© Pearson Education Limited 1995, 2005


2 Chapter 20 - Objectives

 Function and importance of transactions.


 Properties of transactions.
 Concurrency Control
 Meaning of serializability.
 How locking can ensure serializability.
 Deadlock and how it can be resolved.
 How timestamping can ensure serializability.
 Optimistic concurrency control.
 Granularity of locking.

© Pearson Education Limited 1995, 2005


3 Chapter 20 - Objectives

 Recovery Control
 Some causes of database failure.
 Purpose of transaction log file.
 Purpose of checkpointing.
 How to recover following database failure.
 Alternative models for long duration transactions.

© Pearson Education Limited 1995, 2005


4 Transaction Support

Transaction
Action, or series of actions, carried out by user or
application, which reads or updates contents of
database.
 Logical unit of work on the database.
 Application program is series of transactions with non-
database processing in between.
 Transforms database from one consistent state to
another, although consistency may be violated during
transaction.

© Pearson Education Limited 1995, 2005


5 Example Transaction

© Pearson Education Limited 1995, 2005


6 Transaction Support

 Can have one of two outcomes:


 Success - transaction commits and database reaches a
new consistent state.
 Failure - transaction aborts, and database must be
restored to consistent state before it started.
 Such a transaction is rolled back or undone.
 Committed transaction cannot be aborted.
 Aborted transaction that is rolled back can be restarted later.

© Pearson Education Limited 1995, 2005


7 State Transition Diagram for
Transaction

© Pearson Education Limited 1995, 2005


8 Properties of Transactions

Four basic (ACID) properties of a transaction are:

Atomicity ‘All or nothing’ property.


Consistency Must transform database from one consistent
state to another.
Isolation Partial effects of incomplete transactions
should not be visible to other transactions.
Durability Effects of a committed transaction are
permanent and must not be lost because of later failure.

© Pearson Education Limited 1995, 2005


9 Concurrency Control

Process of managing simultaneous operations on the database without


having them interfere with one another.

 Prevents interference when two or more users are accessing database


simultaneously and at least one is updating data.
 Although two transactions may be correct in themselves, interleaving of
operations may produce an incorrect result.

© Pearson Education Limited 1995, 2005


10 Need for Concurrency Control

 Three examples of potential problems caused by concurrency:


 Lost update problem.
 Uncommitted dependency problem.
 Inconsistent analysis problem.

© Pearson Education Limited 1995, 2005


11 Lost Update Problem

 Successfully completed update is overridden by another user.


 T1 withdrawing £10 from an account with balx, initially £100.
 T2 depositing £100 into same account.
 Serially, final balance would be £190.

© Pearson Education Limited 1995, 2005


12 Lost Update Problem

 Loss of T2’s update avoided by preventing T1 from reading balx until after
update.

© Pearson Education Limited 1995, 2005


13 Uncommitted Dependency Problem

 Occurs when one transaction can see intermediate results of another


transaction before it has committed.
 T4 updates balx to £200 but it aborts, so balx should be back at original
value of £100.
 T3 has read new value of balx (£200) and uses value as basis of £10
reduction, giving a new balance of £190, instead of £90.

© Pearson Education Limited 1995, 2005


14 Uncommitted Dependency Problem

 Problem avoided by preventing T3 from reading balx until after T4


commits or aborts.

© Pearson Education Limited 1995, 2005


15 Inconsistent Analysis Problem
 Occurs when transaction reads several values but second transaction
updates some of them during execution of first.
 Sometimes referred to as dirty read or unrepeatable read.
 T6 is totaling balances of account x (£100), account y (£50), and account z
(£25).
 Meantime, T5 has transferred £10 from balx to balz, so T6 now has wrong
result (£10 too high).

© Pearson Education Limited 1995, 2005


16 Inconsistent Analysis Problem

 Problem avoided by preventing T6 from reading balx and balz until after T5
completed updates.

© Pearson Education Limited 1995, 2005


17 Concurrency Control Techniques

 Two basic concurrency control techniques:


 Locking,
 Timestamping.
 Both are conservative approaches: delay transactions in case they conflict
with other transactions.
 Optimistic methods assume conflict is rare and only check for conflicts at
commit.

© Pearson Education Limited 1995, 2005


18 Locking

Transaction uses locks to deny access to other transactions and so prevent


incorrect updates.

 Most widely used approach to ensure serializability.


 Generally, a transaction must claim a shared (read) or exclusive (write) lock on
a data item before read or write.
 Lock prevents another transaction from modifying item or even reading it, in
the case of a write lock.

© Pearson Education Limited 1995, 2005


19 Locking - Basic Rules
 If transaction has shared lock on item, can read but not update item.
 If transaction has exclusive lock on item, can both read and update item.
 Reads cannot conflict, so more than one transaction can hold shared locks
simultaneously on same item.
 Exclusive lock gives transaction exclusive access to that item.
 A transaction continues to hold a lock until it explicitly releases it either
during execution or when it terminates (aborts or commits). It is only when
the exclusive lock has been released that the effects of the write operation will
be made visible to other transactions.
 Some systems allow transaction to upgrade read lock to an exclusive lock, or
downgrade exclusive lock to a shared lock.

© Pearson Education Limited 1995, 2005


20 Two-Phase Locking (2PL)

Transaction follows 2PL protocol if all locking operations precede first


unlock operation in the transaction.

 Two phases for transaction:


 Growing phase - acquires all locks but cannot release any locks.
 Shrinking phase - releases locks but cannot acquire any new locks.

© Pearson Education Limited 1995, 2005


21 Preventing Lost Update Problem using
2PL

© Pearson Education Limited 1995, 2005


22 Preventing Uncommitted Dependency
Problem using 2PL

© Pearson Education Limited 1995, 2005


23 Preventing Inconsistent Analysis
Problem using 2PL

© Pearson Education Limited 1995, 2005

You might also like