DBMS Transaction Management: Hva er ACID-egenskaper?

Hva er en databasetransaksjon?

En databasetransaksjon er en logisk prosesseringsenhet i et DBMS som medfører en eller flere databasetilgangsoperasjoner. I et nøtteskall representerer databasetransaksjoner reelle begivenheter for enhver bedrift.

Alle typer databasetilgangsoperasjoner som holdes mellom begynnelsen og slutten av transaksjonsuttalelser, betraktes som en enkelt logisk transaksjon i DBMS. Under transaksjonen er databasen inkonsekvent. Bare når databasen er forpliktet, endres staten fra en konsistent tilstand til en annen.

I denne opplæringen lærer du:

  • Fakta om databasetransaksjoner
  • Hvorfor trenger du samtidighet i transaksjoner?
  • Transaksjoner
  • Hva er ACID-egenskaper?
  • Typer av transaksjoner
  • Hva er en tidsplan?

Fakta om databasetransaksjoner

  • En transaksjon er en programenhet hvis utførelse kan endre innholdet i en database eller ikke.
  • Transaksjonskonseptet i DBMS utføres som en enkelt enhet.
  • Hvis databaseoperasjonene ikke oppdaterer databasen, men bare henter data, kalles denne typen transaksjoner en skrivebeskyttet transaksjon.
  • En vellykket transaksjon kan endre databasen fra en KONSEKVENT STAT til en annen
  • DBMS-transaksjoner må være atomare, konsistente, isolerte og holdbare
  • Hvis databasen var i en inkonsekvent tilstand før en transaksjon, ville den forbli i den inkonsekvente tilstanden etter transaksjonen.

Hvorfor trenger du samtidighet i transaksjoner?

En database er tilgang til en delt ressurs. Den brukes av mange brukere og prosesser samtidig. For eksempel banksystemet, jernbane- og flyreservasjonssystemer, aksjemarkedsovervåking, supermarkedinventar og kasser, etc.

Å ikke administrere samtidig tilgang kan skape problemer som:

  • Maskinvarefeil og systemkrasj
  • Samtidig gjennomføring av samme transaksjon, fastlåst eller treg ytelse

Transaksjoner

De forskjellige tilstandene til et transaksjonskonsept i DBMS er oppført nedenfor:

Stat Transaksjonstyper
Aktiv tilstand En transaksjon går i aktiv tilstand når kjøringsprosessen begynner. Under denne tilstanden kan lese- eller skriveoperasjoner utføres.
Delvis forpliktet En transaksjon går inn i den delvis forpliktede tilstanden etter avslutningen av en transaksjon.
Forpliktet stat Når transaksjonen er forpliktet til å oppgi, har den allerede fullført gjennomføringen. Videre blir alle endringene registrert i databasen permanent.
Mislykket stat En transaksjon vurderes som mislykket når en av kontrollene mislykkes, eller hvis transaksjonen avbrytes mens den er i aktiv tilstand.
Avsluttet stat Transaksjonstilstand når avsluttet tilstand når visse transaksjoner som forlater systemet ikke kan startes på nytt.
Statlig overgangsdiagram for en databasetransaksjon

La oss studere et tilstandsovergangsdiagram som fremhever hvordan en transaksjon beveger seg mellom disse forskjellige statene.

  1. Når en transaksjon sier utførelse, blir den aktiv. Den kan utføre LES eller SKRIV-operasjon.
  2. Når LES og SKRIV-operasjonene er fullført, blir transaksjonene delvis forpliktet.
  3. Deretter må noen gjenopprettingsprotokoller sikre at en systemfeil ikke vil føre til manglende evne til å registrere endringer i transaksjonen permanent. Hvis denne sjekken er en suksess, forplikter transaksjonen og går inn i den forpliktede staten.
  4. Hvis sjekken er mislykket, går transaksjonen til mislykket tilstand.
  5. Hvis transaksjonen avbrytes mens den er i aktiv tilstand, går den til den mislykkede tilstanden. Transaksjonen bør rulles tilbake for å angre effekten av skriveoperasjonene på databasen.
  6. Den avsluttede tilstanden refererer til transaksjonen som forlater systemet.

Hva er ACID-egenskaper?

ACID Properties brukes til å opprettholde integriteten til databasen under transaksjonsbehandling. SUR i DBMS står for A tomicity, C onsistency, I solation, and D urability.

  • Atomisitet: En transaksjon er en enkelt operasjonsenhet. Enten utfører du det helt eller ikke utfører det i det hele tatt. Det kan ikke være delvis utførelse.
  • Konsistens: Når transaksjonen er utført, skal den gå fra en konsistent tilstand til en annen.
  • Isolasjon: Transaksjonen skal utføres isolert fra andre transaksjoner (ingen låser). Under samtidig transaksjonsutførelse, bør mellomliggende transaksjonsresultater fra samtidig utførte transaksjoner ikke gjøres tilgjengelig for hverandre. (Nivå 0,1,2,3)
  • Holdbarhet: · Etter at en transaksjon er fullført, bør endringene i databasen fortsette. Selv i tilfelle systemfeil.

ACID-egenskap i DBMS med eksempel:

Nedenfor er et eksempel på ACID-egenskap i DBMS:

Transaction 1: Begin X=X+50, Y = Y-50 ENDTransaction 2: Begin X=1.1*X, Y=1.1*Y END

Transaksjon 1 overfører $ 50 fra konto X til konto Y.

Transaksjon 2 krediterer hver konto en 10% rentebetaling.

Hvis begge transaksjonene sendes sammen, er det ingen garanti for at Transaksjonen 1 vil utføres før Transaksjon 2 eller omvendt. Uavhengig av bestillingen, må resultatet være som om transaksjonene skjer serie etter hverandre.

Typer av transaksjoner

Basert på applikasjonsområder

  • Ikke-distribuert vs. distribuert
  • Kompenserende transaksjoner
  • Transaksjoner Timing
  • Online kontra batch

Basert på handlinger

  • To steg
  • Begrenset
  • Handlingsmodell

Basert på struktur

  • Flate eller enkle transaksjoner: Den består av en sekvens av primitive operasjoner utført mellom en start- og sluttoperasjon.
  • Nestede transaksjoner: En transaksjon som inneholder andre transaksjoner.
  • Arbeidsflyt

Hva er en tidsplan?

En tidsplan er en prosess som oppretter en enkelt gruppe av flere parallelle transaksjoner og utfører dem en etter en. Det bør bevare rekkefølgen som instruksjonene vises i hver transaksjon. Hvis to transaksjoner utføres samtidig, kan resultatet av en transaksjon påvirke produksjonen til en annen.

Eksempel

Initial Product Quantity is 10Transaction 1: Update Product Quantity to 50Transaction 2: Read Product Quantity

Hvis Transaksjon 2 utføres før Transaksjon 1, vil utdatert informasjon om produktmengden leses. Derfor er tidsplaner påkrevd.

Parallell kjøring i en database er uunngåelig. Men parallell kjøring er tillatt når det er en ekvivalensforhold mellom de samtidig utførende transaksjonene. Denne ekvivalensen er av tre typer.

RESULTATEKVIVALENS:

Hvis to tidsplaner viser det samme resultatet etter kjøring, kalles det resultatekvivalent tidsplan. De kan tilby det samme resultatet for noen verdi og forskjellige resultater for et annet sett med verdier. For eksempel oppdaterer en transaksjon produktkvantiteten, mens andre oppdaterer kundedetaljer.

Vis ekvivalens

Vis ekvivalens oppstår når transaksjonen i begge tidsplanene utfører en lignende handling. Eksempel: en transaksjon setter inn produktdetaljer i produkttabellen, mens en annen transaksjon setter inn produktdetaljer i arkivtabellen. Transaksjonen er den samme, men tabellene er forskjellige.

KONFLIKT Likestilling

I dette tilfellet oppdaterer / viser det samme datasettet to transaksjoner. Det er en konflikt mellom transaksjonen, da ordren på utførelsen vil påvirke produksjonen.

Hva er Serializability?

Serializability er prosessen med å søke etter en samtidig tidsplan som output er lik en seriell tidsplan der transaksjonen utføres etter hverandre. Avhengig av type tidsplaner, er det to typer seriabilitet:

  • Konflikt
  • Utsikt

Sammendrag:

  • Transaksjonsadministrasjon er en logisk prosesseringsenhet i et DBMS som medfører en eller flere databasetilgangsoperasjoner
  • Det er en transaksjon som er en programenhet hvis utførelse kan endre innholdet i en database eller ikke.
  • Hvis du ikke administrerer samtidig tilgang, kan det oppstå problemer som maskinvarefeil og systemkrasj.
  • Aktiv, delvis forpliktet, forpliktet, mislykket og avslutt er viktige transaksjonstilstander.
  • Den fulle formen for ACID-egenskaper i DBMS er atomisitet, konsistens, isolasjon og holdbarhet
  • Tre DBMS-transaksjonstyper er baser på applikasjonsområder, handling og struktur.
  • En tidsplan er en prosess som oppretter en enkelt gruppe av flere parallelle transaksjoner og utfører dem en etter en.
  • Serializability er prosessen med å søke etter en samtidig tidsplan hvis produksjonen er lik en serieplan der transaksjoner utføres etter hverandre.

Interessante artikler...