Transaktionsstyring i DBMS: Hvad er ACID-egenskaber?

Hvad er en databasetransaktion?

A Databasetransaktion er en logisk behandlingsenhed i et DBMS, som indebærer en eller flere databaseadgangsoperationer. I en nøddeskal repræsenterer databasetransaktioner begivenheder i den virkelige verden i enhver virksomhed.

Alle typer af databaseadgangsoperationer, der holdes mellem start- og sluttransaktionsudsagn, betragtes som en enkelt logisk transaktion i DBMS. Under transaktionen er databasen inkonsekvent. Først når databasen er begået, ændres tilstanden fra en konsistent tilstand til en anden.

Databasetransaktion
Databasetransaktion

Fakta om databasetransaktioner

  • En transaktion er en programenhed, hvis udførelse kan ændre indholdet af en database eller ikke.
  • Transaktionskonceptet i DBMS udføres som en enkelt enhed.
  • Hvis databaseoperationerne ikke opdaterer databasen, men kun henter data, kaldes denne type transaktion en skrivebeskyttet transaktion.
  • En vellykket transaktion kan ændre databasen fra én KONSISTENT TILSTAND til en anden
  • DBMS-transaktioner skal være atomare, konsistente, isolerede og holdbare
  • Hvis databasen var i en inkonsistent tilstand før en transaktion, ville den forblive i den inkonsistente tilstand efter transaktionen.

Hvorfor har du brug for samtidighed i transaktioner?

En database er en delt ressource, der tilgås. Det bruges af mange brugere og processer samtidigt. For eksempel banksystemet, jernbane- og flyreservationssystemer, aktiemarkedsovervågning, supermarkedsbeholdning og kasser mv.

Hvis du ikke administrerer samtidig adgang, kan det skabe problemer som:

  • Hardwarefejl og systemnedbrud
  • Samtidig udførelse af samme transaktion, dødvande, eller langsom ydeevne

Transaktionstilstande

De forskellige tilstande af et transaktionskoncept i DBMS er angivet nedenfor:

Tilstand Transaktionstyper
Aktiv tilstand En transaktion går ind i en aktiv tilstand, når eksekveringsprocessen begynder. Under denne tilstand kan læse- eller skriveoperationer udføres.
Delvist engageret En transaktion går i den delvist forpligtede tilstand efter afslutningen af ​​en transaktion.
Engageret stat Når transaktionen er forpligtet til staten, har den allerede gennemført sin eksekvering med succes. Desuden bliver alle dens ændringer registreret i databasen permanent.
Mislykket tilstand En transaktion betragtes som mislykket, når en af ​​kontrollerne mislykkes, eller hvis transaktionen afbrydes, mens den er i aktiv tilstand.
Opsagt stat Transaktionstilstand når afsluttet tilstand, når visse transaktioner, der forlader systemet, ikke kan genstartes.
Tilstandsovergangsdiagram
Tilstandsovergangsdiagram for en databasetransaktion

Lad os studere en tilstandsovergangsdiagram der fremhæver, hvordan en transaktion bevæger sig mellem disse forskellige stater.

  1. Når en transaktion angiver udførelse, bliver den aktiv. Det kan udstede LÆS- eller SKRIV-funktion.
  2. Når LÆS- og SKRIV-operationerne er afsluttet, bliver transaktionerne delvist forpligtede.
  3. Dernæst skal nogle gendannelsesprotokoller sikre, at en systemfejl ikke vil resultere i manglende evne til at registrere ændringer i transaktionen permanent. Hvis denne kontrol er en succes, forpligtes transaktionen og går ind i den forpligtede tilstand.
  4. Hvis kontrollen er en fejl, går transaktionen til tilstanden Mislykket.
  5. Hvis transaktionen afbrydes, mens den er i aktiv tilstand, går den til mislykket tilstand. Transaktionen skal rulles tilbage for at fortryde effekten af ​​dens skriveoperationer på databasen.
  6. Den afsluttede tilstand refererer til transaktionen, der forlader systemet.

Hvad er ACID-egenskaber?

SYRE egenskaber bruges til at opretholde databasens integritet under transaktionsbehandling. ACID i DBMS står for Atomicitet, Cvedholdenhed, Isolation, og Dholdbarhed.

  • Atomisby: En transaktion er en enkelt operationsenhed. Du udfører det enten helt eller slet ikke. Der kan ikke være tale om delvis udførelse.
  • Konsistens: Når transaktionen er udført, bør den flytte fra en konsistent tilstand til en anden.
  • Isolering: Transaktionen skal udføres isoleret fra andre transaktioner (ingen låse). Under samtidig udførelse af transaktioner bør mellemliggende transaktionsresultater fra samtidig udførte transaktioner ikke gøres tilgængelige for hinanden. (Niveau 0,1,2,3)
  • Holdbarhed:· Efter vellykket gennemførelse af en transaktion, bør ændringerne i databasen fortsætte. Selv i tilfælde af systemfejl.

ACID Property i DBMS med eksempel

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

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

Transaktion 1 er at overføre $50 fra konto X til konto Y.

Transaktion 2 krediterer hver konto med en rentebetaling på 10%.

Hvis begge transaktioner indsendes sammen, er der ingen garanti for, at Transaktion 1 vil blive gennemført før Transaktion 2 eller omvendt. Uanset rækkefølgen skal resultatet være, som om transaktionerne foregår serielt efter hinanden.

Typer af transaktioner

Baseret på anvendelsesområder

  • Ikke-fordelt vs. distribueret
  • Kompenserende transaktioner
  • Timing af transaktioner
  • On-line vs. batch

Baseret på handlinger

  • To-trin
  • begrænset
  • Handlingsmodel

Baseret på struktur

  • Flade eller simple transaktioner: Den består af en sekvens af primitive operationer, der udføres mellem en start- og slutoperation.
  • Indlejrede transaktioner: En transaktion, der indeholder andre transaktioner.
  • Workflow

Hvad er et skema?

Et skema er en proces, der skaber en enkelt gruppe af de flere parallelle transaktioner og udfører dem én efter én. Det bør bevare den rækkefølge, som instruktionerne vises i i hver transaktion. Hvis to transaktioner udføres på samme tid, kan resultatet af en transaktion påvirke output fra den anden.

Eksempel

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

Hvis Transaktion 2 udføres før Transaktion 1, vil forældede oplysninger om produktmængden blive læst. Derfor er tidsplaner påkrævet.

Parallel udførelse i en database er uundgåelig. Men parallel eksekvering er tilladt, når der er en ækvivalensrelation mellem de samtidigt udførende transaktioner. Denne ækvivalens er af 3 typer.

RESULTATÆKVIVALENS:

Hvis to skemaer viser det samme resultat efter udførelse, kaldes det resultatækvivalent skema. De kan tilbyde det samme resultat for en vis værdi og forskellige resultater for et andet sæt værdier. For eksempel opdaterer en transaktion produktmængden, mens en anden opdaterer kundeoplysninger.

Se ækvivalens

Vis ækvivalens opstår, når transaktionen i både tidsplanen udfører en lignende handling. Eksempelvis indsætter en transaktion produktdetaljer i produkttabellen, mens en anden transaktion indsætter produktdetaljer i arkivtabellen. Transaktionen er den samme, men tabellerne er forskellige.

KONFLIKT ækvivalens

I dette tilfælde opdaterer/viser to transaktioner det samme datasæt. Der er en konflikt mellem transaktioner, da rækkefølgen af ​​udførelse vil påvirke outputtet.

Hvad er serialiseringsevne?

Serialiserbarhed er processen med at søge efter en samtidig tidsplan, hvis output er lig med en seriel tidsplan, hvor transaktioner udføres efter hinanden. Afhængigt af typen af ​​tidsplaner er der to typer serialiserbarhed:

  • Konflikt
  • Specifikation

Resumé

  • Transaktionsstyring er en logisk behandlingsenhed i et DBMS, som indebærer en eller flere databaseadgangsoperationer
  • Det er en transaktion er en programenhed, hvis udførelse kan eller ikke kan ændre indholdet af en database.
  • Hvis du ikke administrerer samtidig adgang, kan det skabe problemer som hardwarefejl og systemnedbrud.
  • Aktiv, Delvist forpligtet, Forpligtet, Mislykket og Afsluttet er vigtige transaktionstilstande.
  • Den fulde form af ACID-egenskaber i DBMS is Atomicity, konsistens, isolation og holdbarhed
  • Tre DBMS-transaktionstyper er Base on Application Areas, Action, & Structure.
  • Et skema er en proces, der skaber en enkelt gruppe af de flere parallelle transaktioner og udfører dem én efter én.
  • Serialiserbarhed er processen med at søge efter en samtidig tidsplan, hvis output er lig med en seriel tidsplan, hvor transaktioner udføres efter hinanden.

Dagligt Guru99 Nyhedsbrev

Start dagen med de seneste og vigtigste AI-nyheder leveret lige nu.