DBMS tranzakciókezelés: Mik az ACID tulajdonságai?

Tartalomjegyzék:

Anonim

Mi az az adatbázis-tranzakció?

Az adatbázis-tranzakció a DBMS feldolgozásának logikai egysége, amely egy vagy több adatbázis-hozzáférési műveletet von maga után. Dióhéjban az adatbázis-tranzakciók bármely vállalkozás valós eseményeit reprezentálják.

Az adatbázis-hozzáférési műveletek minden típusa, amelyet a kezdő és a vég tranzakciós utasítás között tartanak, egyetlen logikai tranzakciónak számít a DBMS-ben. A tranzakció során az adatbázis következetlen. Csak az adatbázis végrehajtása után változik az állapot egyik következetes állapotból a másikba.

Ebben az oktatóanyagban megtudhatja:

  • Tények az adatbázis-tranzakciókról
  • Miért van szükség a tranzakciók párhuzamosságára?
  • Tranzakciók állapota
  • Mik a sav tulajdonságai?
  • Tranzakciók típusai
  • Mi az a menetrend?

Tények az adatbázis-tranzakciókról

  • A tranzakció olyan programegység, amelynek végrehajtása megváltoztathatja vagy nem változtathatja meg az adatbázis tartalmát.
  • A DBMS tranzakciós koncepcióját egyetlen egységként hajtják végre.
  • Ha az adatbázis-műveletek nem frissítik az adatbázist, hanem csak adatokat kapnak le, akkor ezt a típusú tranzakciót csak olvasható tranzakciónak hívják.
  • A sikeres tranzakció megváltoztathatja az adatbázist egy konzisztens állapotból a másikba
  • A DBMS tranzakcióknak atomnak, következetesnek, elszigeteltnek és tartósnak kell lenniük
  • Ha az adatbázis inkonzisztens állapotban lenne egy tranzakció előtt, akkor a tranzakció után inkonzisztens állapotban maradna.

Miért van szükség a tranzakciók párhuzamosságára?

Az adatbázis egy megosztott erőforrás, amelyhez hozzáférnek. Sok felhasználó és folyamat egyidejűleg használja. Például a bankrendszer, a vasúti és a légifoglalási rendszerek, a tőzsdei megfigyelés, a szupermarketek leltára és a pénztárak stb.

Az egyidejű hozzáférés nem kezelése olyan problémákat okozhat, mint:

  • Hardverhiba és rendszerösszeomlás
  • Ugyanazon tranzakció, holtpont vagy lassú teljesítmény egyidejű végrehajtása

Tranzakciók állapota

Az alábbiakban felsoroljuk a DBMS tranzakciókoncepciójának különféle állapotait:

Állapot Tranzakció típusok
Aktív állapot A tranzakció aktív állapotba kerül, amikor a végrehajtási folyamat megkezdődik. Ebben az állapotban olvasási vagy írási műveletek hajthatók végre.
Részben elkötelezett A tranzakció a tranzakció vége után a részben lekötött állapotba kerül.
Elkötelezett állam Amikor a tranzakció állapota elkötelezett, akkor a végrehajtását már sikeresen befejezte. Sőt, minden változását véglegesen rögzítik az adatbázisban.
Nem sikerült állapot Egy tranzakció sikertelennek minősül, ha az egyik ellenőrzés meghiúsul, vagy ha a tranzakciót megszakítják, miközben az aktív állapotban van.
Megszűnt állam A tranzakció állapota akkor ér véget, amikor bizonyos, a rendszerből kilépő tranzakciókat nem lehet újraindítani.
Állapotátmeneti ábra egy adatbázis-tranzakcióhoz

Tanulmányozzunk egy állapotátmeneti diagramot, amely kiemeli, hogyan mozog egy tranzakció e különböző állapotok között.

  1. Amint egy tranzakció végrehajtást állapít meg, aktívvá válik. Kiadhat READ vagy WRITE műveletet.
  2. A READ és WRITE műveletek befejezése után a tranzakciók részben lekötött állapotba kerülnek.
  3. Ezután egyes helyreállítási protokolloknak biztosítaniuk kell, hogy egy rendszerhiba ne okozza a képtelenséget a tranzakció változásainak végleges rögzítésére. Ha ez az ellenőrzés sikeres, a tranzakció elkötelezi magát, és belép a vállalt állapotba.
  4. Ha az ellenőrzés sikertelen, a tranzakció sikertelen állapotba kerül.
  5. Ha a tranzakciót megszakítják, miközben aktív állapotban van, akkor az sikertelen állapotba kerül. A tranzakciót vissza kell állítani, hogy visszavonhassa írási műveleteinek az adatbázisra gyakorolt ​​hatását.
  6. A megszűnt állapot a rendszerből kilépő tranzakcióra utal.

Mik a sav tulajdonságai?

Az ACID tulajdonságok az adatbázis integritásának fenntartására szolgálnak a tranzakció feldolgozása során. A DBMS-ben lévő ACID az A tomicitást, a C- tartósságot, az I- szolátást és a D-felhasználhatóságot jelenti.

  • Atomicitás: A tranzakció egyetlen műveleti egység. Vagy teljesen végrehajtja, vagy egyáltalán nem hajtja végre. Részleges végrehajtás nem lehetséges.
  • Konzisztencia: A tranzakció végrehajtása után egyik következetes állapotból a másikba kell mozognia.
  • Elkülönítés: A tranzakciót más tranzakcióktól elkülönítve kell végrehajtani (nincs zár). Az egyidejűleg végrehajtott tranzakciók végrehajtása során az egyidejűleg végrehajtott tranzakciókból származó köztes tranzakciókat nem szabad egymás számára elérhetővé tenni. (0,1,2,3 szint)
  • Tartósság: · A tranzakció sikeres befejezése után az adatbázisban bekövetkező változásoknak fenn kell maradniuk. Még a rendszer meghibásodása esetén is.

ACID tulajdonság a DBMS-ben, például:

Az alábbiakban bemutatunk egy példát a DBMS ACID tulajdonságára:

Transaction 1: Begin X=X+50, Y = Y-50 ENDTransaction 2: Begin X=1.1*X, Y=1.1*Y END

Az 1. tranzakció 50 dollárt utal át az X számláról az Y számlára.

A 2. tranzakció minden számlát jóváír 10% -os kamatfizetéssel.

Ha mindkét tranzakciót együtt nyújtják be, nincs garancia arra, hogy az 1. tranzakció a 2. tranzakció előtt vagy fordítva teljesül. A megbízástól függetlenül az eredménynek olyannak kell lennie, mintha a tranzakciók egymás után sorozatosan történnének.

Tranzakciók típusai

Alkalmazási területek alapján

  • Nem terjesztett vagy terjesztett
  • Tranzakciók kompenzálása
  • Tranzakciók időzítése
  • On-line kontra köteg

Műveletek alapján

  • Két lépés
  • Korlátozott
  • Cselekvési modell

Szerkezet alapján

  • Lapos vagy egyszerű tranzakciók: A kezdet és a vég műveletek között végrehajtott primitív műveletek sorozatából áll.
  • Beágyazott tranzakciók: Más tranzakciókat tartalmazó tranzakció.
  • Munkafolyamat

Mi az a menetrend?

Az Ütemezés olyan folyamat, amely létrehozza a több párhuzamos tranzakció egyetlen csoportját, és egyesével végrehajtja azokat. Meg kell őriznie az utasítások megjelenési sorrendjét az egyes tranzakciókban. Ha egyszerre két tranzakciót hajtanak végre, akkor az egyik tranzakció eredménye befolyásolhatja a másik tranzakció eredményét.

Példa

Initial Product Quantity is 10Transaction 1: Update Product Quantity to 50Transaction 2: Read Product Quantity

Ha a 2. tranzakciót az 1. tranzakció előtt hajtják végre, a termék mennyiségéről elavult információkat olvashatnak. Ezért ütemezésre van szükség.

Az adatbázis párhuzamos végrehajtása elkerülhetetlen. De, a párhuzamos végrehajtás akkor megengedett, ha ekvivalencia viszony van az egyidejűleg végrehajtott tranzakciók között. Ez az egyenértékűség 3 típusból áll.

EREDMÉNY EGYENLŐSÉG:

Ha két ütemezés ugyanazt az eredményt jeleníti meg a végrehajtás után, akkor eredményegyenértékű ütemezésnek hívjuk. Lehet, hogy ugyanazt az eredményt kínálják valamilyen értékhez, és eltérő eredményt kínálnak egy másik értékkészlethez. Például egy tranzakció frissíti a termék mennyiségét, míg más az ügyfelek adatait.

Az egyenértékűség megtekintése

A nézet ekvivalencia akkor fordul elő, amikor a tranzakció mindkét ütemezésben hasonló műveletet hajt végre. Például az egyik tranzakció a termék adatait beszúrja a terméktáblába, míg egy másik tranzakció a termék részleteit az archívum táblába. A tranzakció ugyanaz, de a táblázatok különböznek.

KONFLIKTUS ekvivalencia

Ebben az esetben két tranzakció frissíti / tekinti ugyanazt az adatsort. Konfliktus van a tranzakciók között, mivel a végrehajtás sorrendje befolyásolja a kimenetet.

Mi a szerializálhatóság?

A szerializálhatóság egyidejű ütemezés keresésének folyamata, amely kimenet megegyezik egy soros ütemezéssel, ahol a tranzakció egymás után hajt végre. Az ütemezések típusától függően kétféle sorosíthatóság létezik:

  • Konfliktus
  • Kilátás

Összegzés:

  • A tranzakciókezelés a DBMS-ben történő feldolgozás logikai egysége, amely egy vagy több adatbázis-hozzáférési műveletet von maga után
  • Ez egy tranzakció egy olyan programegység, amelynek végrehajtása megváltoztathatja vagy nem változtathatja meg az adatbázis tartalmát.
  • Az egyidejű hozzáférés nem kezelése olyan problémákat okozhat, mint a hardver meghibásodása és a rendszer összeomlása.
  • Az aktív, részlegesen elkötelezett, elkötelezett, sikertelen és befejezett fontos tranzakciós állapotok.
  • A DBMS ACID tulajdonságainak teljes formája az atomosság, a konzisztencia, az izolálás és a tartósság
  • Három DBMS tranzakciótípus alapja az alkalmazási területek, a művelet és a struktúra.
  • Az Ütemezés olyan folyamat, amely létrehozza a több párhuzamos tranzakció egyetlen csoportját, és egyesével végrehajtja azokat.
  • A szerializálhatóság egyidejű ütemezés keresési folyamata, amelynek kimenete megegyezik egy soros ütemezésével, ahol a tranzakciókat egymás után hajtják végre.