logo

ACID-egenskaper i DBMS

A transaktion är en enda logisk arbetsenhet som får åtkomst till och eventuellt modifierar innehållet i en databas. Transaktioner kommer åt data med läs- och skrivoperationer.
För att bibehålla konsistens i en databas, före och efter transaktionen, följs vissa egenskaper. Dessa kallas SYRA egenskaper.

För dem som vill behärska dessa koncept och utmärka sig i tentor som PORT , vår GATE kurs erbjuder en djupgående utforskning av databashanteringssystem. Vi täcker allt från grunderna till avancerade ämnen, vilket säkerställer en grundlig förståelse som är avgörande för höga poäng och praktisk tillämpning

Atomicitet:

Med detta menar vi att antingen hela transaktionen sker på en gång eller inte alls. Det finns ingen halvvägs, dvs transaktioner sker inte delvis. Varje transaktion betraktas som en enhet och slutförs antingen eller inte alls. Det involverar följande två operationer.
Avbryta : Om en transaktion avbryts är ändringar som gjorts i databasen inte synliga.
Begå : Om en transaktion genomförs är gjorda ändringar synliga.
Atomicitet är också känd som 'Allt eller ingenting-regeln'.



Tänk på följande transaktion T bestående av T1 och T2 : Överföring av 100 från konto X till konto OCH .

Om transaktionen misslyckas efter slutförandet av T1 men innan slutförandet av T2 .( Säg efter skriv(X) men innan skriv(Y) ), sedan har beloppet dragits från X men inte tillagt OCH . Detta resulterar i ett inkonsekvent databastillstånd. Därför måste transaktionen utföras i sin helhet för att säkerställa korrektheten av databastillståndet.

Konsistens:

Detta innebär att integritetsbegränsningar måste upprätthållas så att databasen är konsekvent före och efter transaktionen. Det hänvisar till riktigheten av en databas. Med hänvisning till exemplet ovan,
Det totala beloppet före och efter transaktionen måste bibehållas.
Total före T förekommer = 500 + 200 = 700 .
Total efter T inträffar = 400 + 300 = 700 .
Därför är databasen konsekvent . Inkonsekvens förekommer i fall T1 slutför men T2 misslyckas. Som ett resultat är T ofullständigt.

Isolering:

Den här egenskapen säkerställer att flera transaktioner kan ske samtidigt utan att leda till inkonsekvens i databastillståndet. Transaktioner sker oberoende utan störningar. Ändringar som sker i en viss transaktion kommer inte att vara synliga för någon annan transaktion förrän den specifika ändringen i den transaktionen skrivs till minnet eller har genomförts. Den här egenskapen säkerställer att utförande av transaktioner samtidigt kommer att resultera i ett tillstånd som är likvärdigt med ett tillstånd som uppnåtts. Dessa utfördes seriellt i någon ordning.
Låta X = 500, OCH = 500.
Tänk på två transaktioner T och T.

Anta T har verkställts till Läs (Y) och då T'' startar. Som ett resultat av detta sker interfoliering av operationer T'' läser det korrekta värdet på X men det felaktiga värdet av OCH och summan beräknad av
T’’: (X+Y = 50, 000+500=50, 500)
är alltså inte förenligt med summan vid transaktionens slut:
T: (X+Y = 50, 000 + 450 = 50, 450) .
Detta resulterar i databasinkonsekvens, på grund av en förlust av 50 enheter. Därför måste transaktioner ske isolerat och ändringar bör vara synliga först efter att de har gjorts i huvudminnet.

Varaktighet:

Den här egenskapen säkerställer att när transaktionen har genomförts, lagras uppdateringarna och ändringarna av databasen på och skrivs till disken och de kvarstår även om ett systemfel inträffar. Dessa uppdateringar blir nu permanenta och lagras i ett icke-flyktigt minne. Effekterna av transaktionen går alltså aldrig förlorade.

Några viktiga punkter:

Fast egendom Ansvar för underhåll av fastigheter
Atomicitet Transaktionsansvarig
Konsistens Applikationsprogrammerare
Isolering Concurrency Control Manager
Varaktighet Recovery Manager

De SYRA egenskaper, i sin helhet, tillhandahåller en mekanism för att säkerställa korrektheten och konsistensen i en databas på ett sätt så att varje transaktion är en grupp av operationer som fungerar som en enda enhet, ger konsekventa resultat, agerar isolerat från andra operationer och uppdaterar som den gör är hållbart lagrade.

ACID-egenskaper är de fyra nyckelegenskaperna som definierar tillförlitligheten och konsekvensen av en transaktion i ett databashanteringssystem (DBMS). Akronymen ACID står för Atomicity, Consistency, Isolation och Durability. Här är en kort beskrivning av var och en av dessa egenskaper:

  1. Atomicitet: Atomicitet säkerställer att en transaktion behandlas som en enda, odelbar arbetsenhet. Antingen slutförs alla operationer inom transaktionen framgångsrikt, eller så är ingen av dem. Om någon del av transaktionen misslyckas rullas hela transaktionen tillbaka till sitt ursprungliga tillstånd, vilket säkerställer datakonsistens och integritet.
  2. Konsistens: Konsistens säkerställer att en transaktion tar databasen från ett konsekvent tillstånd till ett annat konsekvent tillstånd. Databasen är i ett konsekvent tillstånd både före och efter att transaktionen utförs. Begränsningar, såsom unika nycklar och främmande nycklar, måste upprätthållas för att säkerställa datakonsistens.
  3. Isolering: Isolering säkerställer att flera transaktioner kan utföras samtidigt utan att störa varandra. Varje transaktion måste isoleras från andra transaktioner tills den är slutförd. Denna isolering förhindrar smutsiga läsningar, icke-repeterbara läsningar och fantomläsningar.
  4. Hållbarhet: Hållbarhet säkerställer att när en transaktion väl har genomförts är ändringarna permanenta och kommer att överleva alla efterföljande systemfel. Transaktionens ändringar sparas i databasen permanent, och även om systemet kraschar förblir ändringarna intakta och kan återställas.

Sammantaget ger ACID-egenskaper ett ramverk för att säkerställa datakonsistens, integritet och tillförlitlighet i DBMS. De säkerställer att transaktioner utförs på ett tillförlitligt och konsekvent sätt, även i närvaro av systemfel, nätverksproblem eller andra problem. Dessa egenskaper gör DBMS till ett pålitligt och effektivt verktyg för att hantera data i moderna organisationer.

Fördelar med ACID-egenskaper i DBMS:

  1. Datakonsistens: ACID-egenskaper säkerställer att data förblir konsekventa och korrekta efter en transaktionsexekvering.
  2. Dataintegritet: ACID-egenskaper upprätthåller dataintegriteten genom att säkerställa att alla ändringar i databasen är permanenta och inte kan gå förlorade.
  3. Samtidighetskontroll: ACID-egenskaper hjälper till att hantera flera transaktioner som sker samtidigt genom att förhindra interferens mellan dem.
  4. Återställning: ACID-egenskaper säkerställer att i händelse av fel eller kraschar kan systemet återställa data fram till punkten för fel eller krasch.

Nackdelar med ACID-egenskaper i DBMS:

  1. Prestanda: ACID-egenskaperna kan orsaka en prestandaoverhead i systemet, eftersom de kräver ytterligare bearbetning för att säkerställa datakonsistens och integritet.
  2. Skalbarhet: ACID-egenskaperna kan orsaka skalbarhetsproblem i stora distribuerade system där flera transaktioner sker samtidigt.
  3. Komplexitet: Implementering av ACID-egenskaperna kan öka komplexiteten i systemet och kräva betydande expertis och resurser.
    Sammantaget överväger fördelarna med ACID-egenskaper i DBMS nackdelarna. De ger ett tillförlitligt och konsekvent förhållningssätt till data
  4. hantering, vilket säkerställer dataintegritet, precision och tillförlitlighet. I vissa fall kan dock omkostnader för implementering av ACID-egenskaper orsaka problem med prestanda och skalbarhet. Därför är det viktigt att balansera fördelarna med ACID-egenskaper mot systemets specifika behov och krav.