SlideShare a Scribd company logo
1 of 46
Download to read offline
CS501: DATABASE AND DATA
MINING
Transaction Management1
TRANSACTION
 A transaction is a unit of program executionp g
that accesses and possibly updates various data
items.
E t ti t t f $50 f t A t E.g. transaction to transfer $50 from account A to
account B:
1. read(A)
2. A := A – 50
3. write(A)
4. read(B)
5 B := B + 505. B := B + 50
6. write(B)
2
 Two main issues to deal with:
 Failures of various kinds, such as hardware failures
and system crashes
 Concurrent execution of multiple transactions Concurrent execution of multiple transactions
3
ACID PROPERTIES
 To preserve the integrity of data the database
system must ensure:
 Atomicity
 Consistency
 Isolation Isolation
 Durability
4
ATOMICITY
 Atomicity requirement
 Either all operations of the transaction are properly
reflected in the database or none
 If the transaction fails after step 3 and before step 6,p p ,
money will be “lost” leading to an inconsistent database
state
 Failure could be due to software or hardware
 The system should ensure that updates of a partially
executed transaction are not reflected in the database
5
CONSISTENCY
 Execution of a transaction in isolation preserves the
i t f th d t bconsistency of the database.
 Transaction to transfer $50 from account A to account B:
1. read(A)
2 A := A 502. A := A – 50
3. write(A)
4. read(B)
5. B := B + 505. B : B 50
6. write(B)
 Consistency requirement in above example:
 the sum of A and B is unchanged by the execution of theg y
transaction
6
CONSISTENCY (CONTD.)
 In general, consistency requirements include
E li i l ifi d i i i h Explicitly specified integrity constraints such as
primary keys and foreign keys
 Implicit integrity constraints
 e g sum of balances of all accounts minus sum of e.g. sum of balances of all accounts, minus sum of
loan amounts must equal value of cash-in-hand
 A transaction must see a consistent database
 During transaction execution the database may be
il i itemporarily inconsistent
 When the transaction completes successfully the
database must be consistent
 Erroneous transaction logic can lead to inconsistency Erroneous transaction logic can lead to inconsistency
7
ISOLATION
 Although multiple transactions may executeg p y
concurrently, each transaction must be unaware
of other concurrently executing transactions
I t di t t ti lt t b hidd Intermediate transaction results must be hidden
from other concurrently executed transactions.
 That is, for every pair of transactions Ti and Tj, it, y p i j,
appears to Ti that either Tj, finished execution before
Ti started, or Tj started execution after Ti finished.
8
ISOLATION (CONTD.)
 Isolation requirement - if between steps 3 andq p
6, another transaction T2 is allowed to access the
partially updated database, it will see an
inconsistent database (the sum A + B will be less(
than it should be).
T1 T2
1. read(A)
2. A := A – 50
3. write(A)
read(A), read(B), print(A+B)
4. read(B)( )
5. B := B + 50
6. write(B)
9
ISOLATION (CONTD.)
 Isolation can be ensured trivially by runningy y g
transactions serially
 that is, one after the other.
 However executing multiple transactions However, executing multiple transactions
concurrently has significant benefits
10
DURABILITY
 Durability requirement — once the user hasy q
been notified that the transaction has completed
(i.e., the transfer of the $50 has taken place), the
updates to the database by the transaction mustupdates to the database by the transaction must
persist even if there are software or hardware
failures
11
TRANSACTION STATE
 Active – the initial state; the transaction stays; y
in this state while it is executing
 Partially committed – after the final statement
has been executedhas been executed.
 Failed -- after the discovery that normal
execution can no longer proceed
Ab t d ft th t ti h b ll d Aborted – after the transaction has been rolled
back and the database restored to its state prior
to the start of the transaction. Two options after
i h b b dit has been aborted:
 Restart the transaction
 Kill the transaction
 Committed – after successful completion. 12
TRANSACTION STATETRANSACTION STATE
13
IMPLEMENTATION OF ATOMICITY AND DURABILITY
 The recovery-management component of a The recovery-management component of a
database system implements the support for
atomicity and durability.
 E.g. the shadow-database scheme:
 all updates are made on a shadow copy of the database
 db pointer is made to point to the updated shadow copy after db_pointer is made to point to the updated shadow copy after
 the transaction reaches partial commit and
 all updated pages have been flushed to disk.
14
IMPLEMENTATION OF ATOMICITY AND DURABILITY (CONT.)
 db_pointer always points to the current consistent
copy of the databasecopy of the database.
 In case transaction fails, old consistent copy pointed to by
db_pointer can be used, and the shadow copy can be
d l t ddeleted.
 The shadow-database scheme:
 Assumes that only one transaction is active at a time.y
 Assumes disks do not fail
 Useful for text editors, but
t l i ffi i t f l d t b extremely inefficient for large databases
 Does not handle concurrent transactions
15
CONCURRENT EXECUTIONS
 Multiple transactions are allowed to run
concurrently in the system. Advantages are:
 increased processor and disk utilization,
leading to better transaction throughput
 E.g. one transaction can be using the CPU while another is
reading from or writing to the disk
 reduced average response time for transactions:
short transactions need not wait behind long ones.
 Concurrency control schemes – mechanisms
to achieve isolation
th t i t t l th i t ti th that is, to control the interaction among the
concurrent transactions in order to prevent them
from destroying the consistency of the database
16
SCHEDULE
 A sequences of instructions that specify the
chronological order in which instructions of concurrent
t ti t dtransactions are executed
 a schedule for a set of transactions must consist of all
instructions of those transactions
t th d i hi h th i t ti i must preserve the order in which the instructions appear in
each individual transaction
 A transaction that successfully completes its execution
ill h i i i h lwill have a commit instruction as the last statement
 by default transaction assumed to execute commit instruction
as its last step
 A transaction that fails to successfully complete its
execution will have an abort instruction as the last
statement
17
SCHEDULE 1
 Let T1 transfers $50 from A to B, and T2 transfer 10% of the
balance from A to B.
 A serial schedule in which T1 is followed by T2 :
18
SCHEDULE 2
• A serial schedule where T2 is followed by T1
19
SCHEDULE 3
 Let T and T be the transactions defined previously Let T1 and T2 be the transactions defined previously.
The following schedule is not a serial schedule, but it
is equivalent to Schedule 1.
In Schedules 1, 2 and 3, the sum A + B is preserved.
20
SCHEDULE 4
 The above concurrent schedule does not preserve the
value of (A + B ). 21
SERIALIZABILITY
 Basic Assumption – Each transaction preserves database
consistency
 Thus serial execution of a set of transactions preserves
d t b i tdatabase consistency
 A (possibly concurrent) schedule is serializable if it is
equivalent to a serial schedule
 Different forms of schedule equivalence give rise to the Different forms of schedule equivalence give rise to the
notions of:
1. conflict serializability
2. view serializability
 Simplified view of transactions
 We ignore operations other than read and write instructions
 We assume that transactions may perform arbitrary
computations on data in local buffers in between reads andp
writes.
 Our simplified schedules consist of only read and write
instructions.
22
CONFLICTING INSTRUCTIONS
 Instructions li and lj of transactions Ti and Tj
respectively, conflict if and only if there exists some
Q fitem Q accessed by both li and lj, and at least one of
these instructions wrote Q.
1 li = read(Q) lj = read(Q) li and lj don’t conflict1. li read(Q), lj read(Q). li and lj don t conflict
2. li = read(Q), lj = write(Q). They conflict
3. li = write(Q), lj = read(Q). They conflict
4 l it (Q) l it (Q) Th fli t4. li = write(Q), lj = write(Q). They conflict
 Intuitively, a conflict between li and lj forces a
(logical) temporal order between them.(logical) temporal order between them.
 If li and lj are consecutive in a schedule and they do not
conflict, their results would remain the same even if they
had been interchanged in the schedulehad been interchanged in the schedule. 23
CONFLICT SERIALIZABILITYCONFLICT SERIALIZABILITY
 If a schedule S can be transformed into a schedule
S´ by a series of swaps of non-conflicting
S S finstructions, we say that S and S´ are conflict
equivalent.
 We say that a schedule S is conflict serializable We say that a schedule S is conflict serializable
if it is conflict equivalent to a serial schedule
24
CONFLICT SERIALIZABILITY (CONT.)
 Schedule 3 can be transformed into Schedule 6, a serial
schedule where T2 follows T1, by series of swaps of non-
conflicting instructionsconflicting instructions.
 Therefore Schedule 3 is conflict serializable.
Schedule 3 Schedule 6
25
CONFLICT SERIALIZABILITY (CONT.)
 Example of a schedule that is not conflict
i li blserializable:
 We are unable to swap instructions in the abovep
schedule to obtain either the serial schedule < T3,
T4 >, or the serial schedule < T4, T3 >.
26
TESTING FOR SERIALIZABILITY
 Consider some schedule of a set of transactions T1,
T2, ..., Tn
 Precedence graph — a directed graph where the
vertices are the transactions participating in the
scheduleschedule
 We draw an edge from Ti to Tj if the two
transactions conflict, i.e.,
 Ti executes write(Q) before Tj executes read(Q)
 Ti executes read(Q) before Tj executes write(Q)
 T executes write(Q) before T executes write(Q) Ti executes write(Q) before Tj executes write(Q)
27
 We may label the arc by the item that wasy y
accessed.
 Example 1
T1 T21 2
 Now if an edge T1 →T2 exists in the precedence
graph, then, in any serial schedule S′ equivalent
to S, T1 must appear before T2
28
EXAMPLE SCHEDULE (SCHEDULE A) + PRECEDENCE GRAPH
T1 T2 T3 T4 T5
read(X)
read(Y)
read(Z)ead( )
read(V)
read(W)
read(W)
read(Y) T1 T2
write(Y)
write(Z)
read(U)
read(Y)
it (Y)write(Y)
read(Z)
write(Z)
read(U)
it (U)
T3
T4
write(U)
T5
29
5
TEST FOR CONFLICT SERIALIZABILITY
 A schedule is conflict serializable if
and only if its precedence graph is
acyclic.
 Cycle-detection algorithms exist
which take order n2 time, where n
is the number of vertices in the
graphgraph.
 (Better algorithms take order n + e
where e is the number of edges.)
 If precedence graph is acyclic, thep g p y ,
serializability order can be
obtained by a topological sorting of
the graph.
 For example a serializability order For example, a serializability order
for Schedule A would be
T5  T1  T3  T2  T4
 Are there others?
30
VIEW SERIALIZABILITY
 Let S and S´ be two schedules with the same set of
transactions. S and S´ are view equivalent if the
following three conditions are met for each data item Qfollowing three conditions are met, for each data item Q,
1. If in schedule S, transaction Ti reads the initial value of Q,
then in schedule S′ also transaction Ti must read the initial
value of Q.
2. If in schedule S transaction Ti executes read(Q), and that
value was produced by transaction Tj (if any), then in
schedule S′ also transaction Ti must read the value of Q that
was produced by the same write(Q) operation of transactionwas produced by the same write(Q) operation of transaction
Tj .
3. The transaction (if any) that performs the final write(Q)
operation in schedule S must also perform the final write(Q)
ti i h d l S′operation in schedule S′.
As can be seen, view equivalence is also based purely on
reads and writes alone.
31
VIEW SERIALIZABILITY (CONT.)VIEW SERIALIZABILITY (CONT.)
 A schedule S is view serializable if it is view
equivalent to a serial schedule.
 Every conflict serializable schedule is also a view Every conflict serializable schedule is also a view
serializable but there are view-serializable schedules
that are not conflict serializable.
 The above schedule is view equivalent to serial scheduleq
<T3, T4, T6>
 Every view serializable schedule that is not conflict
serializable has blind writes.
32
VIEW SERIALIZABILITY
 View serializability provides weaker conditions then
conflict serializability
 Still this will ensure serializability
 The key difference between view and conflict
serializability appears when a transaction writes aserializability appears when a transaction writes a
value without reading it
 The precedence graph test for conflict serializability
cannot be used directly to test for view
serializability.
 Extension to test for view serializability has cost Extension to test for view serializability has cost
exponential in the size of the precedence graph.
33
TEST FOR VIEW SERIALIZABILITY
 Imagine that there is a hypothetical transactiong yp
T0
 that wrote initial values for each database element
read by any transaction in the scheduleread by any transaction in the schedule
 Another hypothetical transaction Tf
 that reads every element written by one or more
transaction after each schedule ends
 T0 appears before all real transactions
 T ft ll t ti Tf appears after all transactions
34
SCHEDULE S
T1 T2 T3
Read(B)Read(B)
Write(A)
Read(A)
Read(A)
Write(B)
Write(B)
Write(B)
35
SOURCES AND WRITERS
 Now for Schedule S the sources of read
instructions are
 T0 for read(B) of T2, T2 for read(A) of T1 and read(A)
of Tof T3
 The source for hypothetical read(A) of Tf is T2
 The source for hypothetical read(B) of Tf is T3
 The writer in Schedule S
 Writer of A: T T Writer of A: T0, T2
 Writer of B: T0, T1, T2, T3
36
PRECEDENCE GRAPH CONSTRUCTION
 A node for each transaction and additional nodes
for the hypothetical transaction T0 and Tf
 For each action read(x) of Transaction Ti with
source Tj place an arc from Tj to Tisource Tj, place an arc from Tj to Ti
 Suppose Tj is the source for read(x) of Ti and Tk is
another writer of x
Th T i t ll d t i t b t T d T Then Tk is not allowed to intervene between Tj and Ti
so it must appear either before Tj or after Ti
 This is represented by a dashed arc pair from Tk to
T and from T to TTj and from Ti to Tk
 One or the other of an arc pair is real
 Whenever we try to make the graph acyclic, we can
pick whichever the pair helps to make it acyclicpick whichever the pair helps to make it acyclic 37
PRECEDENCE GRAPH CONSTRUCTION
(CONTD.)
 Two special cases when the arc pair becomes ap p
single pair-
 If Tj is T0, then it is not possible for Tk to appear
before T so we use an arc T → T in place of the arcbefore Tj, so we use an arc Ti → Tk in place of the arc
pair
 If Ti is Tf, then Tk cannot follow Ti, so we use an arc
T T i l f th iTk → Tj in place of the arc pair
38
INITIAL PRECEDENCE GRAPH
T0 T1 T2 T3 Tf
B
A A
B A
The initial precedence graph of
Schedule S
39
PRECEDENCE GRAPH CONSTRUCTION
(CONTD.)
 Now we must consider the transactions that
might interfere with each of these five
connections by writing the same element between
themthem
 Consider the arc T2→ T1 based on element A
 The only writers of A are T0 and T2y 0 2
 Neither of them can interfere
 Since T0 cannot move position and T2 is already at the end
of the arc
 Similar arguments hold for arcs T2 → T3 and T2
→ Tf
40
PRECEDENCE GRAPH CONSTRUCTION
(CONTD.)
 Now considering the arcs based on Bg
 T0, T1, T2 and T3 all write B
 Consider the arc T0 → T2 first
 T1 and T3 are other writers of B
 For T1, the arc pairs T1 → T0, T2 → T1
 As nothing can precede T so the option T → T is As nothing can precede T0, so the option T1 → T0 is
not possible
 So the arc T2 → T1 can only be added but this arc is
already present because of Aalready present because of A
 Similarly, argument holds for T2 → T3
 For arc T3 → Tf, only the arc T1 → T3 can be For arc T3 Tf, only the arc T1 T3 can be
added
41
COMPLETE PRECEDENCE GRAPH
T T T T TT0 T1 T2 T3 Tf
Complete precedence graph for Schedule Sg
42
SCHEDULE S1
T1 T2 T3 T4
Read(A)
Read(A)
Write(C)Write(C)
Read(C )
Write(B)
Read(B)
Write(A)
Read(C)
Write(D)
Read(B)
Write(A)Write(A)
Write(B)
43
T T T T T T
A B
C B,C C
A, B
T0 T1 T2 T3 T4 Tf
A
D
The initial precedence graph of Schedule S1
44
T0 T1 T2 T3 T4 Tf
Complete precedence graph for Schedule S1
45
 If we select the arc T4 → T14 1
 then there will be a cycle in the graph and it cannot
be converted to a serial schedule
B t if l t th T T But if we select the arc T2 → T4
 then the resultant graph is acyclic so it can be
converted to a serial schedule
46

More Related Content

What's hot

Transaction management
Transaction managementTransaction management
Transaction managementrenuka_a
 
Dbms sixth chapter_part-1_2011
Dbms sixth chapter_part-1_2011Dbms sixth chapter_part-1_2011
Dbms sixth chapter_part-1_2011sumit_study
 
Transaction management DBMS
Transaction  management DBMSTransaction  management DBMS
Transaction management DBMSMegha Patel
 
UNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsUNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsRaj vardhan
 
Transaction management in DBMS
Transaction management in DBMSTransaction management in DBMS
Transaction management in DBMSMegha Sharma
 
15. Transactions in DBMS
15. Transactions in DBMS15. Transactions in DBMS
15. Transactions in DBMSkoolkampus
 
Concepts of Data Base Management Systems
Concepts of Data Base Management SystemsConcepts of Data Base Management Systems
Concepts of Data Base Management SystemsDinesh Devireddy
 
Transaction slide
Transaction slideTransaction slide
Transaction slideshawon roy
 
Transaction states and properties
Transaction states and propertiesTransaction states and properties
Transaction states and propertiesChetan Mahawar
 
Dbms ii mca-ch9-transaction-processing-2013
Dbms ii mca-ch9-transaction-processing-2013Dbms ii mca-ch9-transaction-processing-2013
Dbms ii mca-ch9-transaction-processing-2013Prosanta Ghosh
 
DBMS-chap 2-Concurrency Control
DBMS-chap 2-Concurrency ControlDBMS-chap 2-Concurrency Control
DBMS-chap 2-Concurrency ControlMukesh Tekwani
 
Trafodion Distributed Transaction Management
Trafodion Distributed Transaction ManagementTrafodion Distributed Transaction Management
Trafodion Distributed Transaction ManagementRohit Jain
 
CS 542 -- Concurrency Control, Distributed Commit
CS 542 -- Concurrency Control, Distributed CommitCS 542 -- Concurrency Control, Distributed Commit
CS 542 -- Concurrency Control, Distributed CommitJ Singh
 

What's hot (20)

Transaction management
Transaction managementTransaction management
Transaction management
 
DBMS - Transactions
DBMS - TransactionsDBMS - Transactions
DBMS - Transactions
 
Dbms
DbmsDbms
Dbms
 
serializability in dbms
serializability in dbmsserializability in dbms
serializability in dbms
 
Dbms sixth chapter_part-1_2011
Dbms sixth chapter_part-1_2011Dbms sixth chapter_part-1_2011
Dbms sixth chapter_part-1_2011
 
Transaction management DBMS
Transaction  management DBMSTransaction  management DBMS
Transaction management DBMS
 
24904 lecture11
24904 lecture1124904 lecture11
24904 lecture11
 
UNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsUNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing Concepts
 
Transaction management in DBMS
Transaction management in DBMSTransaction management in DBMS
Transaction management in DBMS
 
15. Transactions in DBMS
15. Transactions in DBMS15. Transactions in DBMS
15. Transactions in DBMS
 
Ch15
Ch15Ch15
Ch15
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
Concepts of Data Base Management Systems
Concepts of Data Base Management SystemsConcepts of Data Base Management Systems
Concepts of Data Base Management Systems
 
Transaction slide
Transaction slideTransaction slide
Transaction slide
 
Transaction states and properties
Transaction states and propertiesTransaction states and properties
Transaction states and properties
 
Dbms ii mca-ch9-transaction-processing-2013
Dbms ii mca-ch9-transaction-processing-2013Dbms ii mca-ch9-transaction-processing-2013
Dbms ii mca-ch9-transaction-processing-2013
 
DBMS-chap 2-Concurrency Control
DBMS-chap 2-Concurrency ControlDBMS-chap 2-Concurrency Control
DBMS-chap 2-Concurrency Control
 
Trafodion Distributed Transaction Management
Trafodion Distributed Transaction ManagementTrafodion Distributed Transaction Management
Trafodion Distributed Transaction Management
 
Unit 06 dbms
Unit 06 dbmsUnit 06 dbms
Unit 06 dbms
 
CS 542 -- Concurrency Control, Distributed Commit
CS 542 -- Concurrency Control, Distributed CommitCS 542 -- Concurrency Control, Distributed Commit
CS 542 -- Concurrency Control, Distributed Commit
 

Similar to Cs501 transaction

dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...
dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...
dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...DrCViji
 
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
 
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERY
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERYTRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERY
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERYRohit Kumar
 
Transaction
TransactionTransaction
TransactionAmin Omi
 
Dartabase Transaction.pptx
Dartabase Transaction.pptxDartabase Transaction.pptx
Dartabase Transaction.pptxBibus Poudel
 
DBMS Unit III Material
DBMS Unit III MaterialDBMS Unit III Material
DBMS Unit III MaterialArthyR3
 
Transaction and serializability
Transaction and serializabilityTransaction and serializability
Transaction and serializabilityYogita Jain
 

Similar to Cs501 transaction (20)

Ch15 3717
Ch15 3717Ch15 3717
Ch15 3717
 
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
 
dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...
dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...
dokumen.tips_silberschatz-korth-and-sudarshan1-transactions-transaction-conce...
 
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
 
Join dependency
Join dependencyJoin dependency
Join dependency
 
ch14.ppt
ch14.pptch14.ppt
ch14.ppt
 
DBMS Transcations
DBMS TranscationsDBMS Transcations
DBMS Transcations
 
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERY
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERYTRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERY
TRANSACTION MANAGEMENT AND TIME STAMP PROTOCOLS AND BACKUP RECOVERY
 
Unit-IV_transaction.pptx
Unit-IV_transaction.pptxUnit-IV_transaction.pptx
Unit-IV_transaction.pptx
 
Transaction
TransactionTransaction
Transaction
 
DBMS UNIT 4
DBMS UNIT 4DBMS UNIT 4
DBMS UNIT 4
 
DBMS 4.pdf
DBMS 4.pdfDBMS 4.pdf
DBMS 4.pdf
 
Dartabase Transaction.pptx
Dartabase Transaction.pptxDartabase Transaction.pptx
Dartabase Transaction.pptx
 
DBMS Unit III Material
DBMS Unit III MaterialDBMS Unit III Material
DBMS Unit III Material
 
Transaction and serializability
Transaction and serializabilityTransaction and serializability
Transaction and serializability
 
Tybsc cs dbms2 notes
Tybsc cs dbms2 notesTybsc cs dbms2 notes
Tybsc cs dbms2 notes
 
Question answer
Question answerQuestion answer
Question answer
 
dbms sanat ppt.pdf
dbms sanat ppt.pdfdbms sanat ppt.pdf
dbms sanat ppt.pdf
 

More from Kamal Singh Lodhi (16)

Introduction to Data Structure
Introduction to Data Structure Introduction to Data Structure
Introduction to Data Structure
 
Stack Algorithm
Stack AlgorithmStack Algorithm
Stack Algorithm
 
Data Structure (MC501)
Data Structure (MC501)Data Structure (MC501)
Data Structure (MC501)
 
Cs501 trc drc
Cs501 trc drcCs501 trc drc
Cs501 trc drc
 
Cs501 rel algebra
Cs501 rel algebraCs501 rel algebra
Cs501 rel algebra
 
Cs501 mining frequentpatterns
Cs501 mining frequentpatternsCs501 mining frequentpatterns
Cs501 mining frequentpatterns
 
Cs501 intro
Cs501 introCs501 intro
Cs501 intro
 
Cs501 fd nf
Cs501 fd nfCs501 fd nf
Cs501 fd nf
 
Cs501 dm intro
Cs501 dm introCs501 dm intro
Cs501 dm intro
 
Cs501 data preprocessingdw
Cs501 data preprocessingdwCs501 data preprocessingdw
Cs501 data preprocessingdw
 
Cs501 concurrency
Cs501 concurrencyCs501 concurrency
Cs501 concurrency
 
Cs501 cluster analysis
Cs501 cluster analysisCs501 cluster analysis
Cs501 cluster analysis
 
Cs501 classification prediction
Cs501 classification predictionCs501 classification prediction
Cs501 classification prediction
 
Attribute Classification
Attribute ClassificationAttribute Classification
Attribute Classification
 
Real Time ImageVideo Processing with Applications in Face Recognition
Real Time ImageVideo Processing with  Applications in Face Recognition   Real Time ImageVideo Processing with  Applications in Face Recognition
Real Time ImageVideo Processing with Applications in Face Recognition
 
Flow diagram
Flow diagramFlow diagram
Flow diagram
 

Recently uploaded

Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 

Recently uploaded (20)

Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 

Cs501 transaction

  • 1. CS501: DATABASE AND DATA MINING Transaction Management1
  • 2. TRANSACTION  A transaction is a unit of program executionp g that accesses and possibly updates various data items. E t ti t t f $50 f t A t E.g. transaction to transfer $50 from account A to account B: 1. read(A) 2. A := A – 50 3. write(A) 4. read(B) 5 B := B + 505. B := B + 50 6. write(B) 2
  • 3.  Two main issues to deal with:  Failures of various kinds, such as hardware failures and system crashes  Concurrent execution of multiple transactions Concurrent execution of multiple transactions 3
  • 4. ACID PROPERTIES  To preserve the integrity of data the database system must ensure:  Atomicity  Consistency  Isolation Isolation  Durability 4
  • 5. ATOMICITY  Atomicity requirement  Either all operations of the transaction are properly reflected in the database or none  If the transaction fails after step 3 and before step 6,p p , money will be “lost” leading to an inconsistent database state  Failure could be due to software or hardware  The system should ensure that updates of a partially executed transaction are not reflected in the database 5
  • 6. CONSISTENCY  Execution of a transaction in isolation preserves the i t f th d t bconsistency of the database.  Transaction to transfer $50 from account A to account B: 1. read(A) 2 A := A 502. A := A – 50 3. write(A) 4. read(B) 5. B := B + 505. B : B 50 6. write(B)  Consistency requirement in above example:  the sum of A and B is unchanged by the execution of theg y transaction 6
  • 7. CONSISTENCY (CONTD.)  In general, consistency requirements include E li i l ifi d i i i h Explicitly specified integrity constraints such as primary keys and foreign keys  Implicit integrity constraints  e g sum of balances of all accounts minus sum of e.g. sum of balances of all accounts, minus sum of loan amounts must equal value of cash-in-hand  A transaction must see a consistent database  During transaction execution the database may be il i itemporarily inconsistent  When the transaction completes successfully the database must be consistent  Erroneous transaction logic can lead to inconsistency Erroneous transaction logic can lead to inconsistency 7
  • 8. ISOLATION  Although multiple transactions may executeg p y concurrently, each transaction must be unaware of other concurrently executing transactions I t di t t ti lt t b hidd Intermediate transaction results must be hidden from other concurrently executed transactions.  That is, for every pair of transactions Ti and Tj, it, y p i j, appears to Ti that either Tj, finished execution before Ti started, or Tj started execution after Ti finished. 8
  • 9. ISOLATION (CONTD.)  Isolation requirement - if between steps 3 andq p 6, another transaction T2 is allowed to access the partially updated database, it will see an inconsistent database (the sum A + B will be less( than it should be). T1 T2 1. read(A) 2. A := A – 50 3. write(A) read(A), read(B), print(A+B) 4. read(B)( ) 5. B := B + 50 6. write(B) 9
  • 10. ISOLATION (CONTD.)  Isolation can be ensured trivially by runningy y g transactions serially  that is, one after the other.  However executing multiple transactions However, executing multiple transactions concurrently has significant benefits 10
  • 11. DURABILITY  Durability requirement — once the user hasy q been notified that the transaction has completed (i.e., the transfer of the $50 has taken place), the updates to the database by the transaction mustupdates to the database by the transaction must persist even if there are software or hardware failures 11
  • 12. TRANSACTION STATE  Active – the initial state; the transaction stays; y in this state while it is executing  Partially committed – after the final statement has been executedhas been executed.  Failed -- after the discovery that normal execution can no longer proceed Ab t d ft th t ti h b ll d Aborted – after the transaction has been rolled back and the database restored to its state prior to the start of the transaction. Two options after i h b b dit has been aborted:  Restart the transaction  Kill the transaction  Committed – after successful completion. 12
  • 14. IMPLEMENTATION OF ATOMICITY AND DURABILITY  The recovery-management component of a The recovery-management component of a database system implements the support for atomicity and durability.  E.g. the shadow-database scheme:  all updates are made on a shadow copy of the database  db pointer is made to point to the updated shadow copy after db_pointer is made to point to the updated shadow copy after  the transaction reaches partial commit and  all updated pages have been flushed to disk. 14
  • 15. IMPLEMENTATION OF ATOMICITY AND DURABILITY (CONT.)  db_pointer always points to the current consistent copy of the databasecopy of the database.  In case transaction fails, old consistent copy pointed to by db_pointer can be used, and the shadow copy can be d l t ddeleted.  The shadow-database scheme:  Assumes that only one transaction is active at a time.y  Assumes disks do not fail  Useful for text editors, but t l i ffi i t f l d t b extremely inefficient for large databases  Does not handle concurrent transactions 15
  • 16. CONCURRENT EXECUTIONS  Multiple transactions are allowed to run concurrently in the system. Advantages are:  increased processor and disk utilization, leading to better transaction throughput  E.g. one transaction can be using the CPU while another is reading from or writing to the disk  reduced average response time for transactions: short transactions need not wait behind long ones.  Concurrency control schemes – mechanisms to achieve isolation th t i t t l th i t ti th that is, to control the interaction among the concurrent transactions in order to prevent them from destroying the consistency of the database 16
  • 17. SCHEDULE  A sequences of instructions that specify the chronological order in which instructions of concurrent t ti t dtransactions are executed  a schedule for a set of transactions must consist of all instructions of those transactions t th d i hi h th i t ti i must preserve the order in which the instructions appear in each individual transaction  A transaction that successfully completes its execution ill h i i i h lwill have a commit instruction as the last statement  by default transaction assumed to execute commit instruction as its last step  A transaction that fails to successfully complete its execution will have an abort instruction as the last statement 17
  • 18. SCHEDULE 1  Let T1 transfers $50 from A to B, and T2 transfer 10% of the balance from A to B.  A serial schedule in which T1 is followed by T2 : 18
  • 19. SCHEDULE 2 • A serial schedule where T2 is followed by T1 19
  • 20. SCHEDULE 3  Let T and T be the transactions defined previously Let T1 and T2 be the transactions defined previously. The following schedule is not a serial schedule, but it is equivalent to Schedule 1. In Schedules 1, 2 and 3, the sum A + B is preserved. 20
  • 21. SCHEDULE 4  The above concurrent schedule does not preserve the value of (A + B ). 21
  • 22. SERIALIZABILITY  Basic Assumption – Each transaction preserves database consistency  Thus serial execution of a set of transactions preserves d t b i tdatabase consistency  A (possibly concurrent) schedule is serializable if it is equivalent to a serial schedule  Different forms of schedule equivalence give rise to the Different forms of schedule equivalence give rise to the notions of: 1. conflict serializability 2. view serializability  Simplified view of transactions  We ignore operations other than read and write instructions  We assume that transactions may perform arbitrary computations on data in local buffers in between reads andp writes.  Our simplified schedules consist of only read and write instructions. 22
  • 23. CONFLICTING INSTRUCTIONS  Instructions li and lj of transactions Ti and Tj respectively, conflict if and only if there exists some Q fitem Q accessed by both li and lj, and at least one of these instructions wrote Q. 1 li = read(Q) lj = read(Q) li and lj don’t conflict1. li read(Q), lj read(Q). li and lj don t conflict 2. li = read(Q), lj = write(Q). They conflict 3. li = write(Q), lj = read(Q). They conflict 4 l it (Q) l it (Q) Th fli t4. li = write(Q), lj = write(Q). They conflict  Intuitively, a conflict between li and lj forces a (logical) temporal order between them.(logical) temporal order between them.  If li and lj are consecutive in a schedule and they do not conflict, their results would remain the same even if they had been interchanged in the schedulehad been interchanged in the schedule. 23
  • 24. CONFLICT SERIALIZABILITYCONFLICT SERIALIZABILITY  If a schedule S can be transformed into a schedule S´ by a series of swaps of non-conflicting S S finstructions, we say that S and S´ are conflict equivalent.  We say that a schedule S is conflict serializable We say that a schedule S is conflict serializable if it is conflict equivalent to a serial schedule 24
  • 25. CONFLICT SERIALIZABILITY (CONT.)  Schedule 3 can be transformed into Schedule 6, a serial schedule where T2 follows T1, by series of swaps of non- conflicting instructionsconflicting instructions.  Therefore Schedule 3 is conflict serializable. Schedule 3 Schedule 6 25
  • 26. CONFLICT SERIALIZABILITY (CONT.)  Example of a schedule that is not conflict i li blserializable:  We are unable to swap instructions in the abovep schedule to obtain either the serial schedule < T3, T4 >, or the serial schedule < T4, T3 >. 26
  • 27. TESTING FOR SERIALIZABILITY  Consider some schedule of a set of transactions T1, T2, ..., Tn  Precedence graph — a directed graph where the vertices are the transactions participating in the scheduleschedule  We draw an edge from Ti to Tj if the two transactions conflict, i.e.,  Ti executes write(Q) before Tj executes read(Q)  Ti executes read(Q) before Tj executes write(Q)  T executes write(Q) before T executes write(Q) Ti executes write(Q) before Tj executes write(Q) 27
  • 28.  We may label the arc by the item that wasy y accessed.  Example 1 T1 T21 2  Now if an edge T1 →T2 exists in the precedence graph, then, in any serial schedule S′ equivalent to S, T1 must appear before T2 28
  • 29. EXAMPLE SCHEDULE (SCHEDULE A) + PRECEDENCE GRAPH T1 T2 T3 T4 T5 read(X) read(Y) read(Z)ead( ) read(V) read(W) read(W) read(Y) T1 T2 write(Y) write(Z) read(U) read(Y) it (Y)write(Y) read(Z) write(Z) read(U) it (U) T3 T4 write(U) T5 29 5
  • 30. TEST FOR CONFLICT SERIALIZABILITY  A schedule is conflict serializable if and only if its precedence graph is acyclic.  Cycle-detection algorithms exist which take order n2 time, where n is the number of vertices in the graphgraph.  (Better algorithms take order n + e where e is the number of edges.)  If precedence graph is acyclic, thep g p y , serializability order can be obtained by a topological sorting of the graph.  For example a serializability order For example, a serializability order for Schedule A would be T5  T1  T3  T2  T4  Are there others? 30
  • 31. VIEW SERIALIZABILITY  Let S and S´ be two schedules with the same set of transactions. S and S´ are view equivalent if the following three conditions are met for each data item Qfollowing three conditions are met, for each data item Q, 1. If in schedule S, transaction Ti reads the initial value of Q, then in schedule S′ also transaction Ti must read the initial value of Q. 2. If in schedule S transaction Ti executes read(Q), and that value was produced by transaction Tj (if any), then in schedule S′ also transaction Ti must read the value of Q that was produced by the same write(Q) operation of transactionwas produced by the same write(Q) operation of transaction Tj . 3. The transaction (if any) that performs the final write(Q) operation in schedule S must also perform the final write(Q) ti i h d l S′operation in schedule S′. As can be seen, view equivalence is also based purely on reads and writes alone. 31
  • 32. VIEW SERIALIZABILITY (CONT.)VIEW SERIALIZABILITY (CONT.)  A schedule S is view serializable if it is view equivalent to a serial schedule.  Every conflict serializable schedule is also a view Every conflict serializable schedule is also a view serializable but there are view-serializable schedules that are not conflict serializable.  The above schedule is view equivalent to serial scheduleq <T3, T4, T6>  Every view serializable schedule that is not conflict serializable has blind writes. 32
  • 33. VIEW SERIALIZABILITY  View serializability provides weaker conditions then conflict serializability  Still this will ensure serializability  The key difference between view and conflict serializability appears when a transaction writes aserializability appears when a transaction writes a value without reading it  The precedence graph test for conflict serializability cannot be used directly to test for view serializability.  Extension to test for view serializability has cost Extension to test for view serializability has cost exponential in the size of the precedence graph. 33
  • 34. TEST FOR VIEW SERIALIZABILITY  Imagine that there is a hypothetical transactiong yp T0  that wrote initial values for each database element read by any transaction in the scheduleread by any transaction in the schedule  Another hypothetical transaction Tf  that reads every element written by one or more transaction after each schedule ends  T0 appears before all real transactions  T ft ll t ti Tf appears after all transactions 34
  • 35. SCHEDULE S T1 T2 T3 Read(B)Read(B) Write(A) Read(A) Read(A) Write(B) Write(B) Write(B) 35
  • 36. SOURCES AND WRITERS  Now for Schedule S the sources of read instructions are  T0 for read(B) of T2, T2 for read(A) of T1 and read(A) of Tof T3  The source for hypothetical read(A) of Tf is T2  The source for hypothetical read(B) of Tf is T3  The writer in Schedule S  Writer of A: T T Writer of A: T0, T2  Writer of B: T0, T1, T2, T3 36
  • 37. PRECEDENCE GRAPH CONSTRUCTION  A node for each transaction and additional nodes for the hypothetical transaction T0 and Tf  For each action read(x) of Transaction Ti with source Tj place an arc from Tj to Tisource Tj, place an arc from Tj to Ti  Suppose Tj is the source for read(x) of Ti and Tk is another writer of x Th T i t ll d t i t b t T d T Then Tk is not allowed to intervene between Tj and Ti so it must appear either before Tj or after Ti  This is represented by a dashed arc pair from Tk to T and from T to TTj and from Ti to Tk  One or the other of an arc pair is real  Whenever we try to make the graph acyclic, we can pick whichever the pair helps to make it acyclicpick whichever the pair helps to make it acyclic 37
  • 38. PRECEDENCE GRAPH CONSTRUCTION (CONTD.)  Two special cases when the arc pair becomes ap p single pair-  If Tj is T0, then it is not possible for Tk to appear before T so we use an arc T → T in place of the arcbefore Tj, so we use an arc Ti → Tk in place of the arc pair  If Ti is Tf, then Tk cannot follow Ti, so we use an arc T T i l f th iTk → Tj in place of the arc pair 38
  • 39. INITIAL PRECEDENCE GRAPH T0 T1 T2 T3 Tf B A A B A The initial precedence graph of Schedule S 39
  • 40. PRECEDENCE GRAPH CONSTRUCTION (CONTD.)  Now we must consider the transactions that might interfere with each of these five connections by writing the same element between themthem  Consider the arc T2→ T1 based on element A  The only writers of A are T0 and T2y 0 2  Neither of them can interfere  Since T0 cannot move position and T2 is already at the end of the arc  Similar arguments hold for arcs T2 → T3 and T2 → Tf 40
  • 41. PRECEDENCE GRAPH CONSTRUCTION (CONTD.)  Now considering the arcs based on Bg  T0, T1, T2 and T3 all write B  Consider the arc T0 → T2 first  T1 and T3 are other writers of B  For T1, the arc pairs T1 → T0, T2 → T1  As nothing can precede T so the option T → T is As nothing can precede T0, so the option T1 → T0 is not possible  So the arc T2 → T1 can only be added but this arc is already present because of Aalready present because of A  Similarly, argument holds for T2 → T3  For arc T3 → Tf, only the arc T1 → T3 can be For arc T3 Tf, only the arc T1 T3 can be added 41
  • 42. COMPLETE PRECEDENCE GRAPH T T T T TT0 T1 T2 T3 Tf Complete precedence graph for Schedule Sg 42
  • 43. SCHEDULE S1 T1 T2 T3 T4 Read(A) Read(A) Write(C)Write(C) Read(C ) Write(B) Read(B) Write(A) Read(C) Write(D) Read(B) Write(A)Write(A) Write(B) 43
  • 44. T T T T T T A B C B,C C A, B T0 T1 T2 T3 T4 Tf A D The initial precedence graph of Schedule S1 44
  • 45. T0 T1 T2 T3 T4 Tf Complete precedence graph for Schedule S1 45
  • 46.  If we select the arc T4 → T14 1  then there will be a cycle in the graph and it cannot be converted to a serial schedule B t if l t th T T But if we select the arc T2 → T4  then the resultant graph is acyclic so it can be converted to a serial schedule 46