transactions - backward/forward validation in optimistic concurrency control -


i new "concurrency" & "transactions" , feel little confused backward/forward validation in optimistic concurrency control. take backward validation example. suppose tv transaction being validated , ti committed transactions. wondering why check tv's read set vs.ti's write set . why don't check tv's write set vs.ti's write set , tv's write set vs.ti's read set too? since write-write , write-read conflict operations...any explanation appreciated!

validation uses read-write conflict rules ensure scheduling of particular transaction serially equivalent overlapping transations. means once entered validation phase, no changes read/write sets can further performed.

there 3 rules need satisfied 2 transactions ti , tj, < j ( ti entered validation phase before tj):

  1. ti must not read objects written tj

  2. tj must not read objects written ti

  3. ti must not write objects written tj , tj must not write objects written ti

backward validation assumes read operations of ti performed before validation of tj started. means ti in validation phase. (rule 1 satisfied)

during validation of tj, read set of tj checked against write set of ti. if there no overlap, (rule 2 satisfied).

if rule 1 , rule 2 satified, rule 3 implicitly satisfied. changes commited done sequentially because ti entered validation phase before tj. ti's write set validated , commited before tj's write set.


Comments