Izolacija kontroliše kako i kada se izmene u bazi podataka
Izolacija je sastavni deo baza podataka o transakcijama. To je treća svojina ACID (Atomicity, Consistency, Isolation, Durability) i ova svojstva osiguravaju da su podaci konzistentni i tačni.
Izolacija je svojstva na nivou baze podataka koja kontroliše kako i kada se izvršavaju izmjene i ako postanu vidljive jedni s drugima. Jedan od ciljeva izolacije je dozvoljava višestruke transakcije koje se javljaju istovremeno bez utjecaja na izvršenje jedne od drugih.
Kako funkcioniše izolacija
Na primjer, ako Joe izda transakciju protiv baze podataka u isto vrijeme kada Mary izda drugu transakciju, obe transakcije treba da rade na bazi podataka na izolovan način. Baza podataka bi trebalo da izvrši cjelokupnu transakciju Joe pre nego što izvrši Mary ili obrnuto. Ovo sprečava Joeovu transakciju da očitava posredne podatke proizvedene kao sporedni efekat dela Marijine transakcije koja na kraju neće biti posvećena bazi podataka. Imajte na umu da osobina izolacije ne osigurava koja će transakcija izvršiti prvo, samo da se neće mešati jedni s drugima.
Izolacioni nivoi
Postoje četiri nivoa izolacije:
- Serijalizabilan je najviši nivo, što znači da će se transakcije završiti pre nego što se druga transakcija može započeti.
- Ponovljivi čitači omogućavaju pristup transakcijama kada se transakcija započne, iako nije završena.
- Čitanje obaveza dozvoljava pristup podacima nakon što su podaci posvećeni bazi podataka, ali ne pre toga.
- Čitanje nepoznato je najniži nivo izolacije i omogućava pristup podacima pre nego što su izvršene izmene.