Izolačné vlastnosti v databáze

Izolácia riadi, ako a kedy sa vykonajú zmeny v databáze

Izolácia je neoddeliteľnou súčasťou transakčných vlastností databázy. Je to tretia vlastnosť ACID (Atomicity, Consistency, Isolation, Durability) a tieto vlastnosti zabezpečujú konzistentnosť a presnosť údajov.

Izolácia je vlastnosť na úrovni databázy, ktorá riadi, ako a kedy sa vykonajú zmeny a či sa navzájom vidia. Jedným z cieľov izolácie je umožniť viacero transakcií, ktoré sa vyskytujú súčasne, bez toho, aby to malo dopad na výkon druhej strany.

Ako funguje izolácia

Napríklad, ak Joe vydal transakciu proti databáze v tom istom čase, keď Mary vydáva inú transakciu, obidva transakcie by mali fungovať v databáze izolovane. Databáza by mala vykonať celú transakciu Joe pred uskutočnením Maryovej alebo naopak. Toto zabraňuje transakcii od spoločnosti Joe čítať prechodné údaje vytvorené ako vedľajší účinok časti transakcie spoločnosti Mary, ktorá sa neskutočne nebude viazať na databázu. Všimnite si, že vlastnosť izolácie nezabezpečuje, ktorá transakcia bude vykonaná ako prvá, len to, že nebudú navzájom rušiť.

Izolačné úrovne

Existujú štyri úrovne izolácie:

  1. Serializovateľná je najvyššia úroveň, čo znamená, že transakcie budú dokončené skôr, ako bude možné spustiť inú transakciu.
  2. Opakovateľné čítania umožňujú prístup k transakciám po spustení transakcie, aj keď neboli dokončené.
  3. Čítanie so spätnou väzbou umožňuje prístup k údajom po tom, čo boli údaje zadané do databázy, ale nie predtým.
  4. Prečítať nezáväzné je najnižšia úroveň izolácie a umožňuje prístup k údajom pred vykonaním zmien.