Question 8 (11 marks)
In multi-version concurrency control, transactions are allocated a timestamp (their start-time) and tuples are tagged with additional fields that hold information about the timestamp of the transaction that last read/wrote the tuple.
TS(T) = start time of transaction T
WTS(X) = TS of last transaction that wrote X RTS(X) = TS of last transaction that read X
Consider the following schedule:
Assume the following:
TS(T1) = t1 and TS(T2) = t2
the initial value of X is 1 and its WTS and RTS are both t0
the value of X that T1 writes is 10 and the value of X that T2 writes is 5
a. Is the schedule conflict serializable?
(Do not attempt to put a graph in your q8.txt file; you could draw it on your worksheet and describe your working in words in q8.txt.)
b. Is the schedule view serializable?
c. For each of the time-points t0, t1, t2, t3, show the versions of X that exist and show their
RTS and WTS values
d. If a transaction commences at t6, which version of X does it see?
e. Under most concurrency control schemes, T1 would be rolled back when it attempts to write X, and the final version of X would be the value written by T2 (which is what it should be). If MVCC allows the write to proceed, discuss briefly whether this will this cause problems?
Instructions:
Type your answer to this question into the file called q8.txt Submit via: submit q8
End of Question
t0 t1 t2 t3 t4 t5 t6 T1: R(X) W(X) Commit T2: W(X) Commit
Powered by TCPDF (www.
1/1
02/05/2020
COMP9315 14s2
COMP9315 14s2 Final Exam
The University of New South Wales
COMP9315 DBMS Implementation Final Exam 14s2
[Instructions] [Notes] [PostgreSQL] [C] [Q1] [Q2] [Q3] [Q4] [Q5] [Q6] [Q7] [Q8]
DBMS Implementation
tcpdf.org)
https://www.cse.unsw.edu.au/~cs9315/19T2/past-exams/14s2/Q08.html