Thomas Write rule

Da Wikipedia, l'enciclopedia libera.

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:

\begin{bmatrix}
T1 & T2 \\
R(A) &   \\
 &W(A)   \\
& Com.   \\
W(A) &  \\
Com. & \end{bmatrix}

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:

\begin{bmatrix}
T1 & T2 \\
R(A) &   \\
W(A) &  \\
Com. & \\
 & W(A) \\
 & Com. \end{bmatrix}

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 | modifica wikitesto]

  • 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.
informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica