Middle
Milyen létezik izolációs szintek osztályozása?
sobes.tech MI
Válasz az MI-től
Az adatbázisok izolációs szintjei meghatározzák, hogy mennyire vannak elszigetelve egymástól a tranzakciók és a többi tranzakció által végrehajtott változtatásoktól. Ezek különböző párhuzamos hozzáférési problémákat akadályoznak meg.
Az izolációs szintek osztályozása (SQL szabvány):
- READ UNCOMMITTED
- Engedélyezi a nem megerősített változtatások olvasását (szennyezett olvasás / dirty read).
- Problémák: szennyezett olvasás, nem ismételhető olvasás, fantom olvasás.
- READ COMMITTED
- Csak megerősített változtatásokat enged olvasni.
- Megakadályozza a szennyezett olvasást.
- Problémák: nem ismételhető olvasás, fantom olvasás.
- Alapértelmezettként a leggyakrabban használt szint.
- REPEATABLE READ
- Garantálja, hogy ugyanazokat a sorokat többször olvasva ugyanazokat az adatokat kapja, még akkor is, ha más tranzakciók módosítják azokat.
- Megakadályozza a szennyezett olvasást és a nem ismételhető olvasást.
- Probléma: fantom olvasás (új sorok megjelenése, amelyek megfelelnek a kiválasztási feltételnek).
- SERIALIZABLE
- A legmagasabb izolációs szint.
- Garantálja a teljes körű elkerülést a párhuzamos hozzáférési problémákból.
- A tranzakciók úgy futnak, mintha szekvenciálisan hajtódnának végre.
- Megakadályozza a szennyezett olvasást, a nem ismételhető olvasást és a fantom olvasást.
- Jelentősen befolyásolhatja a teljesítményt.
Párhuzamos hozzáférési problémák:
| Probléma | READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE |
|---|---|---|---|---|
| Szennyezett olvasás | Igen | Nem | Nem | Nem |
| Nem ismételhető olvasás | Igen | Igen | Nem | Nem |
| Fantom olvasás | Igen | Igen | Igen | Nem |
Az izolációs szint kiválasztása az alkalmazás követelményeitől és az adatintegritás és a teljesítmény közötti kompromisszumtól függ.