close

Transaktionshantering

Hoppa till navigering Hoppa till sökning

Inom teoretisk datavetenskap är transaktionsbehandling den datahanteringsmetod som utför sin egen bearbetning genom att dela upp den i enstaka och odelbara operationer som kallas transaktioner . Det speciella är att varje transaktion måste slutföra sig själv med framgång eller misslyckande för de associerade operationerna, och aldrig kunna förbli i ett mellanstadium (till exempel i ett väntande tillstånd , i en loop , etc.).

Beskrivning

En transaktionsprocess är en typ av behandling som vanligtvis hänvisas till en databas , även om definitionen inte kan begränsas enbart till detta område. Mer generellt, med hänvisning till området teoretisk datavetenskap , kan det sägas att denna typ av bearbetning är avsedd för interaktion med stabila system i ett känt tillstånd , varvid processen uttöms genom ändliga och självständiga iterationer (se definition ovan).

Ett intressant exempel är processen som involverar en typisk banköverföringstransaktion . Tänk på hypotesen om en man som har för avsikt att överföra 100,00 från sitt nuvarande konto till ett annat. Enligt banken är denna transaktion en enda operation , men innebär samtidigt två separata operationer vad gäller IT-behandling: att debitera kunden för de antagna 100 euro och kreditera samma summa till mottagaren av banköverföringen. Om debiteringen lyckas men inte krediten (eller vice versa) skulle det finnas ett fel i ett av de två inblandade bankernas IT-system . Det är därför nödvändigt att se till att båda processerna lyckas eller att båda misslyckas, så att det aldrig finns någon motsägelse i databasen för den eller de inblandade bankerna.

Den teoretiska struktureringen av transaktionsbehandlingen är avsedd att ge garanti för konsekvens med avseende på bearbetning av detta slag; de olika operationerna för varje del av behandlingen, kopplade till en funktion , länkas automatiskt samman som en enda odelbar transaktion.

Bearbetningssystemet ser till att alla enskilda processer i en transaktion slutförs utan fel, annars kommer ingen av dem att slutföras. Om vissa processer verkligen har slutförts men en av dem också är felaktig, kommer det att finnas en fullständig återställningsoperation för alla processer, inklusive de som slutfördes framgångsrikt, och transaktionen kommer inte att exekveras. Systemtillståndet återförs till det tidigare kända tillståndet , utan minne av de operationer som försökts eller slutförs inom själva transaktionen. Annars, om alla operationer som förväntas för en transaktion slutförs framgångsrikt, definieras transaktionen som " committed " och systemtillståndet övergår till nästa. Alla ändringar av de inblandade databaserna görs permanenta (definitiva) och det är nu inte möjligt att återställa systemet.

En transaktionsprocess garanterar behandlingen mot hårdvaru- eller mjukvarufel som skulle kunna blockera en transaktionsbehandling i en mellanliggande, delfas, vilket lämnar systemet i ett okänt tillstånd , även kallat inkonsekvent . Faktum är att om en server eller en dator kraschar mitt i en transaktion, så fort systemet är tillgängligt igen, kommer alla oengagerade operationer (inte slutförda i alla delar) att avbrytas genom att var och en av dem återställs .

Transaktionsprocesserna behandlas av systemet i en strikt kronologisk ordning. Om transaktion n + 1 påverkar samma del av databasen som transaktion n , startar transaktion n + 1 inte förrän transaktion n har begåtts . Mer generellt gäller att för att en transaktion ska committeras till systemet måste alla andra transaktioner som involverar samma del av systemet commiteras . det kan inte finnas några " luckor " i sekvensen av transaktioner som föregår den.

Bibliografi

  • Jim Gray , Andreas Reuter, Transaktionsbearbetning - koncept och tekniker, 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 (redaktör), Transaction Models for Advanced Database Applications, Morgan-Kaufmann, 1992, ISBN 1-55860-214-3

Relaterade artiklar

Externa länkar