Izoliavimo nuosavybė duomenų bazėje

Atranka kontroliuoja, kaip ir kada pakeitimai atliekami duomenų bazėje

Izoliavimas yra neatskiriama duomenų bazės sandorių savybių dalis. Tai trečioji rūgšties ACID (Atomicity, Consistency, Isolation, Durability) savybė ir šios savybės užtikrina, kad duomenys būtų nuoseklūs ir tikslūs.

Izoliavimas yra duomenų bazės lygio nuosavybė, kuri kontroliuoja, kaip ir kada atliekami pakeitimai, ir ar jie tampa matomi vieni kitiems. Vienas iš izoliacijos tikslų - sudaryti sąlygas tuo pačiu metu įvykdyti kelis sandorius, nepažeidžiant vieni kitų vykdymo.

Kaip veikia izoliacija

Pavyzdžiui, jei "Joe" išduoda sandorį prieš duomenų bazę tuo pačiu metu, kai "Mary" išduoda kitą sandorį, abu sandoriai turėtų veikti atskirai. Prieš vykdydami Marijos ir atvirkščiai, duomenų bazė turėtų atlikti visą Joe sandorį. Tai neleidžia "Joe" sandoriui skaityti tarpinių duomenų, kurie yra šalutiniai Marijos sandorio elementai, kurie vėliau nebus įtraukti į duomenų bazę. Atkreipkite dėmesį, kad izoliacijos nuosavybė neužtikrina, kokiu būdu pirmas įvykdys sandorius, tik kad jie netrukdys vieni kitiems.

Izoliavimo lygiai

Yra keturi izoliacijos lygiai:

  1. Serializable yra aukščiausias lygis, o tai reiškia, kad sandoriai bus baigti prieš pradedant kitą sandorį.
  2. Pasikartojantys skaitiniai leidžia pasiekti sandorius, kai sandoris pradedamas, nors jis ir nebuvo baigtas.
  3. Perskaityta įvykdyta leidžia prieiti prie duomenų, kai duomenys yra priskirti duomenų bazei, bet ne anksčiau.
  4. Skaitymas neprisijungus yra žemiausias izoliacijos lygis ir leidžia prieiti prie duomenų, kol pakeitimai daromi.