Nello standard ANSI SQL-92 vengono definiti dei “fenomeni” e sulla base di questi sono definiti quattro pollibili livelli di isolamento fra le transazioni. In sostanza questi livelli di isolamento stabiliscono quali sono i fenomeni che si possono osservare su un database su cui vi sono più sessioni o transazioni che operano in concorrenza.
Fenomeni (phenomena)
i fenomeni che si possono osservare su un database relazionale quanto più sessioni o transazioni operano in concorrenza sono:
- Dirty Read: essenzialmente una sessione vede dati modificati da un’altra sessione ma non committati
- Non-repeatable Read: una sessione legge dei dati, ad una successiva lettura i dati non sono gli stessi
- Phantom: una sessione legge dei dati che soddisfano una certa condizione, un’altra sessione aggiunge o toglie dati che soddisfano la stessa condizione, la prima sessione rilegge i dati e quindi vede più o meno dati rispetto a prima (e simile a non-repeatable read ma non si tratta di dati modificati, si tratta di dati aggiunti o tolti)
Isolation Levels
I livelli di isolamento sono definiti in funzione dei fenomeni che si possono verificare. I livelli definiti sono quattro:
- READ UNCOMMITTED
- READ COMMITTED
- REPEATABLE READ
- SERIALIZABLE
Thomas Kyte ha scritto un interessante capitolo sul suo libro che descrive nei dettagli tutti i risvolti dei vari livelli. Inoltre oggi cercando ho trovato quest’altro interessante blog
Postato in: Diario, Installation and Configuration, SQL


Read Translated version of this blog 


[...] Archivio ← ANSI SQL Isolation Levels [...]
[...] Concepts”. In sostanza si tratta di meccanismi che permettono di implementare l’isolation level “READ COMMITTED” senza mai bloccare le letture e senza che i lettori blocchino i [...]