Úvod
V databázovém systému je transakce samostatnou jednotkou práce, může upravit zůstatek na účtu uživatele, může to být položka operace zápisu zásob. V single-user, single-databázové prostředí provádět relativně jednoduché záležitosti, ale v distribuovaném prostředí, udržovat integritu více databází je složitější. Většina online systémů pro zpracování transakcí je implementována na sálových počítačích, je to způsobeno složitostí jeho operací, potřebou rychlého vstupu / výstupu a zlepšením správy. Pokud má být transakce upravena na několika místech, bude nutné přepsat mechanismus správy dat, aby se zabránilo a zajistilo synchronizaci. Musí mít také schopnost vrátit selhání transakce, aby bylo zajištěno zabezpečení a možnosti obnovy dat.
Například přejdeme na bankovní převod, operaci lze rozdělit do následujících dvou oblastí:
(1) k čerpání peněz z účtu.
(2) platba na druhý účet.
V tomto procesu jsou spojeny dvě oblasti. První účet pro čerpání prostředků musí mít zaručeno právo na druhý účet, pokud nebude dokončena druhá část, celý proces by měl být zrušen, jinak nastanou problémy se ztrátou peněz. Na celý proces lze pohlížet jako na věc, úspěch je veškerý úspěch, neúspěch, vše, co potřebujete vrátit zpět, abyste se vyhnuli operaci, když je střední část problému, což má za následek nekonzistenci dat.
databáze transakce je logické rozdělení, někdy není příliš jasné, může to být několik kroků, mohou být kroky. Můžeme porozumět databázi věcí: řada úprav provedených v databázi v procesu úprav, které ještě nejsou zapsány do databáze, ale uložené v mezipaměti ve vlastním terminálu uživatele, mohou zobrazit náhled změn, dokud nebudou všechny změny dokončeny a zkontrolovány, aby se potvrdila správnost, a předložit jednorázový zápis do databáze, před odesláním lze v případě potřeby provedené změny zrušit. Po odeslání ji nelze odvolat, po úspěchu ostatních uživatelů zadávat dotazy před změnou mohou data procházet.
vlastnosti
1, atomicita (Atomicity): všechny operace v transakci jsou integrální databází, buď dokončeny, nebo všechny nebudou provedeny.
2, konzistence (Konzistence): několik transakcí prováděných paralelně, jejichž výsledky musí být v souladu s určitým pořadím sériového provádění.
3, izolace (Isolation): provedení transakce bez zásahu jiných transakcí, mezivýsledek provedení transakce k jiné transakci musí být transparentní.
4, perzistentní (Trvalost): U všech potvrzených transakcí musí systém zajistit, aby se změny v databázové transakci neztratily, i když databáze selže.
transakční ACID vlastnosti relačního databázového systému (DBMS) dosažené pomocí transakčního protokolu DBMS k zajištění atomicity, konzistence a trvanlivosti. Záznamy aktualizačního protokolu transakcí provedené v databázi, transakce, pokud dojde k chybě během provádění, transakce by byla provedena při aktualizacích databáze, lze odvolat pod protokolem, takže databáze se před provedením příkazu vrátí zpět do původního stavu. transakce.
k izolaci transakcí je DBMS dosaženo pomocí zamykacího mechanismu. Když více transakcí současně aktualizuje stejná data v databázi, pouze povoleno držet zámek transakce může aktualizovat data, ostatní transakce musí počkat, dokud se zámek neuvolní, než dojde k transakci, ostatní transakce mají možnost data aktualizovat.
Roleobvykle obsahuje databázovou transakci pro čtení sekvenční databáze / operace zápisu. Jeho přítomnost se dvěma účely:
-
poskytuje metodu pro obnovu ze stavu selhání do normální sekvence operací pro databázi, zatímco databáze je stále poskytována i v metodě abnormálního stavu, aby byla zachována konzistence.
-
když více souběžných aplikací přistupuje k databázi, může poskytnout metodu izolace mezi těmito aplikacemi, aby se zabránilo vzájemnému rušení.
Když je transakce odeslána do DBMS (systém správy databáze), musí systém DBMS (systém správy databáze) zajistit, aby byly všechny operace transakce úspěšně dokončeny a výsledky byly trvale uloženy v databázi, pokud se transakce v žádné operaci nedokončí úspěšně, je třeba všechny operace v transakci vrátit zpět do stavu před provedením transakce; zároveň transakce neměla žádný vliv na databázi ani neprováděla jiné transakce, zdálo se, že všechny transakce probíhají nezávisle.
Ve skutečnosti však existuje vysoké riziko selhání. Během provádění transakce v databázi se může setkat se selháním transakce, selháním databázového systému / operačního systému, nebo i případem selhání paměťového média a podobně. To vyžaduje, aby transakce DBMS neprovedla operaci obnovení, databáze obnoví svůj stav do konzistentního stavu (stav zaručené konzistence dat). Aby bylo dosaženo stavu obnovení databáze do konzistentního stavu funkcí, DBMS obvykle vyžaduje udržovat data protokolu transakcí do databáze, aby bylo možné sledovat všechny transakce ovlivňující operace.
Databázové transakční modely
explicitní transakce
explicitní transakce známá jako definovaná transakce, což je definovaný začátek a konec transakce s explicitním způsobem explicitní transakce při použití počáteční transakce a commit statement řekl, že se stalo.
implicitní transakce
implicitní transakce znamená, že každá část příkazů pro manipulaci s daty se automaticky stává transakcí, zahájení transakce je implicitní, konce transakce jsou jasně označeny. To je, když uživatelská data, systém automaticky otevře transakci, ukončení transakce je třeba ručně volat potvrzení nebo vrácení zpět na konec aktuální transakce, automaticky otevřít novou transakci po dokončení transakce.
Automatická transakce
označuje automatickou transakční transakci, která je automaticky zapnuta a automaticky ukončuje transakci. Během transakce, pokud nenastane žádná výjimka, je transakce automaticky uložena; když dojde k chybě při provádění, transakce je automaticky vrácena zpět.
výhoda
transakční způsob přístupu k databázi má následující výhody:
1, související logické operace do skupiny;
2, před trvalou změnou dat se mohou změnit náhledová data;
3, přečtěte si, abyste zajistili konzistenci dat.