Thomas write rule
In informatica, nel campo dei database, la Thomas write rule è una regola relativa al controllo della concorrenza basata su timestamp.
Data una marca temporale o timestamp su una transazione T, che definiamo TS(T) e un "write timestamp" o timestamp di scrittura su un oggetto O, definito come WTS(O):
La regola dice che se TS(T) < WTS(O), la corrente azione di scrittura è stata resa obsoleta dalla più recente operazione di scrittura di O, che segue la scrittura corrente basandosi sull'ordinamento del Timestamp.
Dato uno schedule non-conflict serializable:
Ovvero: T1:R(A), T2:W(A), T2 Commit, T1: W(A), T1 Commit.
La Thomas Write Rule si basa sul fatto che la scrittura fatta da T1 su A non è mai vista da alcuna transazione e afferma quindi che lo schedule sopra è equivalente allo schedule riportato in seguito in cui T2 occorre strettamente dopo T1, e che perciò la scrittura di T1 può essere ignorata:
Ovvero: T1:R(A), T1: W(A), T1 Commit, T2:W(A), T2 Commit.
Questo schedule ha lo stesso effetto del primo ed è conflict serializzabile.
Bibliografia
modifica- Robert H. Thomas, A majority consensus approach to concurrency control for multiple copy databases, in ACM Transactions on Database Systems, vol. 4, n. 2, 1979, pp. 180-209, DOI:10.1145/320071.320076.