Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Before continuing further towards the discussion of CC protocol, which provides serializable schedules, let's dive into the serialization theory.

...

T3 = w3[x] r3[y] w3[z]

Two possible schedules:

L1 S1 = w3[x] r1r3[xy] r3w3[yz] r2[y] w3r2[z] r2w2[zy] r1[zx] w2r1[yz] w1[x]

L2 S2 = w3[x] r1[x] r3[y] r2[y] w3[z] r2[yz] r2r1[z] w2[y] r1[x] r1[z] w1[x]

The S1 is obviously serial: it corresponds to execution sequence: T3, T2, T1

What we can tell about serializability of S2 ? Recall the serializable schedule definition: to be serializable, it must be equivalent to some serial execution order of transactions T1, T2, T3. It's not obviuos if it is or not, because S2 has conflicting operations.

Two actions on the same data object conflict if at least one of them is a write.

Description

// Provide the design of the solution.

...