Timeline
Chat
Prospettiva
Unrepeatable read
errore nella gestione della concorrenza tra transazioni Da Wikipedia, l'enciclopedia libera
Remove ads
In informatica, con il termine unrepeateble read, o inconsistent analysis, si intende un errore nella gestione della concorrenza tra transazioni dovuta ad una dipendenza read -> write.
L'unrepeateble read è un'analisi incoerente di dati di un database da parte di una transazione causata da aggiornamenti prodotti da un'altra.
Definizione
Si è in presenza di unrepeateble read quando una transazione Ta legge un dato X con versione 0, denotato come X(0), e Tb ne produce una nuova versione X(1) la quale viene letta o scritta da Ta dopo il commit di Tb.
Esempio
Supponiamo che due transazioni Ta e Tb operino su record relativi a quantità di un materiale in magazzino. Ta somma le quantità presenti nel contenitore C1, C2 e C3. Tb vuole trasferire 1 pezzo di materiale dal contenitore C3 al contenitore C1. Ecco la situazione iniziale dei tre contenitori:
Esempio di esecuzione con Unrepeatable Read (con Sum viene indicato la somma effettuata da Ta):
Ta opera un'analisi incoerente dei dati e fornisce un risultato errato (11 invece che 12).
Remove ads
Bibliografia
- Paolo Ciaccia, Dario Mario, Lezioni di basi di dati, 2013, Editrice Esculapio, ISBN 978-8874887187
Voci correlate
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads