2.9k views

Consider the following schedule for transactions $T1, T2$ and $T3:$

$$\begin{array}{|c|c|c|}\hline \textbf{T1} & \textbf{T2} & \textbf{T3} \\\hline \text{Read(X)} & \text{} & \text{} \\\hline \text{} & \text{Read(Y)} & \text{} \\\hline \text{} & \text{} & \text{Read(Y)} \\\hline \text{} & \text{Write(Y)} & \text{} \\\hline \text{Write(X)} & \text{} & \text{} \\\hline \text{} & \text{} & \text{Write(X)} \\\hline \text{} & \text{Read(X)} & \text{} \\\hline \text{} & \text{Write(X)} & \text{} \\\hline\end{array}$$
Which one of the schedules below is the correct serialization of the above?

1. $T1 \to T3 \to T2$
2. $T2 \to T1 \to T3$
3. $T2 \to T3 \to T1$
4. $T3 \to T1 \to T2$

edited | 2.9k views
0
in T3 are they over writing x value with y value ?

Answer is option A.

create precedence graph and apply Topological sort on it to obtain
$T1 \rightarrow T3 \rightarrow T2$

by Boss (30.7k points)
edited
0
Thanks
+1
How to apply topological sort on a precedence graph?
0

@amarVashishth There should be $2$ edges from $T_3 \text{ to } T_2$, one for $\text{RW(Y)}$ and the other for $\text{WR(X)}$. Isn't it?

+1
check for view serializability here.Final write of X is made by T2, so in equivalent serial order T2 should come last.

2 options eliminated this way.

Now, Write (X) of T3 is read by T2, so T3 should precede T2.So, Option (A) suitable.
0
Please help me identify What's the conflict from T1 to T2?

The solution is described here.

hence option A is True.

by Active (3.6k points)
edited
0
how we apply topological ordering ..i draw the graph but after how to know its  serialize or not
You can use method of conflict serializability graph or precedence graph Ref: Elmasri Navathe. Then serialisation is T1 T3 T2
by Boss (11k points)