View Equivalence and View Serializability

21.5.4 View Equivalence and View Serializability

In Section 21.5.1 we defined the concepts of conflict equivalence of schedules and conflict serializability. Another less restrictive definition of equivalence of schedules is called view equivalence. This leads to another definition of serializability called

lowing three conditions hold:

same operations of those transactions.

2. For any operation r i (X) of T i in S, if the value of X read by the operation has been written by an operation w j (X) of T j (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 r i (X) of T i

3. If the operation w k (Y) of T k is the last operation to write item Y in S, then w k (Y) of T k

The idea behind view equivalence is that, as long as each read operation of a trans- action reads the result of the same write operation in both schedules, the write operations of each transaction must produce the same results. The read operations are hence said to see the same view in both schedules. Condition 3 ensures that the final write operation on each data item is the same in both schedules, so the data- base state should be the same at the end of both schedules. A schedule S is said to be view serializable if it is view equivalent to a serial schedule.

The definitions of conflict serializability and view serializability are similar if a con- dition known as the constrained write assumption (or no blind writes) holds on all transactions in the schedule. This condition states that any write operation w i (X) in T i is preceded by a r i (X) in T i and that the value written by w i (X) in T i depends only on the value of X read by r i (X). This assumes that computation of the new value of X is a function f(X) based on the old value of X read from the database. A blind write is a write operation in a transaction T on an item X that is not depen- dent on the value of X, so it is not preceded by a read of X in the transaction T.

21.5 Characterizing Schedules Based on Serializability 769

The definition of view serializability is less restrictive than that of conflict serializ- ability under the unconstrained write assumption, where the value written by an

operation w i (X) in T i can be independent of its old value from the database. This is possible when blind writes are allowed, and it is illustrated by the following schedule

S g of three transactions T 1 :r 1 (X); w 1 (X); T 2 :w 2 (X); and T 3 :w 3 (X): S g :r 1 (X); w 2 (X); w 1 (X); w 3 (X); c 1 ;c 2 ;c 3 ;

In S g the operations w 2 (X) and w 3 (X) are blind writes, since T 2 and T 3 do not read the value of X. The schedule S g is view serializable, since it is view equivalent to the serial schedule T 1 ,T 2 ,T 3 . However, S g is not conflict serializable, since it is not conflict equivalent to any serial schedule. It has been shown that any conflict- serializable schedule is also view serializable but not vice versa, as illustrated by the preceding example. There is an algorithm to test whether a schedule S is view serial-

izable or not. However, the problem of testing for view serializability has been shown to be NP-hard, meaning that finding an efficient polynomial time algorithm for this problem is highly unlikely.