Zpracování transakcí
V teoretické informatice je zpracování transakcí metodou správy dat , která provádí své vlastní zpracování tím, že je rozděluje na jednotlivé a nedělitelné operace nazývané transakce . Zvláštností je, že každá transakce se musí jednoznačně dokončit úspěchem nebo neúspěchem souvisejících operací, přičemž nikdy nemůže zůstat v mezistupni (například ve stavu čekání , ve smyčce atd.).
Popis
Transakční proces je typ zpracování typicky odkazovaný na databázi , ačkoli definice nemůže být omezena pouze na tuto oblast. Obecněji, s odkazem na oblast teoretické informatiky , lze říci, že tento typ zpracování je určen pro interakci se stabilními systémy ve známém stavu , přičemž proces je vyčerpán konečnými a samokonzistentními iteracemi (viz definice výše).
Zajímavým příkladem je proces zahrnující typický bankovní převod . Zvažte hypotézu muže, který má v úmyslu převést 100,00 EUR ze svého běžného účtu na jiný. Podle banky je tato transakce jedinou operací , ale zároveň zahrnuje dvě samostatné operace z hlediska IT zpracování: naúčtování předpokládaných 100 eur zákazníkovi a připsání stejné částky příjemci bankovního převodu. Pokud by debet byl úspěšný, ale ne kredit (nebo naopak), došlo by k chybě v jednom ze dvou IT systémů zúčastněných bank. Je tedy nutné zajistit, aby oba procesy byly úspěšné, nebo aby oba selhaly, aby nikdy nedošlo k rozporu v databázi zainteresované banky nebo bank.
Teoretická struktura zpracování transakcí má poskytnout záruku konzistence s ohledem na zpracování tohoto druhu; různé operace každé části zpracování, spojené s funkcí , jsou automaticky spojeny dohromady jako jediná nedělitelná transakce.
Systém zpracování zajišťuje, že všechny jednotlivé procesy v transakci proběhnou bezchybně, jinak nebude dokončen žádný z nich. Pokud byly některé procesy skutečně dokončeny, ale jeden z nich je také chybný, dojde k úplnému vrácení všech procesů, včetně těch, které byly úspěšně dokončeny, a transakce nebude provedena. Stav systému se vrátí do předchozího známého stavu bez paměti operací, o které jste se pokusili nebo které byly dokončeny v rámci samotné transakce. V opačném případě, pokud jsou všechny operace očekávané pro transakci úspěšně dokončeny, je transakce definována jako „ zavázaná “ a stav systému přejde na další. Všechny změny příslušných databází jsou trvalé (definitivní) a nyní není možné systém vrátit zpět .
Transakční proces zaručuje zpracování proti hardwarovým nebo softwarovým chybám , které by mohly zablokovat zpracování transakce v přechodné, částečné fázi a ponechat systém v neznámém stavu , nazývaném také nekonzistentní . Ve skutečnosti, pokud se server nebo počítač zhroutí uprostřed transakce, jakmile bude systém znovu dostupný, všechny neprovedené operace (nedokončené ve všech svých částech) budou zrušeny vrácením každé z nich zpět.
Transakční procesy jsou systémem zpracovávány v přísně chronologickém pořadí. Pokud transakce n + 1 ovlivňuje stejnou část databáze jako transakce n , transakce n + 1 se nespustí , dokud není transakce n potvrzena . Obecněji řečeno, aby byla transakce potvrzena systému, musí být potvrzeny všechny ostatní transakce zahrnující stejnou část systému ; v posloupnosti transakcí, které mu předcházejí, nemohou být žádné „ mezery “.
Bibliografie
- Jim Gray , Andreas Reuter, Transaction Processing – Concepts and Techniques, 1993, Morgan Kaufmann, ISBN 1-55860-190-2
- Philip A. Bernstein, Eric Newcomer, Principles of Transaction Processing, 1997, Morgan Kaufmann, ISBN 1-55860-415-4
- Ahmed K. Elmagarmid (editor), Transakční modely pro pokročilé databázové aplikace, Morgan-Kaufmann, 1992, ISBN 1-55860-214-3
Související položky
- Systém správy informací
- KYSELINA
- Systém řízení řízení aplikací
- Systém kontroly zákaznických informací
- Java EE
- JTA
- transakce (databáze)
- Systém zpracování transakcí
- OLTP
Externí odkazy
- ( EN ) Jim Gray - Transaction Processing - Concepts and Techniques , na books.google.it .
- ( EN ) Transaction Processing Performance Council , na tpc.org .