SlideShare a Scribd company logo
1 of 20
 Goals: Understand the basic properties of a
transaction and learn the concepts underlying
transaction processing as well as the concurrent
executions of transactions.
 A transaction is a unit of a program execution that
accesses and possibly modies various data objects
(tuples, relations).
 DBMS has to maintain the following properties of
transactions:
 Atomicity: A transaction is an atomic unit of
processing, and it either has to be performed in its
entirety or not at all.
 Consistency: A successful execution of a
transaction must take a consistent database state to
a (new) consistent database state. (; integrity
constraints).
Continue…
 Isolation: A transaction must not make its
modications visible to other transactions until it is
committed, i.e., each transaction is unaware of
other transactions executing concurrently in the
system. (; concurrency control)
 Durability: Once a transaction has committed its
changes, these changes must never get lost due to
subsequent (system) failures. (; recovery).
Continue…
 Model used for representing database modications
of a transaction:
 read(A,x): assign value of database object A to
variable x;
 write(x,A): write value of variable x to database
object A.
Continue…
 Example of a Transaction T
read(A,x)
x := x - 200
write(x,A) Transaction Schedule reflect
read(B,y) chronological order of operations
y := y + 100
write(y,B)
Continue…
 Goal: Synchronization" of transactions; allowing
concurrency (instead of insisting on a strict serial
transaction execution, i.e., process complete T1,
then T2, then T3 etc.) ; increase the throughput of
the system, ; minimize response time for each
transaction.
Continue…
 Lost Update
Time Transaction T1 Transaction T2
1 read(A,x)
2 x:=x+200
3 read(A,y)
4 y:=y+100
5 write(x,A)
6 write(y,A)
7 commit
8 commit
 The update performed by T1 gets lost; possible
solution: T1
 locks/unlocks database object A
 =) T2 cannot read A while A is modied by T1
 DBMS must control concurrent execution of
transactions to ensure read consistency, i.e., to
avoid dirty reads etc.
 A (possibly concurrent) schedule S is
serializable if it is equivalent to a serial
schedule S’, i.e., S has the same result database
state as S’.
 How to ensure serializability of concurrent
transactions?
Continue…
 Conflicts between operations of two transactions:
Ti Tj Ti Tj
read(A,x) read(A,x)
read(A,y) write(y,A)
(order does not matter) (order matters)
Ti Tj Ti Tj
write(x,A) write(x,A)
read(A,y) write(y,A)
(order matters) (order matters)
 A schedule S is serializable with regard to the above conicts i
 S can be transformed into a serial schedule S' by a series of swaps
 of non-conicting operations.
Continue…
 Checks for serializability are based on precedence
graph that describes dependencies among concurrent
transactions; if the graph has no cycle, then the
transactions are serializable.
 they can be executed concurrently without aecting
each others transaction result.
Continue…
Testing for conflict serializability: Algorithm
 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.
Continue…
 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).
 One way to ensure serializability is to require that
accesses to data objects must be done in a mutually
exclusive manner.
 Allow transaction to access data object only if it is
currently holding a lock on that object.
 Serializability can be guaranteed using locks in a
certain fashion.
=> Tests for serializability are redundant !
 Types of locks that can be used in a transaction T:
• slock(X): shared-lock (read-lock); no other transaction
than T can write data object X, but they can read X.
• xlock(X): exclusive-lock; T can read/write data object
X; no other transaction can read/write X, and
• unlock(X): unlock data object X.
Continue…
 Lock-Compatibility Matrix:
requested lock existing lock
slock xlock
slock OK No
xlock No No
 E.g., xlock(A) has to wait until all slock(A) have
been released.
Continue…
 Using locks in a transaction (lock requirements, LR):
 before each read(X) there is either a xlock(X) or a
slock(X) and no unlock(X) in between
 before each write(X) there is a xlock(X) and no
unlock(X) in between
 a slock(X) can be tightened using a xlock(X)
 after a xlock(X) or a slock(X) sometime an unlock(X)
must occur.
 But: “Simply setting locks/unlocks is not sucient“
 replace each read(X)  slock(X); read(X) unlock(X),
and write(X)  xlock(X);write(X);unlock(X).
 Two-Phase Locking Protocol (TPLP):
 A transaction T satises the TPLP iff
 after the rst unlock(X) no locks xlock(X) or slock(X) occur
 That is, rst T obtains locks, but may not release any lock
(growing phase)
and then T may release locks, but may not obtain new locks
(shrinking phase)
 Strict Two-Phase Locking Protocol:
 All unlocks at the end of the transaction T =) no dirty reads
are possible, i.e., no other transaction can write the (modied)
data objects in case of a rollback of T.
 Transaction Concept
 Properties of transaction
 Serializability of transaction
 Testing of serializability
 Two-Phase Commit protocol
Transaction  management DBMS

More Related Content

What's hot

Transactions in dbms
Transactions in dbmsTransactions in dbms
Transactions in dbmsNancy Gulati
 
Transaction states and properties
Transaction states and propertiesTransaction states and properties
Transaction states and propertiesChetan Mahawar
 
11. Storage and File Structure in DBMS
11. Storage and File Structure in DBMS11. Storage and File Structure in DBMS
11. Storage and File Structure in DBMSkoolkampus
 
Chapter 5 Database Transaction Management
Chapter 5 Database Transaction ManagementChapter 5 Database Transaction Management
Chapter 5 Database Transaction ManagementEddyzulham Mahluzydde
 
FUNCTION DEPENDENCY AND TYPES & EXAMPLE
FUNCTION DEPENDENCY  AND TYPES & EXAMPLEFUNCTION DEPENDENCY  AND TYPES & EXAMPLE
FUNCTION DEPENDENCY AND TYPES & EXAMPLEVraj Patel
 
1. Introduction to DBMS
1. Introduction to DBMS1. Introduction to DBMS
1. Introduction to DBMSkoolkampus
 
Concurrency Control Techniques
Concurrency Control TechniquesConcurrency Control Techniques
Concurrency Control TechniquesRaj vardhan
 
12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMSkoolkampus
 
Relational Data Model Introduction
Relational Data Model IntroductionRelational Data Model Introduction
Relational Data Model IntroductionNishant Munjal
 
Transaction management
Transaction managementTransaction management
Transaction managementrenuka_a
 

What's hot (20)

Schedule in DBMS
Schedule in DBMSSchedule in DBMS
Schedule in DBMS
 
Transactions in dbms
Transactions in dbmsTransactions in dbms
Transactions in dbms
 
Transaction states and properties
Transaction states and propertiesTransaction states and properties
Transaction states and properties
 
11. Storage and File Structure in DBMS
11. Storage and File Structure in DBMS11. Storage and File Structure in DBMS
11. Storage and File Structure in DBMS
 
Chapter 5 Database Transaction Management
Chapter 5 Database Transaction ManagementChapter 5 Database Transaction Management
Chapter 5 Database Transaction Management
 
File organisation
File organisationFile organisation
File organisation
 
serializability in dbms
serializability in dbmsserializability in dbms
serializability in dbms
 
Normalization in DBMS
Normalization in DBMSNormalization in DBMS
Normalization in DBMS
 
FUNCTION DEPENDENCY AND TYPES & EXAMPLE
FUNCTION DEPENDENCY  AND TYPES & EXAMPLEFUNCTION DEPENDENCY  AND TYPES & EXAMPLE
FUNCTION DEPENDENCY AND TYPES & EXAMPLE
 
Advanced DBMS presentation
Advanced DBMS presentationAdvanced DBMS presentation
Advanced DBMS presentation
 
Parallel Database
Parallel DatabaseParallel Database
Parallel Database
 
1. Introduction to DBMS
1. Introduction to DBMS1. Introduction to DBMS
1. Introduction to DBMS
 
Concurrency Control Techniques
Concurrency Control TechniquesConcurrency Control Techniques
Concurrency Control Techniques
 
ACID Property in DBMS
ACID Property in DBMSACID Property in DBMS
ACID Property in DBMS
 
Acid properties
Acid propertiesAcid properties
Acid properties
 
Databases: Normalisation
Databases: NormalisationDatabases: Normalisation
Databases: Normalisation
 
12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS
 
View of data DBMS
View of data DBMSView of data DBMS
View of data DBMS
 
Relational Data Model Introduction
Relational Data Model IntroductionRelational Data Model Introduction
Relational Data Model Introduction
 
Transaction management
Transaction managementTransaction management
Transaction management
 

Similar to Transaction management DBMS

UNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsUNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsRaj vardhan
 
5-Chapter Five - Concurrenc.ppt
5-Chapter Five - Concurrenc.ppt5-Chapter Five - Concurrenc.ppt
5-Chapter Five - Concurrenc.pptDadiTesfaye
 
Transaction and serializability
Transaction and serializabilityTransaction and serializability
Transaction and serializabilityYogita Jain
 
Characteristics Schedule based on Recover-ability & Serial-ability
Characteristics Schedule based on Recover-ability & Serial-abilityCharacteristics Schedule based on Recover-ability & Serial-ability
Characteristics Schedule based on Recover-ability & Serial-abilityMeghaj Mallick
 
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 LanguageAAKANKSHA JAIN
 
Multiversion Concurrency Control Techniques
Multiversion Concurrency Control TechniquesMultiversion Concurrency Control Techniques
Multiversion Concurrency Control TechniquesRaj vardhan
 
15. Transactions in DBMS
15. Transactions in DBMS15. Transactions in DBMS
15. Transactions in DBMSkoolkampus
 
Dbms ii mca-ch10-concurrency-control-2013
Dbms ii mca-ch10-concurrency-control-2013Dbms ii mca-ch10-concurrency-control-2013
Dbms ii mca-ch10-concurrency-control-2013Prosanta Ghosh
 
Oracle table lock modes
Oracle table lock modesOracle table lock modes
Oracle table lock modesFranck Pachot
 
Chapter Three _Concurrency Control Techniques_ETU.ppt
Chapter Three _Concurrency Control Techniques_ETU.pptChapter Three _Concurrency Control Techniques_ETU.ppt
Chapter Three _Concurrency Control Techniques_ETU.ppthaymanot taddesse
 

Similar to Transaction management DBMS (20)

UNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsUNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing Concepts
 
Chapter17
Chapter17Chapter17
Chapter17
 
5-Chapter Five - Concurrenc.ppt
5-Chapter Five - Concurrenc.ppt5-Chapter Five - Concurrenc.ppt
5-Chapter Five - Concurrenc.ppt
 
Transaction and serializability
Transaction and serializabilityTransaction and serializability
Transaction and serializability
 
Characteristics Schedule based on Recover-ability & Serial-ability
Characteristics Schedule based on Recover-ability & Serial-abilityCharacteristics Schedule based on Recover-ability & Serial-ability
Characteristics Schedule based on Recover-ability & Serial-ability
 
Chapter18
Chapter18Chapter18
Chapter18
 
24904 lecture11
24904 lecture1124904 lecture11
24904 lecture11
 
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
 
Dbms module iii
Dbms module iiiDbms module iii
Dbms module iii
 
Concurrent Transactions.ppt
Concurrent Transactions.pptConcurrent Transactions.ppt
Concurrent Transactions.ppt
 
Ch15
Ch15Ch15
Ch15
 
Multiversion Concurrency Control Techniques
Multiversion Concurrency Control TechniquesMultiversion Concurrency Control Techniques
Multiversion Concurrency Control Techniques
 
15. Transactions in DBMS
15. Transactions in DBMS15. Transactions in DBMS
15. Transactions in DBMS
 
Ch15 3717
Ch15 3717Ch15 3717
Ch15 3717
 
Ch15 3717
Ch15 3717Ch15 3717
Ch15 3717
 
Dbms ii mca-ch10-concurrency-control-2013
Dbms ii mca-ch10-concurrency-control-2013Dbms ii mca-ch10-concurrency-control-2013
Dbms ii mca-ch10-concurrency-control-2013
 
Oracle table lock modes
Oracle table lock modesOracle table lock modes
Oracle table lock modes
 
Transactions.pptx
Transactions.pptxTransactions.pptx
Transactions.pptx
 
Chapter Three _Concurrency Control Techniques_ETU.ppt
Chapter Three _Concurrency Control Techniques_ETU.pptChapter Three _Concurrency Control Techniques_ETU.ppt
Chapter Three _Concurrency Control Techniques_ETU.ppt
 
Concur15slides
Concur15slidesConcur15slides
Concur15slides
 

Recently uploaded

8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxPurva Nikam
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
 

Recently uploaded (20)

8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptx
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
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
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
 

Transaction management DBMS

  • 1.
  • 2.  Goals: Understand the basic properties of a transaction and learn the concepts underlying transaction processing as well as the concurrent executions of transactions.  A transaction is a unit of a program execution that accesses and possibly modies various data objects (tuples, relations).
  • 3.  DBMS has to maintain the following properties of transactions:  Atomicity: A transaction is an atomic unit of processing, and it either has to be performed in its entirety or not at all.  Consistency: A successful execution of a transaction must take a consistent database state to a (new) consistent database state. (; integrity constraints). Continue…
  • 4.  Isolation: A transaction must not make its modications visible to other transactions until it is committed, i.e., each transaction is unaware of other transactions executing concurrently in the system. (; concurrency control)  Durability: Once a transaction has committed its changes, these changes must never get lost due to subsequent (system) failures. (; recovery). Continue…
  • 5.  Model used for representing database modications of a transaction:  read(A,x): assign value of database object A to variable x;  write(x,A): write value of variable x to database object A. Continue…
  • 6.  Example of a Transaction T read(A,x) x := x - 200 write(x,A) Transaction Schedule reflect read(B,y) chronological order of operations y := y + 100 write(y,B) Continue…
  • 7.  Goal: Synchronization" of transactions; allowing concurrency (instead of insisting on a strict serial transaction execution, i.e., process complete T1, then T2, then T3 etc.) ; increase the throughput of the system, ; minimize response time for each transaction. Continue…
  • 8.  Lost Update Time Transaction T1 Transaction T2 1 read(A,x) 2 x:=x+200 3 read(A,y) 4 y:=y+100 5 write(x,A) 6 write(y,A) 7 commit 8 commit  The update performed by T1 gets lost; possible solution: T1  locks/unlocks database object A  =) T2 cannot read A while A is modied by T1
  • 9.  DBMS must control concurrent execution of transactions to ensure read consistency, i.e., to avoid dirty reads etc.  A (possibly concurrent) schedule S is serializable if it is equivalent to a serial schedule S’, i.e., S has the same result database state as S’.  How to ensure serializability of concurrent transactions? Continue…
  • 10.  Conflicts between operations of two transactions: Ti Tj Ti Tj read(A,x) read(A,x) read(A,y) write(y,A) (order does not matter) (order matters) Ti Tj Ti Tj write(x,A) write(x,A) read(A,y) write(y,A) (order matters) (order matters)  A schedule S is serializable with regard to the above conicts i  S can be transformed into a serial schedule S' by a series of swaps  of non-conicting operations. Continue…
  • 11.  Checks for serializability are based on precedence graph that describes dependencies among concurrent transactions; if the graph has no cycle, then the transactions are serializable.  they can be executed concurrently without aecting each others transaction result. Continue…
  • 12. Testing for conflict serializability: Algorithm  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. Continue…
  • 13.  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).
  • 14.  One way to ensure serializability is to require that accesses to data objects must be done in a mutually exclusive manner.  Allow transaction to access data object only if it is currently holding a lock on that object.  Serializability can be guaranteed using locks in a certain fashion. => Tests for serializability are redundant !
  • 15.  Types of locks that can be used in a transaction T: • slock(X): shared-lock (read-lock); no other transaction than T can write data object X, but they can read X. • xlock(X): exclusive-lock; T can read/write data object X; no other transaction can read/write X, and • unlock(X): unlock data object X. Continue…
  • 16.  Lock-Compatibility Matrix: requested lock existing lock slock xlock slock OK No xlock No No  E.g., xlock(A) has to wait until all slock(A) have been released. Continue…
  • 17.  Using locks in a transaction (lock requirements, LR):  before each read(X) there is either a xlock(X) or a slock(X) and no unlock(X) in between  before each write(X) there is a xlock(X) and no unlock(X) in between  a slock(X) can be tightened using a xlock(X)  after a xlock(X) or a slock(X) sometime an unlock(X) must occur.  But: “Simply setting locks/unlocks is not sucient“  replace each read(X)  slock(X); read(X) unlock(X), and write(X)  xlock(X);write(X);unlock(X).
  • 18.  Two-Phase Locking Protocol (TPLP):  A transaction T satises the TPLP iff  after the rst unlock(X) no locks xlock(X) or slock(X) occur  That is, rst T obtains locks, but may not release any lock (growing phase) and then T may release locks, but may not obtain new locks (shrinking phase)  Strict Two-Phase Locking Protocol:  All unlocks at the end of the transaction T =) no dirty reads are possible, i.e., no other transaction can write the (modied) data objects in case of a rollback of T.
  • 19.  Transaction Concept  Properties of transaction  Serializability of transaction  Testing of serializability  Two-Phase Commit protocol

Editor's Notes

  1. Unit: 6 Transaction Management