VyÜlo v t²denφku: | COMPUTERWORLD |
╚φslo: | 26/92 |
RoΦnφk: | 1992 |
Rubrika/kategorie: | Co (ne)najdete ve slovnφku |
Zkusili jste si n∞kdy p°edstavit, jak asi probφhß takovß b∞₧nß bankovnφ operace, jakou je bezhotovostnφ p°evod urΦitΘ Φßstky z jednoho konta na druhΘ? V principu je to jednoduchΘ - z jednoho konta se Φßstka odeΦte, a ke druhΘmu se zase p°iΦte. Nejprve tedy prob∞hne jedna dφlΦφ operace, kterß zajistφ odeΦtenφ p°φsluÜnΘ Φßstky od prvnφho konta, a po nφ pak nßsleduje druhß dφlΦφ operace, kterß stejnou Φßstku p°iΦte ke stavu druhΘho konta. Te∩ si ale p°edstavte, ₧e po dokonΦenφ prvnφ dφlΦφ operace (odeΦtenφ Φßstky) vypadne proud, dojde k poruÜe Φi k jinΘ neoΦekßvanΘ situaci a cel² v²poΦetnφ systΘm se zhroutφ d°φve, ne₧ m∙₧e b²t provedena druhß z obou dφlΦφch operacφ. Rßzem vznikß velmi nep°φjemnß situace - p°φsluÜnß Φßstka pen∞z se vlastn∞ ztrßcφ a nejsou-li alespo≥ dodateΦn∞ provedeny nezbytnΘ opravnΘ akce, ztrßcφ se nenßvratn∞. A to si jist∞ ₧ßdnß banka nem∙₧e dovolit.
Prßv∞ naznaΦen² problΘm se obecn∞ t²kß vÜech distribuovan²ch systΘm∙ a systΘm∙ databßzovΘho charakteru, kterΘ zpracovßvajφ svß data pomocφ operacφ tvo°en²ch posloupnostmi vzßjemn∞ navazujφcφch dφlΦφch operacφ. Nejsou-li z jakΘhokoli d∙vodu provedeny vÜechny tyto dφlΦφ operace (tj. jsou-li provedeny jen n∞kterΘ, a jinΘ naopak ne), ocitß se celß bßze dat v nekonzistentnφm stavu a jejφ obsah neodpovφdß skuteΦnosti, resp. po₧adovanΘmu v²sledku.
Chceme-li se vyhnout tΘto ne₧ßdoucφ situaci, staΦφ jedinΘ: zajistit, aby se v₧dy provedly bu∩ vÜechny dφlΦφ operace, nebo naopak ₧ßdnß z nich. Tφm vlastn∞ po₧adujeme, aby celß operace, ve skuteΦnosti tvo°enß posloupnostφ dφlΦφch operacφ, byla chßpßna a hlavn∞ zpracovßvßna jako jedna jedinß, dßle ned∞litelnß akce. Tedy aby se provedla bu∩to celß, anebo se neprovedla v∙bec.
Takto implementovanß operace se pak oznaΦuje jako transakce.
Pro realizaci transakcφ existuje °ada r∙zn²ch mechanism∙ a postup∙. Jednou z mo₧nostφ je vedenφ zvlßÜtnφho denφku (₧urnßlu), do kterΘho se pr∙b∞₧n∞ zapisujφ informace o provßd∞n²ch operacφch a jejich v²sledcφch. Dojde-li pak k v²padku, jsou tyto informace podkladem pro dokonΦenφ t∞ch dφlΦφch operacφ, kterΘ se ji₧ provΘst nestaΦily. Jinß mo₧nost naopak p°edpoklßdß vratn² charakter dφlΦφch operacφ a poΦφtß s tφm, ₧e rozpracovanΘ, ale nedokonΦenΘ transakce lze "vrßtit zp∞t".