close

Transaktionsbehandling

Hop til navigation Hop til søgning

I teoretisk datalogi er transaktionsbehandling den datahåndteringsmetode , der udfører sin egen behandling ved at opdele den i enkelte og udelelige operationer kaldet transaktioner . Det ejendommelige er, at hver transaktion entydigt skal fuldføre sig selv med en succes eller fiasko for de tilknyttede operationer, og aldrig være i stand til at forblive i et mellemstadie (for eksempel i en ventetilstand , i en løkke osv.).

Beskrivelse

En transaktionsproces er en type behandling, der typisk henvises til en database , selvom definitionen ikke kun kan begrænses til dette område. Mere generelt, med henvisning til området teoretisk datalogi , kan det siges, at denne type behandling er beregnet til interaktion med stabile systemer i en kendt tilstand , idet processen udtømmes gennem endelige og selvkonsistente iterationer (se definition ovenfor).

Et interessant eksempel er processen, der involverer en typisk bankoverførselstransaktion . Overvej hypotesen om en mand, der har til hensigt at overføre 100,00 fra sin nuværende konto til en anden. Ifølge banken er denne transaktion en enkelt operation , men involverer samtidig to separate operationer i form af it-behandling: opkrævning af kunden for de antagne 100 euro og kreditering af samme beløb til modtageren af ​​bankoverførslen. Hvis debiteringen lykkes, men ikke kreditten (eller omvendt), vil der være en fejl i et af de involverede bankers to it-systemer . Det er derfor nødvendigt at sikre, at begge processer lykkes, eller at begge fejler, så der aldrig er nogen modsigelse i databasen for den eller de involverede banker.

Den teoretiske strukturering af transaktionsbehandlingen har til formål at give garanti for sammenhæng med hensyn til behandling af denne art; de forskellige operationer af hver del af behandlingen, knyttet til en funktion , bliver automatisk knyttet sammen som en enkelt udelelig transaktion.

Behandlingssystemet sørger for, at alle de enkelte processer i en transaktion gennemføres uden fejl, ellers vil ingen af ​​dem blive gennemført. Hvis nogle processer faktisk er fuldført, men en af ​​dem også er defekt, vil der være en fuld rollback- operation for alle processer, inklusive dem, der blev gennemført med succes, og transaktionen vil ikke blive udført. Systemtilstanden bringes tilbage til den tidligere kendte tilstand uden hukommelse af de operationer, der er forsøgt eller gennemført i selve transaktionen. Ellers, hvis alle de operationer, der forventes for en transaktion, er gennemført med succes, defineres transaktionen som " forpligtet ", og systemtilstanden går videre til den næste. Alle ændringer af de involverede databaser gøres permanente (definitive), og det er nu ikke muligt at rulle systemet tilbage.

En transaktionsproces garanterer behandlingen mod hardware- eller softwarefejl , der kan blokere en transaktionsbehandling i en mellemliggende, delfase, hvilket efterlader systemet i en ukendt tilstand , også kaldet inkonsistent . Faktisk, hvis en server eller en computer går ned midt i en transaktion, så snart systemet er tilgængeligt igen, vil alle ikke- forpligtede operationer (ikke fuldført i alle deres dele) blive annulleret ved at rulle tilbage hver af dem.

Transaktionsprocesserne behandles af systemet i en strengt kronologisk rækkefølge. Hvis transaktion n + 1 påvirker den samme del af databasen som transaktion n , starter transaktion n + 1 ikke , før transaktion n er begået . Mere generelt skal alle andre transaktioner, der involverer den samme del af systemet, forpligtes til systemet ; der kan ikke være " huller " i rækkefølgen af ​​transaktioner, der går forud.

Bibliografi

  • Jim Gray , Andreas Reuter, Transaktionsbehandling - koncepter og teknikker, 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

Relaterede emner

Eksterne links