Proprietatea de izolare într-o bază de date

Izolarea controlează cum și când se fac modificări într-o bază de date

Izolarea este o parte integrantă a proprietăților tranzacției bazei de date. Este a treia proprietate a ACID (Atomicity, Consistency, Isolation, Durability) și aceste proprietăți asigură că datele sunt coerente și exacte.

Izolarea este proprietatea la nivel de bază de date care controlează modul și momentul în care se fac schimbări și dacă acestea devin vizibile una la cealaltă. Unul dintre obiectivele de izolare este acela de a permite efectuarea mai multor tranzacții în același timp, fără a afecta execuția celuilalt.

Cum funcționează izolarea

De exemplu, dacă Joe emite o tranzacție împotriva unei baze de date în același timp în care Mary emite o tranzacție diferită, ambele tranzacții ar trebui să funcționeze pe baza de date într-o manieră izolată. Baza de date ar trebui să efectueze întreaga tranzacție a lui Joe înainte de a executa Mary sau vice-versa. Aceasta împiedică tranzacția lui Joe să citească date intermediare produse ca efect secundar al unei părți din tranzacția lui Mary, care nu va fi în cele din urmă angajată în baza de date. Rețineți că proprietatea de izolare nu vă asigură care tranzacție se va executa mai întâi, doar că nu va interfera una cu cealaltă.

Nivelurile de izolare

Există patru nivele de izolare:

  1. Serializabil este cel mai înalt nivel, ceea ce înseamnă că tranzacțiile vor fi încheiate înainte ca o altă tranzacție să poată începe.
  2. Valorile repetate pot permite accesarea tranzacțiilor odată ce tranzacția a început, chiar dacă nu a fost terminată.
  3. Citește angajat permite ca datele să fie accesate după ce datele au fost angajate în baza de date, dar nu înainte de atunci.
  4. Citiți neangajat este nivelul cel mai scăzut de izolare și permite accesul datelor înainte de efectuarea modificărilor.