Bussola r2uInizio · dodici corsi visivi

SQL e database · 16 min

Il softwareMappa del corso

Isolation: cosa vede l’altra sessione

Read committed, repeatable read, serializable: tre risposte alla stessa domanda “vedo la riga sporca?”.

Il disegno

La griglia che i PDF di teoria elencano. Tienila su un foglio.

dirty readnon-repeatablephantom
read committednosìsì
repeatable readnonodipende
serializablenonono
pezzo selezionato
MVCC

I lettori non bloccano gli scrittori. I morti (tuple vecchie) si vacuum/purge.

Da ricordare

Isolation alta ≠ “più lento sempre”. È più conflitti, o più versioni.

In poche righe

Read uncommitted ( sporco ) quasi nessuno lo vuole. Read committed: vedi solo committato, ma due SELECT possono differire. Repeatable read / snapshot: la foto della transazione. Serializable: come se le transazioni fossero in fila.

Fenomeni: dirty read, non-repeatable, phantom. Lock vs MVCC: Postgres e InnoDB non si disegnano uguali, ma la domanda all’utente è la stessa. Deadlock: due recinti, due chiavi, inversi — uno deve morire e ritentare.

Disegna questo

Due sessioni, una riga. A scrive e non committa. B legge: tre fogli (sporco / no / attesa).

Un foglio, non un software. Se lo sai ridisegnare senza guardare, la lezione è tua.