VyÜlo v t²denφku: COMPUTERWORLD
╚φslo:26/92
RoΦnφk:1992
Rubrika/kategorie: Co (ne)najdete ve slovnφku

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek

Ji°φ Peterka

Transakce

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".


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek
Tento Φlßnek m∙₧e b²t voln∞ Üφ°en, pokud se tak d∞je pro studijnφ ·Φely, na nev²d∞leΦnΘm zßklad∞ a se zachovßnφm tohoto dov∞tku. Podrobnosti hledejte zde, resp. na adrese http://archiv.czech.net/copyleft.htm