transaction management
DESCRIPTION
Transaction management in detail. Security issues in database,transaction management,properties of transactions,concurrency control,serializability (preliminary treatment only), locking methods,time stamping methods,database recovery.view serializability, conflict in dbms, shadow paging, check point,file organization,TRANSCRIPT
![Page 1: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/1.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
TRANSACTION MANAGEMENT
![Page 2: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/2.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
A transaction is a unit of program execution that accesses and possibly updates various data items
TRANSACTION
![Page 3: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/3.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
E.g. transaction to transfer $50 from account A to account B:
1. read(A)2. A := A – 503. write(A)4. read(B)5. B := B + 506. write(B)
![Page 4: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/4.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Two main issues to deal with:
Failures of various kinds, such as hardware failures and system crashes
Concurrent execution of multiple transactions
![Page 5: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/5.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
ACID PROPERTIES
A Atomicity
C Consistency
I Isolation
D Durability
To preserve the integrity of data the database system must ensure ACID properties
![Page 6: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/6.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Atomicity. Either all operations of the transaction are properly reflected in the database or none are.
Consistency. Execution of a transaction in isolation preserves the consistency of the database.
![Page 7: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/7.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Isolation. Although multiple transactions may execute concurrently, each transaction must be unaware of other concurrently executing transactions.
Intermediate transaction results must be hidden from other concurrently executed transactions.
That is, for every pair of transactions Ti and Tj, it appears to Ti that either Tj, finished execution before Ti started, or Tj started execution after Ti finished.
![Page 8: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/8.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Durability. After a transaction completes successfully, the changes it has made to the database persist, even if there are system failures.
![Page 9: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/9.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Example of Fund TransferTransaction to transfer $50 from account A to account B:
1. read(A)2. A := A – 503. write(A)4. read(B)5. B := B + 506. write(B)
Atomicity requirement if the transaction fails after step 3 and before step 6, money will be “lost” leading to an inconsistent database state .Failure could be due to software or hardwarethe system should ensure that updates of a partially executed transaction are not reflected in the database
![Page 10: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/10.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Durability requirement — once the user has been notified that the transaction has completed (i.e., the transfer of the $50 has taken place), the updates to the database by the transaction must persist even if there are software or hardware failures.
![Page 11: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/11.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Consistency requirement
the sum of A and B is unchanged by the execution of the transaction
In general, consistency requirements include
Explicitly specified integrity constraints such as primary keys and foreign keysImplicit integrity constraintse.g. sum of balances of all accounts, minus sum of loan amounts must equal value of cash-in-handA transaction must see a consistent database.During transaction execution the database may be temporarily inconsistent.When the transaction completes successfully the database must be consistentErroneous transaction logic can lead to inconsistency
![Page 12: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/12.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
• Isolation requirement — if between steps 3 and 6, another transaction T2 is allowed to access the partially updated database, it will see an inconsistent database (the sum A + B will be less than it should be). T1 T21. read(A)2. A := A – 503. write(A)
read(A), read(B), print(A+B)4. read(B)5. B := B + 506. write(B
• Isolation can be ensured trivially by running transactions serially– that is, one after the other.
• However, executing multiple transactions concurrently has significant benefits, as we will see later.
![Page 13: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/13.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Transaction State
TRANSACTION STATES
![Page 14: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/14.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 15: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/15.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
• Active – the initial state; the transaction stays in this state while it is executing
• Partially committed – after the final statement has been executed.
• Failed -- after the discovery that normal execution can no longer proceed.
• Aborted – after the transaction has been rolled back and the database restored to its state prior to the start of the transaction. Two options after it has been aborted:– restart the transaction
• can be done only if no internal logical error– kill the transaction
• Committed – after successful completion.
![Page 16: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/16.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Concurrent Executions• Multiple transactions are allowed to run concurrently
in the system. Advantages are:increased processor and disk utilization, leading to better
transaction throughputE.g. one transaction can be using the CPU while another is reading
from or writing to the diskreduced average response time for transactions: short
transactions need not wait behind long ones.• Concurrency control schemes – mechanisms to
achieve isolation that is, to control the interaction among the concurrent
transactions in order to prevent them from destroying the consistency of the database
![Page 17: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/17.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Schedules• Schedule – a sequences of instructions that specify the order in
which instructions of concurrent transactions are executed– a schedule for a set of transactions must consist of all instructions of
those transactions– must preserve the order in which the instructions appear in each
individual transaction.
• A transaction that successfully completes its execution will have a commit instructions as the last statement – by default transaction assumed to execute commit instruction as its last
step
• A transaction that fails to successfully complete its execution will have an abort instruction as the last statement
![Page 18: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/18.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Schedule 1• Let T1 transfer $50 from A to B, and T2 transfer 10% of
the balance from A to B. • A serial schedule in which T1 is followed by T2 :
![Page 19: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/19.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Schedule 2• A serial schedule where T2 is followed by T1
![Page 20: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/20.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Schedule 3• Let T1 and T2 be the transactions defined previously.
The following schedule is not a serial schedule, but it is equivalent to Schedule 1.
In Schedules 1, 2 and 3,
the sum A + B is preserved.
Concurrent schedule
![Page 21: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/21.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Schedule 4• The following concurrent schedule does not
preserve the value of (A + B ).
![Page 22: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/22.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Some Problems associated with transaction
• LOST UPDATE• DIRTY READ• PHANTOM READ/RECORD
![Page 23: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/23.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
• LOST UPDATEThis problem occurred because two transactions are working on the same resource without knowing each other’s activity
![Page 24: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/24.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•DIRTY READ
• : transaction reads values written by another transaction that hasn’t committed yet.
•This problem has occurred because two transactions are working on the same resource without knowing each other’s activity
![Page 25: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/25.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 26: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/26.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•PHANTOM READ/RECORD•Newly inserted rows appear as phantom to the transaction• A transaction re-executes a query returning a set of rows that satisfy a search condition and finds that the set of rows satisfying the condition has changed as a result of another recently committed transaction
![Page 27: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/27.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•PHANTOM READ/RECORD(CONT..) EX:
![Page 28: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/28.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Serializability
WHAT IS IT???
It is the process of finding concurrent schedule equivalent to serial schedule
WHAT IS THE USE
![Page 29: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/29.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•Transactions are programs.•Here we consider only two operations READ and WRITE
![Page 30: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/30.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Two forms
Serializability
ConflictSerializability
ViewSerializability
![Page 31: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/31.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
A.Conflict Serializability
Conflict ?
i1i2
Data Item
i1,i2 : two consecutive instructions of different transactions
![Page 32: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/32.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
1. li= read(Q), lj = read(Q). li and lj don’t conflict.
2. li = read(Q), lj = write(Q). They conflict.3. li = write(Q), lj = read(Q). They conflict4. li = write(Q), lj = write(Q). They conflict
4 cases we need toconsider
![Page 33: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/33.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Conflict equivalent
Series of swaps of non conflict instruction
S S’
![Page 34: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/34.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Ex: Not Conflict equivalent
![Page 35: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/35.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
SS’
Ex: Conflict equivalent
![Page 36: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/36.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Conflict serializable
S S’
If S is Conflict equivalent to a serial schedule(here S’)
![Page 37: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/37.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
SS’
Ex: Conflict serializable
![Page 38: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/38.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•It is possible to have two schedules that produce the same outcome ,but that are not conflict equivalent
![Page 39: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/39.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•It is not conflict equivalent to its serial schedule(but this schedule move db to a consistent state)
![Page 40: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/40.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•So we must consider computation performed by transactions rather than just read and write operations.
•But it is hard to implement and it is computationally expensive .
![Page 41: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/41.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
B.View Serializability
•Another schedule equivalence purely based on read and write operations
•If schedule s1 and s2 are said to be view equivalent if three conditions are met.
![Page 42: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/42.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
1. If Ti reads the initial value of object A in s1,it must also read the initial value of A in s2.
2. If Ti read a value of A written by Tj in s1,it must also read the value of A written by Tj in s2.
3. For each data object A , the transaction (if any)that performs the final write on A in s1 must also perform the final write on A in s2.
![Page 43: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/43.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Not view equivalent
![Page 44: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/44.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
View equivalent
![Page 45: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/45.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
view serializable
S S’
If S is view equivalent to a serial schedule(here S’)
![Page 46: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/46.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Ex: for view serializable schedule
It is view equivalent to its serial schedule
![Page 47: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/47.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
What is the view equivalent serial schedule for this ?????
![Page 48: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/48.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
The below example is view serializable but not conflict serializable!!!
![Page 49: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/49.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•Every conflict serializable schedule is also view serializable, but reverse need not be true.
•If blind write appear in any view serializable schedule that is not conflict serializable.
•Blind write :- transaction performing write without a read operation
![Page 50: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/50.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
RecoverabilityIf transaction fails we need to undo the effect of this transaction to ensure the atomicity property
(a)Recoverable schedule(b) Cascadeless schedule
![Page 51: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/51.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
(a)Recoverable schedule
Consider the example for non recoverable schedule:
Recoverable schedule : for each pair of transaction Ti and Tj such that Tj reads a data item previously written by Ti ,the commit operation of Ti appears before the commit operation of Tj .
![Page 52: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/52.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
(a)cascadeless scheduleEx: for cascading schedule
Cascading Rollback: a single transaction failure leads to a series of transaction rollbacks
T12
T11
T10
![Page 53: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/53.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Every cascadeless schedule is also recoverable
![Page 54: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/54.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Concurrency Control
• Isolation property may no long be preserved.• so we need Concurrency control scheme
![Page 55: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/55.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
(a)Lock-based protocol
(b)Time stamp-based protocol
![Page 56: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/56.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
(a)Lock-based protocol
Locks ?? lock is a mechanism to control concurrent access to a data item
Concurrency control
manager
Grants the lock to the transaction
![Page 57: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/57.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Data item can be locked in two modes
(a)Shared lock
(b)Exclusive lock
read
write
read
write
![Page 58: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/58.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
X-lock is requested using lock-X instruction.
S-lock is requested using lock-S instruction.
![Page 59: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/59.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Lock –compatibility matrix
Compatible??
![Page 60: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/60.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Ex: for performing locking
![Page 61: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/61.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 62: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/62.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
If a lock cannot be granted, the requesting transaction is made to wait till all incompatible locks held by other transactions have been released. The lock is then granted
![Page 63: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/63.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 64: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/64.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Necessary condition for deadlock
MUX
H & W
NP
CW
A state where neither of the transaction can proceed with its normal execution
![Page 65: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/65.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Consider the example for deadlock:
![Page 66: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/66.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Granting of LocksStarvation : If a transaction T never make a progress , then is said to be starved.
![Page 67: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/67.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Avoid starvationWhen a transaction Ti request a lock on a data item Q in a particular mode MWe can avoid starvation by:
• There is no other transaction holding a lock on Q in a mode that conflicts with M
• There is no other transaction that is waiting for a lock on Q and that made its lock request before Ti
![Page 68: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/68.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Locking protocol•Set of rules• each transaction in the system follow this rule• it is for ,when a transaction may lock or unlock each of its data items.•It restricts the number possible schedules
![Page 69: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/69.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Legal : A schedule s is legal under a given locking protocol ,if s possible schedule for a set of transaction that follows the rules of the locking protocol
![Page 70: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/70.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
A locking protocol ensures conflict serializability if and only if all legal schedules are conflict serializable.
![Page 71: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/71.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
This is a protocol which ensures conflict serializable schedules.
•Phase 1: Growing Phase• transaction may obtain locks • transaction may not release locks
• Phase 2: Shrinking Phase• transaction may release locks• transaction may not obtain
locks
The Two-Phase Locking Protocol
![Page 72: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/72.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•Initially a transaction is in the growing phase .The transaction acquires locks as needed.
•Once the transaction releases a lock ,it enters the shrinking phase and it can issue no more lock requests.
•Unlock instruction do not need to appear at the end of the transaction.
![Page 73: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/73.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
T1: lock-S(A); read (A); unlock(A); lock-S(B); read (B); unlock(B); display(A+B);
Ex: not two phase
Ex: two phase T1: lock-s(A); read (A);
lock-S(B); read (B);
unlock(B); unlock(B); display(A+B);
![Page 74: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/74.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
The point in the schedule where the transaction has obtained its final lock(the end of growing phase).
lock point :
•Two-phase locking does not ensure freedom from deadlocks
Disadvantage:
![Page 75: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/75.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•cascading rollback may occur under two phase locking
Disadvantage(cont..):
![Page 76: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/76.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Variant of Two Phase Locking
•(a)Strict two phase locking (avoiding cascading rollback )
•(b)rigorous two phase locking
![Page 77: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/77.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
(a)Strict Two Phase Locking
Locking be in two phase + all exclusive mode locks of a transaction held until the
transaction commit
(a)Rigorous Two Phase Locking
Locking be in two phase + all locks of a transaction held until the transaction commit
![Page 78: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/78.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
We have a problem and we need a solution.
T1: read(A1); read(A2);. . . . read(An); Write(A1)
T2: read(A1); read(A2);.display(A1+A2);
We want do this as a concurrentschedule
![Page 79: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/79.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Two-phase locking with lock conversions: – First Phase:
• can acquire a lock-S on item• can acquire a lock-X on item• can convert a lock-S to a lock-X (upgrade)
– Second Phase:• can release a lock-S• can release a lock-X• can convert a lock-X to a lock-S (downgrade)
Lock conversion
![Page 80: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/80.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Time Stamp Based protocols
![Page 81: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/81.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
II.Time Stamp Based protocols
•Another method for finding the serializability order
• The protocol manages concurrent execution such that the time-stamps determine the serializability
• A time stamp is assigned by the database system before the transaction starts execution.
![Page 82: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/82.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•If an old transaction Ti has time-stamp TS(Ti), a new transaction Tj is assigned time-stamp TS(Tj) such that TS(Ti) <TS(Tj).
T1 T2 T3
Assume transactions comes in the order T1.T2,T3
![Page 83: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/83.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
For implementing this we use two simple methods
• Use the value of the system clock.
OR
•Use a logical counter.
![Page 84: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/84.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
The time-stamps determine the serializability order , i.e. ensure that Ti appears before Tj.
maintains for each data Q two timestamp values:.
is the largest time-stamp of any transaction that executed write(Q) successfully.
is the largest time-stamp of any transaction that executed read(Q) successfully
W-timestamp(Q)
R-timestamp(Q)
![Page 85: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/85.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
a. Time Stamp ordering protocols
•The timestamp ordering protocol ensures that any conflicting read and write operations are executed in timestamp order
•The protocol operates as follows.
![Page 86: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/86.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Suppose a transaction Ti issues a read(Q)1. If TS(Ti) W-timestamp(Q), then Ti needs to read a
value of Q that was already overwritten. Hence, the read operation is rejected, and Ti is
rolled back.2. If TS(Ti) W-timestamp(Q), then the read operation
is executed, and R-timestamp(Q) is set to max(R-timestamp(Q), TS(Ti)).
![Page 87: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/87.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
W-time stamp(B)
10
Read rejected
Read rejectedRead accepted
15
READ(B)
![Page 88: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/88.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Suppose a transaction Ti issues a write(Q)1. If TS(Ti) < R-timestamp(Q), then the value of Q that Ti is
producing was needed previously, and the system assumed that that value would never be produced. Hence, the write operation is rejected, and Ti is rolled
back.2. If TS(Ti) < W-timestamp(Q), then Ti is attempting to write
an obsolete value of Q. Hence, this write operation is rejected, and Ti is rolled
back.3. Otherwise, the write operation is executed, and W-
timestamp(Q) is set to TS(Ti).
![Page 89: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/89.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
R-time stamp(B)
W-time stamp(B)
10:01
9:50
WRITE(B)
write accepted
10:05
write rejectedwrite rejected
wite rejected
![Page 90: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/90.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
A schedule that is possible under the time stamp protocolassume TS(T25) < TS (T26)
![Page 91: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/91.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•ensures freedom from deadlock
•may not cascade-free•may not recoverable.
![Page 92: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/92.jpg)
• Problem with timestamp-ordering protocol:• Suppose Ti aborts, but Tj has read a data item
written by Ti , then Tj must abort; if Tj had been allowed to commit earlier, the schedule is not recoverable.
• Further, any transaction that has read a data item written by Tj must abort this can lead to cascading rollback --- that is, a chain of rollbacks
prepared by Visakh V,Assistant Professor,
LBSITW
![Page 93: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/93.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
• Solution 1:• A transaction is structured such that its writes are all
performed at the end of its processing• All writes of a transaction form an atomic action; no
transaction may execute while a transaction is being written
• A transaction that aborts is restarted with a new timestamp
• Solution 2: Limited form of locking: wait for data to be committed before reading it
• Solution 3: Use commit dependencies to ensure recoverability
![Page 94: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/94.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Consider the example Example :
Don’t worry, We have a soloutionTHOMAS WRITE
RULE
![Page 95: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/95.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
THOMAS’ WRITE RULE• Modified version of the timestamp-ordering protocol
in which obsolete write operations may be ignored under certain circumstances.
• When Ti attempts to write data item Q, if TS(Ti) < W-timestamp(Q), then Ti is attempting to write an obsolete value of {Q}.
– Rather than rolling back Ti as the timestamp ordering protocol would have done, this {write} operation can be ignored.
![Page 96: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/96.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
• Otherwise this protocol is the same as the timestamp ordering protocol.
• Thomas' Write Rule allows greater potential concurrency.
– Allows some view-serializable schedules that are not conflict-serializable
THOMAS’ WRITE RULE
![Page 97: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/97.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
DATA BASE RECOVERY
![Page 98: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/98.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Types of failure
1. Transaction failure•Logical error
• System error
: (due to internal condition) bad input, data not found, resource limit exceed.
:entered an undesirable state (ex:deadlock)
![Page 99: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/99.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
2. System crash: h/w malfunction , or a bug in the
database s/w or OS : loss of content in volatile
3. Disk failure: head crash or failure during data transfer operation.
![Page 100: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/100.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•Volatile storage:• does not survive system crashes• examples: main memory, cache memory
•Nonvolatile storage:• survives system crashes• examples: disk, tape, flash memory,
non-volatile (battery backed up) RAM • but may still fail, losing data
•Stable storage:• a mythical form of storage that survives all failures• approximated by maintaining multiple copies on
distinct nonvolatile media
STORAGE STRUCTURE
![Page 101: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/101.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
DATA ACCESS
![Page 102: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/102.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Buffer blockPhysical block
![Page 103: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/103.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Blocks : Fixed length storage units
Physical blocks are those blocks residing on the disk.
Buffer blocks are the blocks residing temporarily in main memory.
Block movements between disk and main memory are initiated through the following two operations:
input(B) transfers the physical block B to main memory.output(B) transfers the buffer block B to the disk, and replaces the appropriate physical block there.
DATA ACCESS
![Page 104: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/104.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Example of Data Access
X
Y
A
B
x1
y1
bufferBuffer Block A
Buffer Block B
input(A)
output(B)
read(X)write(Y)
disk
work areaof T1
work areaof T2
memory
x2
![Page 105: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/105.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
• Each transaction Ti has its private work-area in which local copies of all data items accessed and updated by it are kept.– Ti's local copy of a data item X is called xi.
• Transferring data items between system buffer blocks and its private work-area done by:– read(X) assigns the value of data item X to the local variable xi.
– write(X) assigns the value of local variable xi to data item {X} in the buffer block.
– Note: output(BX) need not immediately follow write(X). System can perform the output operation when it deems fit.
• Transactions – Must perform read(X) before accessing X for the first time
(subsequent reads can be from local copy) – write(X) can be executed at any time before the transaction
commits
![Page 106: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/106.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
LOG-BASED RECOVERY
Transaction Log• also know as journal log / redo-log• It is a physical file • It usually contain
• transaction identifier• data –item identifier(or time stamp)• old value• new value
![Page 107: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/107.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 108: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/108.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
1.<Ti start> : transaction Ti starts2. <Ti, X, V1, V2> : Before Ti executes write(X) 3.<Ti commit> : Ti finishes it last statement4. <Ti abort>
We denote various type of log record as
Two techniques used to maintain the log file
![Page 109: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/109.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
<T0 start><T0, A, 1000, 950><To, B, 2000, 2050><T0 commit><T1 start><T1, C, 700, 600><T1 commit>
•Transaction log ex:
![Page 110: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/110.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Two techniques used to maintain the log file
•DEFERRED •IMMEDIATE
![Page 111: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/111.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•DEFERRED DATABASE MODIFICATION
•Also known as NO UNDO/REDO• Algorithm to support O/S, application, power, memory and machine failures• During transaction run changes recorded only in the log files not in database• On commit changes made from
Log database• this process is called “Re-doing”(redo(Ti)),sometimes known as ROLLFORWARD.• on rollback ,just discard the log files• on commit, just copy the log files to database
![Page 112: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/112.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 113: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/113.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
EXAMPLE FOR DEFERRED UPDATE
![Page 114: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/114.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•Disadvantage• Increased time of recovery in case of
system failure.
![Page 115: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/115.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•Also known as UNDO/REDO• Algorithm to support O/S, application, power, memory and machine failures
•Transaction updates/alternation
•IMMEDIATE DATABASE MODIFICATION
DATABASE
LOG FILES
![Page 116: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/116.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•On commit all the changes to the db are made permanent and log files discarded
• On rollback , using the log entries old values are restored. All the changes in the database are discarded.
•This process is called un-doing(undo(Ti)).
• original values are restored using the log files for uncommitted transaction.
![Page 117: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/117.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 118: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/118.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Log Write Output
<T0 start><T0, A, 1000, 950><To, B, 2000, 2050 A = 950 B = 2050<T0 commit><T1 start><T1, C, 700, 600> C = 600 BB , BC
<T1 commit> BA
• Note: BX denotes block containing X.
BC output before T1
commits
BA output after T0
commits
EXAMPLE FOR IMMEDIATE UPDATE
![Page 119: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/119.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
EXAMPLE FOR IMMEDIATE UPDATE
![Page 120: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/120.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
• The process of undoing changes using log files is frequently referred to as rollback
•Disadvantage• Frequent I/O operations while the
transaction Is active .
![Page 121: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/121.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
Check-points•Commercial RDMS is neither deferred nor immediate • Database updated at fixed interval of time •Irrespective of transaction commit/un-commit state.•Check pointing : updating transaction at fixed intervals of time is called check-pointing.• @ check point time log files changes applied to the database.•
![Page 122: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/122.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 123: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/123.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 124: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/124.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 125: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/125.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
• During recovery we need to consider only the most recent transaction Ti that started before the checkpoint, and transactions that started after Ti.
1. Scan backwards from end of log to find the most recent <checkpoint L> record
– Only transactions that are in L or started after the checkpoint need to be redone or undone
– Transactions that committed or aborted before the checkpoint already have all their updates output to stable storage.
• Some earlier part of the log may be needed for undo operations1. Continue scanning backwards till a record <Ti start> is found
for every transaction Ti in L.
– Parts of log prior to earliest <Ti start> record above are not needed for recovery, and can be erased whenever desired.
![Page 126: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/126.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 127: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/127.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
![Page 128: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/128.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
SHADOW PAGING
![Page 129: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/129.jpg)
prepared by Visakh V,Assistant Professor, LBSITW
•Alternative to log-based crash-recovery techniques.•Advantage: require few disk access than log-based.• pages : fixed length portioned block in database.• page table :
• The page table has n entries—one for each database page.
• Each entry contains a pointer to a page on disk .
SHADOW PAGING
![Page 130: Transaction Management](https://reader036.vdocuments.net/reader036/viewer/2022081404/558c7847d8b42a566c8b46b2/html5/thumbnails/130.jpg)
prepared by Visakh V,Assistant Professor, LBSITW