Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A tranzakció olyan munkaegység, amely egyetlen, atomi műveletként történik; vagyis a művelet egésze sikeres vagy meghiúsul. Fontolja meg például, hogy pénzt utal át egyik bankszámláról a másikra. Ez két lépésből áll: a pénz kivonása az első számláról, és a másodikban történő befizetés. Fontos, hogy mindkét lépés sikeres legyen; nem elfogadható, ha az egyik lépés sikeres, a másik pedig sikertelen. Ezt a tranzakciókat támogató adatbázis képes garantálni.
A tranzakciók végrehajtása megtörténhet a véglegesítés vagy a visszagörgetés által. A tranzakció véglegesítésekor a tranzakcióban végrehajtott módosítások véglegessé lesznek téve. A tranzakció visszagördülésekor a rendszer az érintett sorokat visszajuttatja a tranzakció elindítása előtti állapotba. A fiókátadási példa kibővítéséhez egy alkalmazás egy SQL-utasítást hajt végre az első fiók megterheléséhez, és egy másik SQL-utasítást a második fiók jóváírásához. Ha mindkét utasítás sikeres, az alkalmazás véglegesíti a tranzakciót. Ha azonban bármelyik utasítás bármilyen okból meghiúsul, az alkalmazás visszaállítja a tranzakciót. Mindkét esetben az alkalmazás a tranzakció végén konzisztens állapotot garantál.
Egyetlen tranzakció több adatbázisműveletet is magában foglalhat, amelyek különböző időpontokban történnek. Ha más tranzakciók teljes hozzáféréssel rendelkeztek a köztes eredményekhez, a tranzakciók zavarhatják egymást. Tegyük fel például, hogy egy tranzakció beszúr egy sort, egy második tranzakció beolvassa ezt a sort, és az első tranzakció vissza lesz állítva. A második tranzakció egy olyan sor adatait tartalmazza, amelyek nem léteznek.
A probléma megoldásához különböző sémák léteznek a tranzakciók egymástól való elkülönítésére. A tranzakcióelkülönítés általában sorok zárolásával valósul meg, ami megakadályozza, hogy egynél több tranzakció egyszerre ugyanazt a sort használja. Egyes adatbázisokban a sorok zárolása más sorokat is zárolhat.
A megnövekedett tranzakcióelkülönítés csökkenti az egyidejűséget, vagy azt, hogy két tranzakció egyszerre használhatja ugyanazokat az adatokat. További információ: A tranzakcióelkülönítési szint beállítása.
Ez a szakasz a következő témaköröket tartalmazza.