Sdílet prostřednictvím


Podmínky zpracování transakcí

Než začnete používat KTM, měli byste znát definice následujících termínů: transaction, resource manager, transactional client, transaction manager, log stream, enlistment a transaction processing system.

transakce
Transakce je kolekce operací s daty. Všechny operace musí být úspěšné, aby transakce byla úspěšná. Pokud jsou všechny operace úspěšné, transakce může být potvrzena (to znamená, že jeho výsledky mohou být trvalé a veřejné). Pokud jakákoli operace selže, transakce se musí vrátit zpět (to znamená, že všechny změny musí být odebrány tak, aby data byla ve stejném stavu, v jakém byla před zahájením operací transakce).

Operace transakce jsou atomické, konzistentní, izolované a odolné (ACID).

  • Jsou atomární, protože musí být potvrzeny nebo vráceny zpět jako celek.

  • Jsou konzistentní, protože operace vždy vytvářejí přesný výsledek bez ohledu na to, jestli jsou potvrzené nebo vráceny zpět.

  • Jsou izolované, protože výsledky jednotlivých transakcí nejsou viditelné pro jiné transakce, dokud nebudou operace transakce potvrzeny nebo vráceny zpět.

  • Jsou trvalé, protože po potvrzení nebo vrácení transakce jsou výsledky operací trvalé.

Příkladem transakce je série operací, které je nutné provést při použití bankomatu (ATM) k převodu peněz z běžného účtu na spořicí účet. Inkaso z vašeho běžného účtu a kredit na váš spořicí účet musí vypadat jako jedna jednotná operace.

Operace, která je součástí transakce, se také označuje jako transakční operace.

Resource Manager
Správce prostředků je softwarová komponenta, která spravuje datové prostředky, které je možné aktualizovat transakčními operacemi. Pokud například navrhujete databázový systém, můžete poskytnout správce prostředků, který ukládá a načítá data databáze. Jednoduchý systém zpracování transakcí (TPS) může mít pouze jednoho správce prostředků.

Správce prostředků obvykle také poskytuje veřejné rozhraní, které mohou transakční klienti volat pro přístup k datům správce prostředků. Správce prostředků pro databázi může například poskytnout sadu funkcí, které mohou klienti volat pro čtení a zápis do databáze.

Složitější transakční zpracovatelský systém (TPS) může mít více správců prostředků, z nichž každý spravuje samostatnou databázi nebo jiný prostředek při účasti na transakcích systému.

Další informace o správcích prostředků najdete v tématu Vytvoření Resource Manageru.

V některých případech je jeden správce prostředků nadřízený ostatním správcům prostředků a může zahájit operace potvrzení. V KTM se těmto správcům prostředků říká vynikající správci transakcí.

transakční klient
Transakční klient je softwarová komponenta, která přistupuje k databázi, kterou správce prostředků podporuje, obvykle voláním funkcí, které Správce prostředků exportuje. Klient zodpovídá za vytváření transakcí, provádění sady operací, které správce prostředků podporuje, a poté informuje správce transakcí (KTM), že transakce by měla být potvrzena nebo vrácena zpět.

Další informace o transakčních klientech naleznete v tématu Vytvoření transakčního klienta.

správce transakcí
Správce transakcí, jako je KTM, poskytuje infrastrukturu, která umožňuje transakčním klientům a správcům prostředků vzájemně komunikovat. Také sleduje stav každé transakce (ale ne data, která klienti a správci prostředků zpracovávají).

Správce transakcí může také koordinovat operace obnovení po chybovém ukončení systému.

Správce transakcí nemá žádné znalosti o datech nebo operacích, které tvoří transakci. Data a operace jsou řízeny klienty a správci prostředků.

KTM poskytuje funkce, které mohou volat transakční klienti. Tyto funkce umožňují klientům vytvářet, potvrzovat a vracet transakce zpět.

KTM také poskytuje funkce, které mohou volat správci zdrojů. Tyto funkce umožňují správcům prostředků se připojit k transakcím, aby dostávali oznámení o transakcích. Poté, co správce prostředků začne nastarovat transakci, může obdržet oznámení, když je transakční klient připraven transakci potvrdit nebo vrátit zpět, nebo když dojde k operaci obnovení.

protokolový stream
Stream logu je zaznamenaná historie událostí, které se staly při transakcích. KTM udržuje stream protokolu pomocí systému souborů CLFS ( Common Log File System ). KTM zaznamenává změny stavu jednotlivých transakcí, aby mohly podporovat operace vrácení zpět a obnovení v případě potřeby.

Správci prostředků také musí k zaznamenávání dat a operací použít datový proud protokolu.

Operace vrácení zpět vyžaduje, aby KTM a správci prostředků obnovili transakci a všechna data do počátečního stavu. KTM a správci prostředků zaznamenávají počáteční stav každé transakce v datových proudech protokolů, aby je mohli načíst během operace vrácení zpět.

K operacím obnovení dochází po chybovém ukončení systému. Když se operační systém následně restartuje, mohou správci KTM a správci prostředků použít obsah streamu protokolu k opětovnému sestavení stavu transakce do stavu, v jakém byl před chybovým ukončením.

Další informace o datových proudech protokolů v KTM najdete v tématu Použití datových proudů protokolů s KTM.

zařazení
Zahrnutí je přidružení mezi správcem prostředků a transakcí. KTM poskytuje sadu funkcí, které správci prostředků volají za účelem vytváření a správy zařazení. Jakmile správce prostředků vytvoří zařazení, KTM odešle oznámení správci prostředků při změně stavu transakce.

systém zpracování transakcí
Systém zpracování transakcí (TPS) je kolekce správce transakcí, jednoho nebo více správců prostředků, jednoho nebo více datových proudů protokolů a jednoho nebo více transakčních klientů, kteří přistupují k prostředkům správců prostředků.