Junior — Middle
Poți enumera nivelurile de izolare a tranzacțiilor în sistemele de gestionare a bazelor de date?
sobes.tech AI
Răspuns de la AI
În sistemele de gestionare a bazelor de date (SGBD), de obicei se disting patru niveluri principale de izolare a tranzacțiilor, care determină cum și când devin vizibile pentru alții modificările unei tranzacții:
-
Read Uncommitted (Citire neconfirmată)
- O tranzacție poate vedea modificările altor tranzacții, chiar dacă acestea nu au fost încă confirmate.
- Posibile "citiri murdare" (dirty reads).
-
Read Committed (Citire confirmată)
- Tranzacția vede doar modificările care au fost confirmate.
- Elimină citirile murdare, dar pot apărea citiri nerepetabile.
-
Repeatable Read (Citire repetabilă)
- Garantă că dacă o tranzacție a citit date, o citire ulterioară a acelorasi date va da același rezultat.
- Previne citirile nerepetabile, dar pot apărea citiri fantomă.
-
Serializable (Serializabil)
- Cel mai strict nivel, tranzacțiile sunt executate ca și cum ar fi secvențiale.
- Elimină citirile fantomă, asigură integritatea maximă, dar reduce paralelismul.
Alegerea nivelului de izolare reprezintă un echilibru între performanță și integritatea datelor.