Skip to content
UoL CS Notes

Conflict Serialisable Schedules

COMP207 Lectures

This is how we calculate quickly how much concurrency we can allow while satisfying isolation and consistency.

Conflict-Serialisability

This is a stronger from of serialisability that is used by most commercial DBMS. It is base on the notion of conflict:

A conflict in a schedule is a pair of operations, from different transaction, that cannot be swapped without changing the behaviour of at least one of the transactions.

r1(X);w1(X);r2(X)conflict;w2(X);r1(Y);w1(Y);

Look for a write, then read, from different transactions. Read, then write, is okay.

Conflicts

A conflict in a schedule is a pair of operations:

  1. From different transactions.
  2. That access the same item.
  3. At least one of them is a write operation.

Conflict-Equivalency

Two schedules S and S are conflict-equivalent if S can be obtained from S by swapping any number of: consecutive, non-conflicting, operations from different transactions.

Example

You want to order the transactions to make it serial:

S:r1(X);w1(X);w2(X);r2(Y);r1(Y);w1(Z)r1(X);w1(X);w2(X);r1(Y);r2(Y);w1(Z)r1(X);w1(X);r1(Y);w2(X);r2(Y);w1(Z)r1(X);w1(X);r1(Y);w2(X);w1(Z);r2(Y)S:r1(X);w1(X);r1(Y);w1(Z);w2(X);r2(Y)

A schedule is conflict-serialisable if it is conflict-equivalent to a serial schedule.

Hierarchy of Schedules

All of the types of schedules shown so far are represented below:

All Schedules (Concurrent Schedules)

Serialisable Schedules

Conflict-Serialisable Schedules

Serial Schedules

Inclusions in the diagram are strict.