Thomas write rule

Da testwiki.
Vai alla navigazione Vai alla ricerca

Template:S 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:

[T1T2R(A)W(A)Com.W(A)Com.]

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:

[T1T2R(A)W(A)Com.W(A)Com.]

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

Template:Portale