Transakčné spracovanie
38. Transakčné spracovanie, charakteristika, distribuovaná transakcia, dvojfázový potvrdzovací protokol
Základnou funkciou databázových programov je permanentné udržiavanie bázy dát (BD) v konzistentnom tvare. Je preto nutné chrániť BD pred chybami, ktoré by mohli konzistentnosť BD narušiť. Chyby môžu byť:
hardwarové (chyba disku, poruchy na sieti, výpadok napájania počítača,…)
softwarové (chyba operačného systému, užívateľského programu,…)
Problémom je teda udržať BD v konzistentnom tvare aj pri nepredvídateľných chybách, riešiť ho je možné návrhom vhodnej programovej jednotky a vhodnými mechanizmami, ktoré konzistenciu zabezpečia.
Jednotku uvedených vlastností nazývame transakcia.
Transakcia:
nedeliteľná operácia s dátami, ktorá musí byť vykonaná celá (skladá sa z viacerých krokov na nižšej úrovni, ktoré musia byť vykonané všetky, alebo ani jeden)
BD môže v nekonzistentnom tvare len počas vykonávania, po ukončení sa musí vrátiť do konzistentného tvaru
ak nastane chyba počas vykonávania transakcie, je riešením návrat do stavu pred začatím vykonávania transakcie
Vlastnosti transakcií:
atomicita voči chybám – udržanie BD v konzistentnom tvare aj pri chybe
izolovaná vratnosť – vrátením jednej transakcie sa neovplyvní iná transakcia
permanentnosť – vždy je platná najnovšia verzia dát