Vyšlo v týdeníku Computerworld č. 26/92 v roce 1992
Vytištěno z adresy: http://www.earchiv.cz/a92/a226c120.php3

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