Izolační vlastnosti v databázi

Izolace řídí, jak a kdy jsou provedeny změny v databázi

Izolace je nedílnou součástí transakčních vlastností databáze. Je to třetí vlastnost ACID (Atomicity, Consistency, Isolation, Durability) a tyto vlastnosti zajišťují konzistentní a přesné údaje.

Izolace je vlastnost na úrovni databáze, která řídí, jak a kdy se provedou změny a zda se navzájem vidí. Jedním z cílů izolace je umožnit několik transakcí, které se vyskytují současně, aniž by došlo k jejich vzájemnému ovlivnění.

Jak funguje izolace

Například pokud Joe vydává transakci proti databázi současně s Mary vydává jinou transakci, oba transakce by měly operovat v databázi izolovaně. Databáze by měla provádět celou transakci Joe před provedením Maryovy ​​nebo naopak. Toto zabraňuje transakci Joe při čtení přechodných dat vytvořených jako vedlejší účinek části transakce společnosti Mary, která se nakonec nebude vztahovat k databázi. Všimněte si, že vlastnost izolace nezaručuje, která transakce bude spuštěna jako první, pouze proto, že nebudou vzájemně ovlivňovat.

Úrovně izolace

Existují čtyři úrovně izolace:

  1. Serializovatelná je nejvyšší úroveň, což znamená, že transakce budou dokončeny předtím, než bude možné zahájit další transakci.
  2. Opakované čtení umožňují přístup k transakcím, jakmile transakce začala, i když nebyla dokončena.
  3. Přečtené odmítnutí umožňuje přístup k údajům poté, co byly údaje přiděleny do databáze, ale nikoli předtím.
  4. Číst nesouhlasí je nejnižší úroveň izolace a umožňuje přístup k datům před provedením změn.