Sobes.tech
Middle

Aká je existujúca klasifikácia úrovní izolácie?

sobes.tech AI

Odpoveď od AI

Úrovne izolácie v databázach určujú, do akej miery sú transakcie od seba a od zmien vykonaných inými transakciami izolované. Predchádzajú rôznym problémom s paralelným prístupom.

Klasifikácia úrovní izolácie (štandard SQL):

  • READ UNCOMMITTED
    • Umožňuje čítanie nezáväzných zmien (špinavé čítanie / dirty read).
    • Problémy: špinavé čítanie, nevratné čítanie, prízrakové čítanie.
  • READ COMMITTED
    • Umožňuje čítať iba potvrdené zmeny.
    • Zakazuje špinavé čítanie.
    • Problémy: nevratné čítanie, prízrakové čítanie.
    • Predvolená najčastejšie používaná úroveň.
  • REPEATABLE READ
    • Zaručuje, že opakované čítanie toho istého súboru riadkov v jednej transakcii vráti rovnaké údaje, aj keď ich iné transakcie menia.
    • Zakazuje špinavé čítanie a nevratné čítanie.
    • Problém: prízrakové čítanie (objavenie sa nových riadkov, ktoré vyhovujú podmienke výberu).
  • SERIALIZABLE
    • Najvyššia úroveň izolácie.
    • Zaručuje úplnú absenciu problémov s paralelným prístupom. Transakcie sa vykonávajú, akoby boli vykonávané sekvenčne.
    • Zakazuje špinavé čítanie, nevratné čítanie a prízrakové čítanie.
    • Môže významne ovplyvniť výkon.

Problémy s paralelným prístupom:

Problém READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE
Špinavé čítanie Áno Nie Nie Nie
Nevratné čítanie Áno Áno Nie Nie
Prízrakové čítanie Áno Áno Áno Nie

Výber úrovne izolácie závisí od požiadaviek aplikácie a kompromisu medzi integritou dát a výkonom.