Sobes.tech
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:

  1. 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).
  2. Read Committed (Citire confirmată)

    • Tranzacția vede doar modificările care au fost confirmate.
    • Elimină citirile murdare, dar pot apărea citiri nerepetabile.
  3. 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ă.
  4. 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.