Optimistic Concurrency Control (cont)
Validation check for transaction T
- for all transactions Ti ≠ T
- if V(Ti) < A(T) < F(Ti),
then check W(Ti) ∩ R(T) is empty
- if V(Ti) < V(T) < F(Ti),
then check W(Ti) ∩ W(T) is empty
If this check fails for any Ti, then T is rolled back.
Prevents:
T reading dirty data, T overwriting Ti's changes
Problems:
rolls back "complete" tx's, cost to maintain A,V,F sets
|