|< < 26 > >|

Multiversion Concurrency Control

Snapshot Isolation

Write skew

There are two possible outcomes (assuming serializability):

T1 < T2

  • T1: Computes sum = 300.
  • T1: Replaces 100 with 300.
  • T1: State of x: (1, 300), (2, 200).
  • T2: Computes sum = 500.
  • T2: Replaces 200 with 500.
  • State of x: (1, 300), (2, 500).

T2 < T1

  • T2: Computes sum = 300.
  • T2: Replaces 200 with 300.
  • T2: State of x: (1, 100), (2, 300).
  • T1: Computes sum = 400.
  • T1: Replaces 100 with 400.
  • State of x: (1, 400), (2, 300).

|< < 26 > >|