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:
- Serializovatelná je nejvyšší úroveň, což znamená, že transakce budou dokončeny předtím, než bude možné zahájit další transakci.
- Opakované čtení umožňují přístup k transakcím, jakmile transakce začala, i když nebyla dokončena.
- 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.
- Číst nesouhlasí je nejnižší úroveň izolace a umožňuje přístup k datům před provedením změn.