Poznámka
P?ístup k této stránce vy?aduje autorizaci. M??ete se zkusit p?ihlásit nebo změnit adresá?e.
P?ístup k této stránce vy?aduje autorizaci. M??ete zkusit změnit adresá?e.
Transakce je skupina operací, které mají následující vlastnosti: atomické, konzistentní, izolované a odolné (ACID). Podpora transakcí umo?ňuje vyvíjet nové typy aplikací, zjednodu?uje proces vyvoje a zvy?uje robustnost aplikace. Zbyvající ?ást tohoto tématu obsahuje scéná?e, které ukazují pot?ebu těchto vlastností, a pak tabulku, která definuje ka?dou vlastnost.
V atomické skupině operací musí byt ka?dá operace ve skupině úspě?ná, nebo v?echny z nich musí byt vráceny zpět (ozna?ované také jako vrácení zpět). Nap?íklad bankovní p?evod musí byt atomická sada dvou operací: inkasa z jednoho ú?tu a kredit na jiny ú?et. Debet a úvěr musí byt implementovány jako atomová skupina. Pokud tyto dvě operace nejsou oba úspě?né, p?evod je bu? nespravedlivě ve prospěch banky nebo dr?itele ú?tu.
Po?adavek konzistence znamená, ?e data jsou konzistentní po transakci (za p?edpokladu, ?e jsme za?ali s konzistentním systémem p?ed transakcí). V p?íkladu bankovního p?evodu m??e byt konzistence definována tak, ?e z?statek kombinovaného ú?tu těchto dvou ú?t? je konstantní. Aby bylo mo?né implementovat konzistenci v p?íkladu bankovního p?evodu, musí byt debetní a kreditní operace pro stejnou ?ástku.
Dal?ím p?íkladem transakce je aktualizace webu. Web elektronického obchodování vy?aduje, aby se nová naviga?ní stránka kategorií produkt? zobrazovala p?esně ve stejnou dobu jako stránky s podrobnostmi o produktu, které popisují nové produkty. V tomto p?ípadě je pot?eba aktualizovat a p?idat více adresá?ovych polo?ek pod kontrolu transakce. Nejen?e je nutné, aby aktualizace byly atomické, ale je také nutné, aby nakupující zákazník neviděl probíhající aktualizace. Toto je p?íklad izolace vlastnost transakcí.
Vlastnost stálosti vy?aduje, aby po dokon?ení aktualizace jeho ú?inky trvaly i v p?ípadě, ?e systém p?estane reagovat. V p?edchozím p?íkladu lze stálost poskytnout jednodu?e zaji?těním odpovídajícího obnovení dat, aby se v?echny nové polo?ky systému soubor?, které p?edstavují p?idání nového produktu do lokality, objevily, jakmile systém p?estane reagovat. To vy?aduje systém s mechanismy zálohování, obnovení a vysoké dostupnosti dat.
Záruka atomicity transakce i ostatních vlastností je zaru?ena i p?i jakémkoli po?tu selhání, v?etně selhání, ke kterym dochází během procesu obnovy p?edchozího selhání. Systém nakonec dosáhne jednoho ze dvou stav?: v?echny operace byly pou?ity nebo nebyly pou?ity ?ádné operace.
Vlastnosti transakce jsou shrnuty v následující tabulce.
Termín | Popis |
---|---|
Atomovy |
Bu? v?echny operace v transakci jsou úspě?né, nebo ?ádny z operací p?etrvává. |
Konzistentní |
Pokud jsou data konzistentní p?ed zahájením transakce, budou po dokon?ení transakce konzistentní. |
izolované |
ú?inky probíhající transakce jsou skryté p?ed v?emi ostatními transakcemi. |
Odolny |
Po dokon?ení transakce jsou jeho vysledky trvalé a p?e?ijí chybu systému. |
Tyto vlastnosti zaji??ují, ?e software doká?e zpracovat neo?ekávané chyby, proto?e m??e jednodu?e p?eru?it transakci, kdy? neo?ekávaná situace brání úspě?nému dokon?ení. Infrastruktura transakcí zaji??uje, ?e se v?echny ú?inky p?eru?ené transakce vrátí zpět a vrátí data do konzistentního stavu. Transak?ní systém proto umo?ňuje ?ádné obnovení ze selhání systému.
Aby bylo mo?né zaru?it vlastnosti ACID, musí mít systém, ktery podporuje transakce, robustní funkce protokolování, které lze pou?ít k potvrzení nebo vrácení transakcí zpět podle pot?eby. Dal?í informace naleznete v ?ásti Systém soubor? pro bě?né protokolování.