SlideShare a Scribd company logo
1 of 23
Advance Database Management Systems :35
Recoverability and Serializability
Prof Neeraj Bhargava
Vaibhav Khanna
Department of Computer Science
School of Engineering and Systems Sciences
Maharshi Dayanand Saraswati University Ajmer
Slide 17- 2
3 Desirable Properties of Transactions (1)
ACID properties:
• Atomicity: A transaction is an atomic unit of processing; it is either
performed in its entirety or not performed at all.
• Consistency preservation: A correct execution of the transaction must
take the database from one consistent state to another.
• Isolation: A transaction should not make its updates visible to other
transactions until it is committed; this property, when enforced strictly,
solves the temporary update problem and makes cascading rollbacks of
transactions unnecessary (see Chapter 21).
• Durability or permanency: Once a transaction changes the database and
the changes are committed, these changes must never be lost because of
subsequent failure.
Slide 17- 3
Characterizing Schedules based on
Recoverability (1)
• Transaction schedule or history:
– When transactions are executing concurrently in an interleaved
fashion, the order of execution of operations from the various
transactions forms what is known as a transaction schedule (or
history).
• A schedule (or history) S of n transactions T1, T2, …, Tn:
– It is an ordering of the operations of the transactions subject to the
constraint that, for each transaction Ti that participates in S, the
operations of T1 in S must appear in the same order in which they
occur in T1.
– Note, however, that operations from other transactions Tj can be
interleaved with the operations of Ti in S.
Slide 17- 4
Characterizing Schedules based on
Recoverability (2)
Schedules classified on recoverability:
• Recoverable schedule:
– One where no transaction needs to be rolled back.
– 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.
• Cascadeless schedule:
– One where every transaction reads only the items
that are written by committed transactions.
Slide 17- 5
Characterizing Schedules based on
Recoverability (3)
Schedules classified on recoverability (contd.):
• Schedules requiring cascaded rollback:
– A schedule in which uncommitted transactions
that read an item from a failed transaction
must be rolled back.
• Strict Schedules:
– A schedule in which a transaction can neither read
or write an item X until the last transaction that
wrote X has committed.
Slide 17- 6
Characterizing Schedules based on
Serializability (1)
• Serial schedule:
– 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 nonserial schedule.
• Serializable schedule:
– A schedule S is serializable if it is equivalent to
some serial schedule of the same n transactions.
Slide 17- 7
Characterizing Schedules based on
Serializability (2)
• Result equivalent:
– Two schedules are called result equivalent if they
produce the same final state of the database.
• Conflict equivalent:
– Two schedules are said to be conflict equivalent if the
order of any two conflicting operations is the same in
both schedules.
• Conflict serializable:
– A schedule S is said to be conflict serializable if it is
conflict equivalent to some serial schedule S’.
Slide 17- 8
Characterizing Schedules based on
Serializability (3)
• Being serializable is not the same as being
serial
• Being serializable implies that the schedule is
a correct schedule.
– It will leave the database in a consistent state.
– The interleaving is appropriate and will result in a
state as if the transactions were serially executed,
yet will achieve efficiency due to concurrent
execution.
Slide 17- 9
Characterizing Schedules based on
Serializability (4)
• Serializability is hard to check.
– Interleaving of operations occurs in an operating
system through some scheduler
– Difficult to determine beforehand how the
operations in a schedule will be interleaved.
Slide 17- 10
Characterizing Schedules based on
Serializability (5)
Practical approach:
• Come up with methods (protocols) to ensure
serializability.
• It’s not possible to determine when a
schedule begins and when it ends.
– Hence, we reduce the problem of checking the
whole schedule to checking only a committed
project of the schedule (i.e. operations from only
the committed transactions.)
• Current approach used in most DBMSs:
– Use of locks with two phase locking
Slide 17- 11
Characterizing Schedules based on
Serializability (6)
• View equivalence:
– A less restrictive definition of equivalence of
schedules
• View serializability:
– Definition of serializability based on view
equivalence.
– A schedule is view serializable if it is view
equivalent to a serial schedule.
Slide 17- 12
Characterizing Schedules based on
Serializability (7)
• Two schedules are said to be view equivalent if the following
three conditions hold:
1. The same set of transactions participates in S and S’, and S and S’
include the same operations of those transactions.
2. For any operation Ri(X) of Ti in S, if the value of X read by the
operation has been written by an operation Wj(X) of Tj (or if it is
the original value of X before the schedule started), the same
condition must hold for the value of X read by operation Ri(X) of
Ti in S’.
3. If the operation Wk(Y) of Tk is the last operation to write item Y
in S, then Wk(Y) of Tk must also be the last operation to write
item Y in S’.
Slide 17- 13
Characterizing Schedules based on
Serializability (8)
• The premise behind view equivalence:
– As long as each read operation of a transaction
reads the result of the same write operation in
both schedules, the write operations of each
transaction must produce the same results.
– “The view”: the read operations are said to see
the same view in both schedules.
Slide 17- 14
Characterizing Schedules based on
Serializability (9)
• Relationship between view and conflict
equivalence:
– The two are same under constrained write
assumption which assumes that if T writes X, it is
constrained by the value of X it read; i.e., new X =
f(old X)
– Conflict serializability is stricter than view
serializability. With unconstrained write (or blind
write), a schedule that is view serializable is not
necessarily conflict serializable.
– Any conflict serializable schedule is also view
serializable, but not vice versa.
Slide 17- 15
Characterizing Schedules based on
Serializability (10)
• Relationship between view and conflict equivalence (cont):
– Consider the following schedule of three transactions
• T1: r1(X), w1(X); T2: w2(X); and T3: w3(X):
– Schedule Sa: r1(X); w2(X); w1(X); w3(X); c1; c2; c3;
• In Sa, the operations w2(X) and w3(X) are blind writes, since
T1 and T3 do not read the value of X.
– Sa is view serializable, since it is view equivalent to the serial
schedule T1, T2, T3.
– However, Sa is not conflict serializable, since it is not conflict
equivalent to any serial schedule.
Slide 17- 16
Characterizing Schedules based on
Serializability (11)
Testing for conflict serializability: Algorithm 17.1:
– Looks at only read_Item (X) and write_Item (X)
operations
– Constructs a precedence graph (serialization graph) - a
graph with directed edges
– An edge is created from Ti to Tj if one of the
operations in Ti appears before a conflicting
operation in Tj
– The schedule is serializable if and only if the
precedence graph has no cycles.
Slide 17- 17
Constructing the Precedence Graphs
• FIGURE 17.7 Constructing the precedence graphs for schedules A and D from Figure 17.5 to
test for conflict serializability.
– (a) Precedence graph for serial schedule A.
– (b) Precedence graph for serial schedule B.
– (c) Precedence graph for schedule C (not serializable).
– (d) Precedence graph for schedule D (serializable, equivalent to schedule A).
Slide 17- 18
Another example of serializability
Testing
Slide 17- 19
Another Example of Serializability
Testing
Slide 17- 20
Another Example of Serializability
Testing
Slide 17- 21
Characterizing Schedules based on
Serializability (14)
Other Types of Equivalence of Schedules
• Under special semantic constraints, schedules
that are otherwise not conflict serializable
may work correctly.
– Using commutative operations of addition and
subtraction (which can be done in any order)
certain non-serializable transactions may work
correctly
Slide 17- 22
Characterizing Schedules based on
Serializability (15)
Other Types of Equivalence of Schedules (contd.)
• Example: bank credit / debit transactions on a given item are
separable and commutative.
– Consider the following schedule S for the two transactions:
– Sh : r1(X); w1(X); r2(Y); w2(Y); r1(Y); w1(Y); r2(X); w2(X);
– Using conflict serializability, it is not serializable.
– However, if it came from a (read,update, write) sequence as
follows:
• r1(X); X := X – 10; w1(X); r2(Y); Y := Y – 20;r1(Y);
• Y := Y + 10; w1(Y); r2(X); X := X + 20; (X);
– Sequence explanation: debit, debit, credit, credit.
– It is a correct schedule for the given semantics
Assignment
• What is Serializability? Explain Characterizing
Schedules based on Serializability

More Related Content

What's hot

6. Integrity and Security in DBMS
6. Integrity and Security in DBMS6. Integrity and Security in DBMS
6. Integrity and Security in DBMS
koolkampus
 
16. Concurrency Control in DBMS
16. Concurrency Control in DBMS16. Concurrency Control in DBMS
16. Concurrency Control in DBMS
koolkampus
 
15. Transactions in DBMS
15. Transactions in DBMS15. Transactions in DBMS
15. Transactions in DBMS
koolkampus
 

What's hot (20)

Concurrency Control in Database Management System
Concurrency Control in Database Management SystemConcurrency Control in Database Management System
Concurrency Control in Database Management System
 
Concurrency control
Concurrency controlConcurrency control
Concurrency control
 
Query processing and optimization (updated)
Query processing and optimization (updated)Query processing and optimization (updated)
Query processing and optimization (updated)
 
6. Integrity and Security in DBMS
6. Integrity and Security in DBMS6. Integrity and Security in DBMS
6. Integrity and Security in DBMS
 
Transactions in dbms
Transactions in dbmsTransactions in dbms
Transactions in dbms
 
Concurrent transactions
Concurrent transactionsConcurrent transactions
Concurrent transactions
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Relational Database Design
Relational Database DesignRelational Database Design
Relational Database Design
 
UML
UMLUML
UML
 
joins in database
 joins in database joins in database
joins in database
 
16. Concurrency Control in DBMS
16. Concurrency Control in DBMS16. Concurrency Control in DBMS
16. Concurrency Control in DBMS
 
Computer organisation Module 1.ppt
Computer organisation Module 1.pptComputer organisation Module 1.ppt
Computer organisation Module 1.ppt
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 
Database recovery
Database recoveryDatabase recovery
Database recovery
 
Process & Thread Management
Process & Thread  ManagementProcess & Thread  Management
Process & Thread Management
 
DBMS UNIT IV.pptx
DBMS UNIT IV.pptxDBMS UNIT IV.pptx
DBMS UNIT IV.pptx
 
Dbms 14: Relational Calculus
Dbms 14: Relational CalculusDbms 14: Relational Calculus
Dbms 14: Relational Calculus
 
Transaction Serializability in DBMS
Transaction Serializability in DBMSTransaction Serializability in DBMS
Transaction Serializability in DBMS
 
Transaction
TransactionTransaction
Transaction
 
15. Transactions in DBMS
15. Transactions in DBMS15. Transactions in DBMS
15. Transactions in DBMS
 

Similar to Adbms 35 recoverability and serializability

ch17_Transaction management in Database Management System
ch17_Transaction management in Database Management Systemch17_Transaction management in Database Management System
ch17_Transaction management in Database Management System
coolscools1231
 

Similar to Adbms 35 recoverability and serializability (20)

Transactions
TransactionsTransactions
Transactions
 
Transaction and serializability
Transaction and serializabilityTransaction and serializability
Transaction and serializability
 
Ch15 3717
Ch15 3717Ch15 3717
Ch15 3717
 
Ch15 3717
Ch15 3717Ch15 3717
Ch15 3717
 
Distributed Database Design and Relational Query Language
Distributed Database Design and Relational Query LanguageDistributed Database Design and Relational Query Language
Distributed Database Design and Relational Query Language
 
concurrencycontrol_databasemanagement_system
concurrencycontrol_databasemanagement_systemconcurrencycontrol_databasemanagement_system
concurrencycontrol_databasemanagement_system
 
24904 lecture11
24904 lecture1124904 lecture11
24904 lecture11
 
Chapter-10 Transaction Processing and Error Recovery
Chapter-10 Transaction Processing and Error RecoveryChapter-10 Transaction Processing and Error Recovery
Chapter-10 Transaction Processing and Error Recovery
 
Introduction to database-Transaction Concurrency and Recovery
Introduction to database-Transaction Concurrency and RecoveryIntroduction to database-Transaction Concurrency and Recovery
Introduction to database-Transaction Concurrency and Recovery
 
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
 
Unit06 dbms
Unit06 dbmsUnit06 dbms
Unit06 dbms
 
DBMS_Transaction processing – Schedule –Serializable Schedule – Concurrency C...
DBMS_Transaction processing – Schedule –Serializable Schedule – Concurrency C...DBMS_Transaction processing – Schedule –Serializable Schedule – Concurrency C...
DBMS_Transaction processing – Schedule –Serializable Schedule – Concurrency C...
 
Chapter17
Chapter17Chapter17
Chapter17
 
Ch15
Ch15Ch15
Ch15
 
unit06-dbms-new.ppt
unit06-dbms-new.pptunit06-dbms-new.ppt
unit06-dbms-new.ppt
 
ch17.pptx
ch17.pptxch17.pptx
ch17.pptx
 
ch17_Transaction management in Database Management System
ch17_Transaction management in Database Management Systemch17_Transaction management in Database Management System
ch17_Transaction management in Database Management System
 
Cs501 transaction
Cs501 transactionCs501 transaction
Cs501 transaction
 
Unit-IV_transaction.pptx
Unit-IV_transaction.pptxUnit-IV_transaction.pptx
Unit-IV_transaction.pptx
 
20.SCHEDULES.ppt
20.SCHEDULES.ppt20.SCHEDULES.ppt
20.SCHEDULES.ppt
 

More from Vaibhav Khanna

More from Vaibhav Khanna (20)

Information and network security 47 authentication applications
Information and network security 47 authentication applicationsInformation and network security 47 authentication applications
Information and network security 47 authentication applications
 
Information and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithmInformation and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithm
 
Information and network security 45 digital signature standard
Information and network security 45 digital signature standardInformation and network security 45 digital signature standard
Information and network security 45 digital signature standard
 
Information and network security 44 direct digital signatures
Information and network security 44 direct digital signaturesInformation and network security 44 direct digital signatures
Information and network security 44 direct digital signatures
 
Information and network security 43 digital signatures
Information and network security 43 digital signaturesInformation and network security 43 digital signatures
Information and network security 43 digital signatures
 
Information and network security 42 security of message authentication code
Information and network security 42 security of message authentication codeInformation and network security 42 security of message authentication code
Information and network security 42 security of message authentication code
 
Information and network security 41 message authentication code
Information and network security 41 message authentication codeInformation and network security 41 message authentication code
Information and network security 41 message authentication code
 
Information and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithmInformation and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithm
 
Information and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithmInformation and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithm
 
Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...
 
Information and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authenticationInformation and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authentication
 
Information and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theoremInformation and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theorem
 
Information and network security 34 primality
Information and network security 34 primalityInformation and network security 34 primality
Information and network security 34 primality
 
Information and network security 33 rsa algorithm
Information and network security 33 rsa algorithmInformation and network security 33 rsa algorithm
Information and network security 33 rsa algorithm
 
Information and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystemsInformation and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystems
 
Information and network security 31 public key cryptography
Information and network security 31 public key cryptographyInformation and network security 31 public key cryptography
Information and network security 31 public key cryptography
 
Information and network security 30 random numbers
Information and network security 30 random numbersInformation and network security 30 random numbers
Information and network security 30 random numbers
 
Information and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithmInformation and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithm
 
Information and network security 28 blowfish
Information and network security 28 blowfishInformation and network security 28 blowfish
Information and network security 28 blowfish
 
Information and network security 27 triple des
Information and network security 27 triple desInformation and network security 27 triple des
Information and network security 27 triple des
 

Recently uploaded

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Adbms 35 recoverability and serializability

  • 1. Advance Database Management Systems :35 Recoverability and Serializability Prof Neeraj Bhargava Vaibhav Khanna Department of Computer Science School of Engineering and Systems Sciences Maharshi Dayanand Saraswati University Ajmer
  • 2. Slide 17- 2 3 Desirable Properties of Transactions (1) ACID properties: • Atomicity: A transaction is an atomic unit of processing; it is either performed in its entirety or not performed at all. • Consistency preservation: A correct execution of the transaction must take the database from one consistent state to another. • Isolation: A transaction should not make its updates visible to other transactions until it is committed; this property, when enforced strictly, solves the temporary update problem and makes cascading rollbacks of transactions unnecessary (see Chapter 21). • Durability or permanency: Once a transaction changes the database and the changes are committed, these changes must never be lost because of subsequent failure.
  • 3. Slide 17- 3 Characterizing Schedules based on Recoverability (1) • Transaction schedule or history: – When transactions are executing concurrently in an interleaved fashion, the order of execution of operations from the various transactions forms what is known as a transaction schedule (or history). • A schedule (or history) S of n transactions T1, T2, …, Tn: – It is an ordering of the operations of the transactions subject to the constraint that, for each transaction Ti that participates in S, the operations of T1 in S must appear in the same order in which they occur in T1. – Note, however, that operations from other transactions Tj can be interleaved with the operations of Ti in S.
  • 4. Slide 17- 4 Characterizing Schedules based on Recoverability (2) Schedules classified on recoverability: • Recoverable schedule: – One where no transaction needs to be rolled back. – 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. • Cascadeless schedule: – One where every transaction reads only the items that are written by committed transactions.
  • 5. Slide 17- 5 Characterizing Schedules based on Recoverability (3) Schedules classified on recoverability (contd.): • Schedules requiring cascaded rollback: – A schedule in which uncommitted transactions that read an item from a failed transaction must be rolled back. • Strict Schedules: – A schedule in which a transaction can neither read or write an item X until the last transaction that wrote X has committed.
  • 6. Slide 17- 6 Characterizing Schedules based on Serializability (1) • Serial schedule: – 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 nonserial schedule. • Serializable schedule: – A schedule S is serializable if it is equivalent to some serial schedule of the same n transactions.
  • 7. Slide 17- 7 Characterizing Schedules based on Serializability (2) • Result equivalent: – Two schedules are called result equivalent if they produce the same final state of the database. • Conflict equivalent: – Two schedules are said to be conflict equivalent if the order of any two conflicting operations is the same in both schedules. • Conflict serializable: – A schedule S is said to be conflict serializable if it is conflict equivalent to some serial schedule S’.
  • 8. Slide 17- 8 Characterizing Schedules based on Serializability (3) • Being serializable is not the same as being serial • Being serializable implies that the schedule is a correct schedule. – It will leave the database in a consistent state. – The interleaving is appropriate and will result in a state as if the transactions were serially executed, yet will achieve efficiency due to concurrent execution.
  • 9. Slide 17- 9 Characterizing Schedules based on Serializability (4) • Serializability is hard to check. – Interleaving of operations occurs in an operating system through some scheduler – Difficult to determine beforehand how the operations in a schedule will be interleaved.
  • 10. Slide 17- 10 Characterizing Schedules based on Serializability (5) Practical approach: • Come up with methods (protocols) to ensure serializability. • It’s not possible to determine when a schedule begins and when it ends. – Hence, we reduce the problem of checking the whole schedule to checking only a committed project of the schedule (i.e. operations from only the committed transactions.) • Current approach used in most DBMSs: – Use of locks with two phase locking
  • 11. Slide 17- 11 Characterizing Schedules based on Serializability (6) • View equivalence: – A less restrictive definition of equivalence of schedules • View serializability: – Definition of serializability based on view equivalence. – A schedule is view serializable if it is view equivalent to a serial schedule.
  • 12. Slide 17- 12 Characterizing Schedules based on Serializability (7) • Two schedules are said to be view equivalent if the following three conditions hold: 1. The same set of transactions participates in S and S’, and S and S’ include the same operations of those transactions. 2. For any operation Ri(X) of Ti in S, if the value of X read by the operation has been written by an operation Wj(X) of Tj (or if it is the original value of X before the schedule started), the same condition must hold for the value of X read by operation Ri(X) of Ti in S’. 3. If the operation Wk(Y) of Tk is the last operation to write item Y in S, then Wk(Y) of Tk must also be the last operation to write item Y in S’.
  • 13. Slide 17- 13 Characterizing Schedules based on Serializability (8) • The premise behind view equivalence: – As long as each read operation of a transaction reads the result of the same write operation in both schedules, the write operations of each transaction must produce the same results. – “The view”: the read operations are said to see the same view in both schedules.
  • 14. Slide 17- 14 Characterizing Schedules based on Serializability (9) • Relationship between view and conflict equivalence: – The two are same under constrained write assumption which assumes that if T writes X, it is constrained by the value of X it read; i.e., new X = f(old X) – Conflict serializability is stricter than view serializability. With unconstrained write (or blind write), a schedule that is view serializable is not necessarily conflict serializable. – Any conflict serializable schedule is also view serializable, but not vice versa.
  • 15. Slide 17- 15 Characterizing Schedules based on Serializability (10) • Relationship between view and conflict equivalence (cont): – Consider the following schedule of three transactions • T1: r1(X), w1(X); T2: w2(X); and T3: w3(X): – Schedule Sa: r1(X); w2(X); w1(X); w3(X); c1; c2; c3; • In Sa, the operations w2(X) and w3(X) are blind writes, since T1 and T3 do not read the value of X. – Sa is view serializable, since it is view equivalent to the serial schedule T1, T2, T3. – However, Sa is not conflict serializable, since it is not conflict equivalent to any serial schedule.
  • 16. Slide 17- 16 Characterizing Schedules based on Serializability (11) Testing for conflict serializability: Algorithm 17.1: – Looks at only read_Item (X) and write_Item (X) operations – Constructs a precedence graph (serialization graph) - a graph with directed edges – An edge is created from Ti to Tj if one of the operations in Ti appears before a conflicting operation in Tj – The schedule is serializable if and only if the precedence graph has no cycles.
  • 17. Slide 17- 17 Constructing the Precedence Graphs • FIGURE 17.7 Constructing the precedence graphs for schedules A and D from Figure 17.5 to test for conflict serializability. – (a) Precedence graph for serial schedule A. – (b) Precedence graph for serial schedule B. – (c) Precedence graph for schedule C (not serializable). – (d) Precedence graph for schedule D (serializable, equivalent to schedule A).
  • 18. Slide 17- 18 Another example of serializability Testing
  • 19. Slide 17- 19 Another Example of Serializability Testing
  • 20. Slide 17- 20 Another Example of Serializability Testing
  • 21. Slide 17- 21 Characterizing Schedules based on Serializability (14) Other Types of Equivalence of Schedules • Under special semantic constraints, schedules that are otherwise not conflict serializable may work correctly. – Using commutative operations of addition and subtraction (which can be done in any order) certain non-serializable transactions may work correctly
  • 22. Slide 17- 22 Characterizing Schedules based on Serializability (15) Other Types of Equivalence of Schedules (contd.) • Example: bank credit / debit transactions on a given item are separable and commutative. – Consider the following schedule S for the two transactions: – Sh : r1(X); w1(X); r2(Y); w2(Y); r1(Y); w1(Y); r2(X); w2(X); – Using conflict serializability, it is not serializable. – However, if it came from a (read,update, write) sequence as follows: • r1(X); X := X – 10; w1(X); r2(Y); Y := Y – 20;r1(Y); • Y := Y + 10; w1(Y); r2(X); X := X + 20; (X); – Sequence explanation: debit, debit, credit, credit. – It is a correct schedule for the given semantics
  • 23. Assignment • What is Serializability? Explain Characterizing Schedules based on Serializability