SlideShare a Scribd company logo
1 of 32
TOPIC:-Characterizing
Schedules Based on
Recoverability and
Serializability.
SCHEDULE
▶ A schedule (or history ) S of n transactions T1 , T2 , …, Tn
is an ordering of the operations of the transactions, such
that operations of Ti in S must appear in the same order in
which they occur in Ti .
▶ For example, the schedule of T1 and T2 is
▶ S : r1(X); r2(X); w1(X); r1(Y); w2(X); w1(Y);
▶ Two operations in a schedule are conflict if:
 They belong to different transactions,
 They access the same item X, and
 At least one of them is a WRITE_ITEM(X) operation.
▶ A schedule S of n transactions T 1 , T 2 , …, T n is said to be a
complete schedule if:
 The operations in S are exactly those operations in T 1 , T 2 , …, T n
including a commit or abort operation as the last operation for each
transaction.
 The order of operations in S is the same as their occurrence in T i .
 For any two conflict operations, one of the two must occur before the
other in the schedule.
Characterizing Schedules Based
on Recoverability.
▶ We would like that, once a transaction T is committed, it
should never be necessary to roll back T. The schedules
that meet this criterion are called recoverable schedules .
Therefore:
 A schedule S is recoverable if no transaction T in S commits until
all transactions T’ that have written an item that T reads have
committed. For example
 S’ a : r 1 (X); r 2 (X); w 1 (X); r 1 (Y); w 2 (X); c 2 ; w 1 (Y); c 1 ;
 is recoverable, even though it suffers from the lost update
problem.
▶ Example -- Consider the following schedules:
 Sc : r1(X); w1(X); r2(X);r1(Y); w2(X); c2; a1 ;
 Sd : r1(X);w1(X); r2(X);r1(Y); w2(X); w1(Y); c1; c2 ;
 Se : r1(X); w1(X); r2(X);r1(Y); w2(X); w1(Y); a1 ; a2 ;
 Sc is not recoverable , because T2 reads item X written by T1 , and then T2
commits before T1 commits.
 Sd is recoverable , because T2 reads item X written by T1 , and then T2
commits after T1 commits and no other conflict operations exists in the
schedule.
 Se is similar to Sd , but T 1 is aborted (instead of commit).
 In this situation T2 should also abort, because the value of X it read is no longer
valid (this phenomenon known as cascading rollback or cascading abort ).
▶Because cascading rollback can be quite time-consuming, we
perform cascade less schedules.
▶A schedule is said to be cascade less or to avoid cascading
rollback if every transaction in the schedule reads only
items that were written by committed transactions.
▶A more restrictive type of schedule is called strict
schedule, in which transactions can neither read nor write
an item X until the last transaction that wrote X has
committed (or aborted)
Characterizing Schedules Based
on Serializability
▶ If no interleaving of operations is permitted, there are
only two possible arrangements for executing transactions
T1 and T2 :
▶Execute (in sequence) all the operations of transaction T1, followed
by all the operations of transaction T2.
▶Execute (in sequence) all the operations of transaction T2,
followed by all the operations of transaction T1.
▶ If interleaving of operations is allowed there will be many
possible schedules.
▶ The concept of serializability of schedules is used to
identify which schedules are correct.
▶ Examples of serial and non-serial schedules involving transactions T 1
and T 2 .
 Serial schedule A: T1 followed by T2 .
 Serial schedules B: T2 followed by T1 .
(c) Two Non-serial schedules C and D with interleaving of
operations.
▶A schedule S is serial , if for every transaction T
participating in the schedule, all the operations of T are
executed consecutively in the schedule; otherwise the
schedule is called non-serial.
▶The drawback of serial schedules is that they limit
concurrency of interleaving of operations.
▶Two schedules are called result equivalent if they produce
the same final state of the database.
▶Example: Two schedules that are result equivalent for the
initial value of X = 100, but are not result equivalent in
general.
▶Two schedules are called Conflict equivalent if the order
of any two conflicting operations is the same in both
schedules.
▶A schedule S of n transactions is Serializable if it is
equivalent to some serial schedule of the same n
transactions.
▶A schedule S to be conflict serializable if it is conflict
equivalent to some serial schedule S’.
▶ Algorithm for testing conflict serializability of S:
 For each transaction Ti in schedule S, create a node,
 If Tj executes a READ_ITEM(X) after Ti executes a WRITE_ITEM(X), create
an edge Ti->Tj
 If Tj executes a WRITE_ITEM(X) after Ti executes a READ_ITEM(X), create
an edge Ti->Tj
 If Tj executes a WRITE_ITEM(X) after Ti executes a WRITE_ITEM(X),
create an edge Ti->Tj
 The schedule S is serializable if and only if the precedence graph has no cycle.
TOPIC:- LOCK BASED
PROTOCOLS
PRESENTED BY:-
NAME:- SATYA PRAKASH RANJAN
ROLL NO:- MCA/25005/18
LOCK BASED PROTOCOLS
▶ A lock is a mechanism to control concurrent access to a
data item Data items can be locked in two modes :
1. exclusive (X) mode. Data item can be both read as well
as written. X-lock is requested using lock-X
instruction.
2. shared (S) mode. Data item can only be read. S-lock
is requested using lock-S instruction.
▶ Lock requests are made to concurrency-control
manager. Transaction can proceed only after request
is granted.
Lock-Based Protocols (Cont.)
▶ A transaction may be granted a lock on an item if the requested lock is
compatible with locks already held on the item by other transactions
▶ Any number of transactions can hold shared locks on an item, but if
any transaction holds an exclusive on the item no other transaction may
hold any lock on the item.
▶ 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.
Lock-compatibility matrix
Pitfal s of Lock-Based Protocols
▶ Consider the partial schedule
Neither T3 nor T4 can make progress — executing lock-S(B) causes T4 to
wait for T3 to release its lock on B, while executing lock-X(A) causes T3
to wait for T4 to release its lock on A.
Such a situation is called a deadlock.
 To handle a deadlock one of T3 or T4 must be rolled back
and its locks released.
Pitfalls of Lock-Based Protocols (Cont.)
▶ The potential for deadlock exists in most locking
protocols. Deadlocks are a necessary evil.
▶ Starvation is also possible if concurrency control
manager is badly designed. For example:
🢐 A transaction may be waiting for an X-lock on an item,
while a sequence of other transactions request and are
granted an S-lock on the same item.
🢐 The same transaction is repeatedly rolled back due to
deadlocks.
▶ Concurrency control manager can be designed to
prevent starvation
The Two-Phase Locking Protocol
▶ 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 protocol assures serializability. It can be proved that the
transactions can be serialized in the order of their lock points (i.e. the
point where a transaction acquired its final lock).
The Two-Phase Locking Protocol
(Cont.)
▶ Two-phase locking does not ensure freedom from deadlocks
▶ Cascading roll-back is possible under two-phase locking. To
avoid this, follow a modified protocol called strict two-phase
locking. Here a transaction must hold all its exclusive locks till it
commits/aborts.
▶ Rigorous two-phase locking is even stricter: here all locks
are held till commit/abort. In this protocol transactions can be
serialized in the order in which they commit.
The Two-Phase Locking
Protocol (Cont.)
▶There can be conflict serializable schedules that
cannot be obtained if two-phase locking is used.
▶However, in the absence of extra information (e.g.,
ordering of access to data), two-phase locking is
needed for conflict serializability in the following
sense:
▶Given a transaction Ti that does not follow two-phase
locking, we can find a transaction Tj that uses two-
phase locking, and a schedule for Ti and Tj that is not
conflict serializable.
Lock Conversions
▶ 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)
▶ This protocol assures serializability. But still relies on the programmer to insert
the various locking instructions.
Implementation of Locking
▶ A Lock manager can be implemented as a separate process to
which transactions send lock and unlock requests
▶ The lock manager replies to a lock request by sending a lock
grant messages (or a message asking the transaction to roll
back, in case of a deadlock)
▶ The requesting transaction waits until its request is answered
▶ The lock manager maintains a data structure called a lock table
to record granted locks and pending requests
▶ The lock table is usually implemented as an in-memory hash
table indexed on the name of the data item being locked
TOPIC:- TIME STAMP-BASED
PROTOCOLS
PRESENTED BY:-
NAME:- GAURAV PRAKASH
ROLL NO:- MCA/25006/18
Timestamp-Based Protocols
▶ Each transaction is issued a timestamp when it enters the
system. 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).
▶ The protocol manages concurrent execution such that the
time-stamps determine the serializability order.
Timestamp-Based Protocols
▶ In order to assure such behavior, the protocol
maintains for each data Q two timestamp values:
 W-timestamp(Q) is the largest time-stamp of any
transaction that executed write(Q) successfully.
 R-timestamp(Q) is the largest time-stamp of any
transaction that executed read(Q) successfully.
Timestamp-Based Protocols
▶ The timestamp ordering protocol ensures that any
conflicting read and write operations are executed in
timestamp order.
▶ 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 the maximum of
R- timestamp(Q) and TS(Ti).
Timestamp-Based Protocols
Suppose that transaction Ti issues 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).
Timestamp-Based Protocols
▶ The timestamp-ordering protocol guarantees serializability since all
the arcs in the precedence graph are of the form:
▶ Thus, there will be no cycles in the precedence graph
▶ Timestamp protocol ensures freedom from deadlock as no transaction
ever waits.
▶ But the schedule may not be cascade-free, and may not even be
recoverable
Timestamp-Based Protocols
▶ 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
Timestamp-Based Protocols
Solution:
▶ 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.
THE END.

More Related Content

Similar to recoverability and serializability dbms

Concurrency Control.pptx
Concurrency Control.pptxConcurrency Control.pptx
Concurrency Control.pptxVijaySourtha
 
DBMS Presentation.pptx
DBMS Presentation.pptxDBMS Presentation.pptx
DBMS Presentation.pptxPravinBhargav1
 
UNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsUNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsRaj vardhan
 
Concurrency Control & Deadlock Handling
Concurrency Control & Deadlock HandlingConcurrency Control & Deadlock Handling
Concurrency Control & Deadlock HandlingMeghaj Mallick
 
Concurrency Control Techniques
Concurrency Control TechniquesConcurrency Control Techniques
Concurrency Control TechniquesRaj vardhan
 
Concurrency Control, Recovery, Case Studies
Concurrency Control, Recovery, Case StudiesConcurrency Control, Recovery, Case Studies
Concurrency Control, Recovery, Case StudiesPrabu U
 
Unit 4 Concurrency control.pptx dbms lovely
Unit 4 Concurrency control.pptx dbms lovelyUnit 4 Concurrency control.pptx dbms lovely
Unit 4 Concurrency control.pptx dbms lovelyPritishMajumdar3
 
Unit 4 Concurrency control.pptx dbms lovely
Unit 4 Concurrency control.pptx dbms lovelyUnit 4 Concurrency control.pptx dbms lovely
Unit 4 Concurrency control.pptx dbms lovelyPritishMajumdar3
 
UNIT 2- TRANSACTION CONCEPTS AND CONCURRENCY CONCEPTS (1).pdf
UNIT 2- TRANSACTION CONCEPTS AND CONCURRENCY CONCEPTS (1).pdfUNIT 2- TRANSACTION CONCEPTS AND CONCURRENCY CONCEPTS (1).pdf
UNIT 2- TRANSACTION CONCEPTS AND CONCURRENCY CONCEPTS (1).pdfKavitaShinde26
 
Transactions in dbms
Transactions in dbmsTransactions in dbms
Transactions in dbmsNancy Gulati
 
3 concurrencycontrolone
3 concurrencycontrolone3 concurrencycontrolone
3 concurrencycontroloneKamal Shrish
 

Similar to recoverability and serializability dbms (20)

Unit-IV_transaction.pptx
Unit-IV_transaction.pptxUnit-IV_transaction.pptx
Unit-IV_transaction.pptx
 
concurrency control
concurrency controlconcurrency control
concurrency control
 
Concurrency Control.pptx
Concurrency Control.pptxConcurrency Control.pptx
Concurrency Control.pptx
 
Chapter17
Chapter17Chapter17
Chapter17
 
DBMS Presentation.pptx
DBMS Presentation.pptxDBMS Presentation.pptx
DBMS Presentation.pptx
 
UNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsUNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing Concepts
 
Concurrency Control & Deadlock Handling
Concurrency Control & Deadlock HandlingConcurrency Control & Deadlock Handling
Concurrency Control & Deadlock Handling
 
unit06-dbms-new.ppt
unit06-dbms-new.pptunit06-dbms-new.ppt
unit06-dbms-new.ppt
 
Transaction.pptx
Transaction.pptxTransaction.pptx
Transaction.pptx
 
Concurrency Control Techniques
Concurrency Control TechniquesConcurrency Control Techniques
Concurrency Control Techniques
 
concurrency-control
concurrency-controlconcurrency-control
concurrency-control
 
Concurrency control
Concurrency control Concurrency control
Concurrency control
 
Concurrency Control, Recovery, Case Studies
Concurrency Control, Recovery, Case StudiesConcurrency Control, Recovery, Case Studies
Concurrency Control, Recovery, Case Studies
 
Unit 4 Concurrency control.pptx dbms lovely
Unit 4 Concurrency control.pptx dbms lovelyUnit 4 Concurrency control.pptx dbms lovely
Unit 4 Concurrency control.pptx dbms lovely
 
Unit 4 Concurrency control.pptx dbms lovely
Unit 4 Concurrency control.pptx dbms lovelyUnit 4 Concurrency control.pptx dbms lovely
Unit 4 Concurrency control.pptx dbms lovely
 
Ch16
Ch16Ch16
Ch16
 
UNIT 2- TRANSACTION CONCEPTS AND CONCURRENCY CONCEPTS (1).pdf
UNIT 2- TRANSACTION CONCEPTS AND CONCURRENCY CONCEPTS (1).pdfUNIT 2- TRANSACTION CONCEPTS AND CONCURRENCY CONCEPTS (1).pdf
UNIT 2- TRANSACTION CONCEPTS AND CONCURRENCY CONCEPTS (1).pdf
 
2 phase locking protocol DBMS
2 phase locking protocol DBMS2 phase locking protocol DBMS
2 phase locking protocol DBMS
 
Transactions in dbms
Transactions in dbmsTransactions in dbms
Transactions in dbms
 
3 concurrencycontrolone
3 concurrencycontrolone3 concurrencycontrolone
3 concurrencycontrolone
 

Recently uploaded

Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...ranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 

Recently uploaded (20)

Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 

recoverability and serializability dbms

  • 2. SCHEDULE ▶ A schedule (or history ) S of n transactions T1 , T2 , …, Tn is an ordering of the operations of the transactions, such that operations of Ti in S must appear in the same order in which they occur in Ti . ▶ For example, the schedule of T1 and T2 is ▶ S : r1(X); r2(X); w1(X); r1(Y); w2(X); w1(Y);
  • 3. ▶ Two operations in a schedule are conflict if:  They belong to different transactions,  They access the same item X, and  At least one of them is a WRITE_ITEM(X) operation. ▶ A schedule S of n transactions T 1 , T 2 , …, T n is said to be a complete schedule if:  The operations in S are exactly those operations in T 1 , T 2 , …, T n including a commit or abort operation as the last operation for each transaction.  The order of operations in S is the same as their occurrence in T i .  For any two conflict operations, one of the two must occur before the other in the schedule.
  • 4. Characterizing Schedules Based on Recoverability. ▶ We would like that, once a transaction T is committed, it should never be necessary to roll back T. The schedules that meet this criterion are called recoverable schedules . Therefore:  A schedule S is recoverable if no transaction T in S commits until all transactions T’ that have written an item that T reads have committed. For example  S’ a : r 1 (X); r 2 (X); w 1 (X); r 1 (Y); w 2 (X); c 2 ; w 1 (Y); c 1 ;  is recoverable, even though it suffers from the lost update problem.
  • 5. ▶ Example -- Consider the following schedules:  Sc : r1(X); w1(X); r2(X);r1(Y); w2(X); c2; a1 ;  Sd : r1(X);w1(X); r2(X);r1(Y); w2(X); w1(Y); c1; c2 ;  Se : r1(X); w1(X); r2(X);r1(Y); w2(X); w1(Y); a1 ; a2 ;  Sc is not recoverable , because T2 reads item X written by T1 , and then T2 commits before T1 commits.  Sd is recoverable , because T2 reads item X written by T1 , and then T2 commits after T1 commits and no other conflict operations exists in the schedule.  Se is similar to Sd , but T 1 is aborted (instead of commit).  In this situation T2 should also abort, because the value of X it read is no longer valid (this phenomenon known as cascading rollback or cascading abort ).
  • 6. ▶Because cascading rollback can be quite time-consuming, we perform cascade less schedules. ▶A schedule is said to be cascade less or to avoid cascading rollback if every transaction in the schedule reads only items that were written by committed transactions. ▶A more restrictive type of schedule is called strict schedule, in which transactions can neither read nor write an item X until the last transaction that wrote X has committed (or aborted)
  • 7. Characterizing Schedules Based on Serializability ▶ If no interleaving of operations is permitted, there are only two possible arrangements for executing transactions T1 and T2 : ▶Execute (in sequence) all the operations of transaction T1, followed by all the operations of transaction T2. ▶Execute (in sequence) all the operations of transaction T2, followed by all the operations of transaction T1. ▶ If interleaving of operations is allowed there will be many possible schedules. ▶ The concept of serializability of schedules is used to identify which schedules are correct.
  • 8. ▶ Examples of serial and non-serial schedules involving transactions T 1 and T 2 .  Serial schedule A: T1 followed by T2 .  Serial schedules B: T2 followed by T1 .
  • 9. (c) Two Non-serial schedules C and D with interleaving of operations.
  • 10. ▶A schedule S is serial , if for every transaction T participating in the schedule, all the operations of T are executed consecutively in the schedule; otherwise the schedule is called non-serial. ▶The drawback of serial schedules is that they limit concurrency of interleaving of operations. ▶Two schedules are called result equivalent if they produce the same final state of the database.
  • 11. ▶Example: Two schedules that are result equivalent for the initial value of X = 100, but are not result equivalent in general.
  • 12. ▶Two schedules are called Conflict equivalent if the order of any two conflicting operations is the same in both schedules. ▶A schedule S of n transactions is Serializable if it is equivalent to some serial schedule of the same n transactions. ▶A schedule S to be conflict serializable if it is conflict equivalent to some serial schedule S’.
  • 13. ▶ Algorithm for testing conflict serializability of S:  For each transaction Ti in schedule S, create a node,  If Tj executes a READ_ITEM(X) after Ti executes a WRITE_ITEM(X), create an edge Ti->Tj  If Tj executes a WRITE_ITEM(X) after Ti executes a READ_ITEM(X), create an edge Ti->Tj  If Tj executes a WRITE_ITEM(X) after Ti executes a WRITE_ITEM(X), create an edge Ti->Tj  The schedule S is serializable if and only if the precedence graph has no cycle.
  • 14. TOPIC:- LOCK BASED PROTOCOLS PRESENTED BY:- NAME:- SATYA PRAKASH RANJAN ROLL NO:- MCA/25005/18
  • 15. LOCK BASED PROTOCOLS ▶ A lock is a mechanism to control concurrent access to a data item Data items can be locked in two modes : 1. exclusive (X) mode. Data item can be both read as well as written. X-lock is requested using lock-X instruction. 2. shared (S) mode. Data item can only be read. S-lock is requested using lock-S instruction. ▶ Lock requests are made to concurrency-control manager. Transaction can proceed only after request is granted.
  • 16. Lock-Based Protocols (Cont.) ▶ A transaction may be granted a lock on an item if the requested lock is compatible with locks already held on the item by other transactions ▶ Any number of transactions can hold shared locks on an item, but if any transaction holds an exclusive on the item no other transaction may hold any lock on the item. ▶ 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. Lock-compatibility matrix
  • 17. Pitfal s of Lock-Based Protocols ▶ Consider the partial schedule Neither T3 nor T4 can make progress — executing lock-S(B) causes T4 to wait for T3 to release its lock on B, while executing lock-X(A) causes T3 to wait for T4 to release its lock on A. Such a situation is called a deadlock.  To handle a deadlock one of T3 or T4 must be rolled back and its locks released.
  • 18. Pitfalls of Lock-Based Protocols (Cont.) ▶ The potential for deadlock exists in most locking protocols. Deadlocks are a necessary evil. ▶ Starvation is also possible if concurrency control manager is badly designed. For example: 🢐 A transaction may be waiting for an X-lock on an item, while a sequence of other transactions request and are granted an S-lock on the same item. 🢐 The same transaction is repeatedly rolled back due to deadlocks. ▶ Concurrency control manager can be designed to prevent starvation
  • 19. The Two-Phase Locking Protocol ▶ 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 protocol assures serializability. It can be proved that the transactions can be serialized in the order of their lock points (i.e. the point where a transaction acquired its final lock).
  • 20. The Two-Phase Locking Protocol (Cont.) ▶ Two-phase locking does not ensure freedom from deadlocks ▶ Cascading roll-back is possible under two-phase locking. To avoid this, follow a modified protocol called strict two-phase locking. Here a transaction must hold all its exclusive locks till it commits/aborts. ▶ Rigorous two-phase locking is even stricter: here all locks are held till commit/abort. In this protocol transactions can be serialized in the order in which they commit.
  • 21. The Two-Phase Locking Protocol (Cont.) ▶There can be conflict serializable schedules that cannot be obtained if two-phase locking is used. ▶However, in the absence of extra information (e.g., ordering of access to data), two-phase locking is needed for conflict serializability in the following sense: ▶Given a transaction Ti that does not follow two-phase locking, we can find a transaction Tj that uses two- phase locking, and a schedule for Ti and Tj that is not conflict serializable.
  • 22. Lock Conversions ▶ 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) ▶ This protocol assures serializability. But still relies on the programmer to insert the various locking instructions.
  • 23. Implementation of Locking ▶ A Lock manager can be implemented as a separate process to which transactions send lock and unlock requests ▶ The lock manager replies to a lock request by sending a lock grant messages (or a message asking the transaction to roll back, in case of a deadlock) ▶ The requesting transaction waits until its request is answered ▶ The lock manager maintains a data structure called a lock table to record granted locks and pending requests ▶ The lock table is usually implemented as an in-memory hash table indexed on the name of the data item being locked
  • 24. TOPIC:- TIME STAMP-BASED PROTOCOLS PRESENTED BY:- NAME:- GAURAV PRAKASH ROLL NO:- MCA/25006/18
  • 25. Timestamp-Based Protocols ▶ Each transaction is issued a timestamp when it enters the system. 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). ▶ The protocol manages concurrent execution such that the time-stamps determine the serializability order.
  • 26. Timestamp-Based Protocols ▶ In order to assure such behavior, the protocol maintains for each data Q two timestamp values:  W-timestamp(Q) is the largest time-stamp of any transaction that executed write(Q) successfully.  R-timestamp(Q) is the largest time-stamp of any transaction that executed read(Q) successfully.
  • 27. Timestamp-Based Protocols ▶ The timestamp ordering protocol ensures that any conflicting read and write operations are executed in timestamp order. ▶ 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 the maximum of R- timestamp(Q) and TS(Ti).
  • 28. Timestamp-Based Protocols Suppose that transaction Ti issues 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).
  • 29. Timestamp-Based Protocols ▶ The timestamp-ordering protocol guarantees serializability since all the arcs in the precedence graph are of the form: ▶ Thus, there will be no cycles in the precedence graph ▶ Timestamp protocol ensures freedom from deadlock as no transaction ever waits. ▶ But the schedule may not be cascade-free, and may not even be recoverable
  • 30. Timestamp-Based Protocols ▶ 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
  • 31. Timestamp-Based Protocols Solution: ▶ 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.