DBMS Transaction Management: Vad är ACID-egenskaper?

Innehållsförteckning:

Anonim

Vad är en databastransaktion?

En databastransaktion är en logisk behandlingsenhet i ett DBMS som medför en eller flera databasåtkomståtgärder. I ett nötskal representerar databasstransaktioner verkliga händelser för alla företag.

Alla typer av databasåtkomståtgärder som hålls mellan början och slut transaktionsuttalanden betraktas som en enda logisk transaktion i DBMS. Under transaktionen är databasen inkonsekvent. Först när databasen är förbunden ändras tillståndet från ett enhetligt tillstånd till ett annat.

I den här handledningen lär du dig:

  • Fakta om databastransaktioner
  • Varför behöver du samtidighet i transaktioner?
  • Transaktionstillstånd
  • Vad är ACID-egenskaper?
  • Typer av transaktioner
  • Vad är ett schema?

Fakta om databastransaktioner

  • En transaktion är en programenhet vars utförande kan eller inte kan ändra innehållet i en databas.
  • Transaktionskonceptet i DBMS körs som en enda enhet.
  • Om databasåtgärderna inte uppdaterar databasen utan bara hämtar data kallas denna typ av transaktion en skrivskyddad transaktion.
  • En lyckad transaktion kan ändra databasen från en KONSISTENT STAT till en annan
  • DBMS-transaktioner måste vara atomära, konsekventa, isolerade och hållbara
  • Om databasen var i inkonsekvent tillstånd före en transaktion skulle den förbli i inkonsekvent tillstånd efter transaktionen.

Varför behöver du samtidighet i transaktioner?

En databas är en delad resurs. Det används av många användare och processer samtidigt. Till exempel banksystem, järnvägs- och flygbokningssystem, aktiemarknadsövervakning, stormarknadsinventering och kassor etc.

Att inte hantera samtidig åtkomst kan skapa problem som:

  • Hårdvarufel och systemkrascher
  • Samtidig körning av samma transaktion, blockering eller långsam prestanda

Transaktionstillstånd

De olika tillstånden för ett transaktionskoncept i DBMS listas nedan:

stat Transaktionstyper
Aktivt tillstånd En transaktion går in i ett aktivt tillstånd när exekveringsprocessen börjar. Under detta tillstånd kan läs- eller skrivoperationer utföras.
Delvis engagerad En transaktion går in i delvist begått tillstånd efter avslutad transaktion.
Engagerad stat När transaktionen är skyldig att ange har den redan slutfört genomförandet. Dessutom registreras alla dess ändringar permanent i databasen.
Misslyckad stat En transaktion anses misslyckad när någon av kontrollerna misslyckas eller om transaktionen avbryts medan den är i aktivt tillstånd.
Avslutad stat Transaktionstillstånd når avslutat tillstånd när vissa transaktioner som lämnar systemet inte kan startas om.
Statligt övergångsdiagram för en databastransaktion

Låt oss studera ett tillståndsövergångsdiagram som belyser hur en transaktion rör sig mellan dessa olika stater.

  1. När en transaktion anger genomförandet blir den aktiv. Den kan utföra LÄS eller SKRIV-operation.
  2. När LÄS- och SKRIV-operationerna är slutförda blir transaktionerna delvis delaktiga.
  3. Därefter måste vissa återställningsprotokoll säkerställa att ett systemfel inte leder till en oförmåga att registrera ändringar i transaktionen permanent. Om denna kontroll lyckas, begår transaktionen och går in i det engagerade tillståndet.
  4. Om kontrollen misslyckas går transaktionen till misslyckat tillstånd.
  5. Om transaktionen avbryts medan den är i aktivt tillstånd går den till misslyckat tillstånd. Transaktionen bör rullas tillbaka för att ångra effekten av dess skrivoperationer på databasen.
  6. Det avslutade tillståndet avser transaktionen som lämnar systemet.

Vad är ACID-egenskaper?

ACID Properties används för att bibehålla databasens integritet under transaktionsbehandling. ACID i DBMS står för A tomicity, C onsistency, I solation, and D urability.

  • Atomicitet: En transaktion är en enda enhet. Antingen utför du det helt eller utför det inte alls. Det kan inte genomföras delvis.
  • Konsistens: När transaktionen har genomförts ska den gå från ett enhetligt tillstånd till ett annat.
  • Isolering: Transaktion ska utföras isolerat från andra transaktioner (inga lås). Under samtidig transaktionskörning bör mellanliggande transaktionsresultat från samtidigt genomförda transaktioner inte göras tillgängliga för varandra. (Nivå 0,1,2,3)
  • Hållbarhet: · Efter att en transaktion har slutförts ska ändringarna i databasen bestå. Även i händelse av systemfel.

ACID-egendom i DBMS med exempel:

Nedan följer ett exempel 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

Transaktion 1 överför $ 50 från konto X till konto Y.

Transaktion 2 krediterar varje konto en räntebetalning på 10%.

Om båda transaktionerna skickas tillsammans finns det ingen garanti för att Transaktion 1 kommer att genomföras före Transaktion 2 eller vice versa. Oavsett order måste resultatet bli som om transaktionerna sker seriellt efter varandra.

Typer av transaktioner

Baserat på applikationsområden

  • Icke-distribuerat vs.
  • Ersättning av transaktioner
  • Transaktioner Timing
  • On-line vs batch

Baserat på åtgärder

  • Två steg
  • Begränsad
  • Handlingsmodell

Baserat på struktur

  • Platta eller enkla transaktioner: Den består av en sekvens av primitiva operationer som utförs mellan en start- och slutoperation.
  • Kapslade transaktioner: En transaktion som innehåller andra transaktioner.
  • Arbetsflöde

Vad är ett schema?

Ett schema är en process som skapar en enda grupp av flera parallella transaktioner och utför dem en efter en. Det bör bevara den ordning i vilken instruktionerna visas i varje transaktion. Om två transaktioner utförs samtidigt kan resultatet av en transaktion påverka produktionen från en annan.

Exempel

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

Om Transaktion 2 utförs före Transaktion 1 kommer föråldrad information om produktkvantiteten att läsas. Därför krävs scheman.

Parallell körning i en databas är oundviklig. Men parallell körning är tillåten när det finns en ekvivalensrelation mellan de samtidigt utförande transaktionerna. Denna ekvivalens är av tre typer.

RESULTATKVIVALENS:

Om två scheman visar samma resultat efter körning kallas det resultatekvivalent schema. De kan erbjuda samma resultat för vissa värden och olika resultat för en annan uppsättning värden. Till exempel uppdaterar en transaktion produktkvantiteten, medan andra uppdaterar kundinformation.

Visa ekvivalens

Visa ekvivalens uppstår när transaktionen i båda schemat utför en liknande åtgärd. Exempel: en transaktion infogar produktinformation i produkttabellen, medan en annan transaktion infogar produktinformation i arkivtabellen. Transaktionen är densamma, men tabellerna är olika.

KONFLIKT Likvärdighet

I det här fallet uppdaterar / visar två transaktioner samma uppsättning data. Det finns en konflikt mellan transaktionen, eftersom ordern kommer att påverka produktionen.

Vad är Serializability?

Serialiserbarhet är processen att söka efter ett samtidigt schema som utdata är lika med ett seriell schema där transaktion ae körs efter varandra. Beroende på vilken typ av scheman det finns två typer av serieiserbarhet:

  • Konflikt
  • Se

Sammanfattning:

  • Transaktionshantering är en logisk behandlingsenhet i ett DBMS som medför en eller flera operationer för databasåtkomst
  • Det är en transaktion som är en programenhet vars utförande kan ändra eller inte ändra innehållet i en databas.
  • Att inte hantera samtidig åtkomst kan skapa problem som maskinvarufel och systemkrascher.
  • Aktiva, delvis engagerade, engagerade, misslyckade och avsluta är viktiga transaktionstillstånd.
  • Den fullständiga formen av ACID-egenskaper i DBMS är Atomicitet, Konsistens, Isolering och Hållbarhet
  • Tre typer av DBMS-transaktioner är baserade på applikationsområden, åtgärd och struktur.
  • Ett schema är en process som skapar en enda grupp av flera parallella transaktioner och utför dem en efter en.
  • Serializability är processen att söka efter ett samtidigt schema vars utdata är lika med ett seriell schema där transaktioner utförs efter varandra.