Transactiebeheer in DBMS: wat zijn ACID-eigenschappen?

Wat is een databasetransactie?

A Database-transactie is een logische verwerkingseenheid in een DBMS die nltails een of meer databasetoegang operatie. Kortom, databasetransacties vertegenwoordigen gebeurtenissen uit de echte wereld van elke onderneming.

Alle soorten databasetoegang operaDe gegevens die tussen de begin- en eindtransactie-instructies worden bewaard, worden in DBMS als één logische transactie beschouwd. Tijdens de transactie is de database inconsistent. Pas nadat de database is vastgelegd, wordt de status gewijzigd van de ene consistente status naar de andere.

Database-transactie
Database-transactie

Feiten over databasetransacties

  • Een transactie is een programma-eenheid waarvan de uitvoering de inhoud van een database wel of niet kan veranderen.
  • Het transactieconcept in DBMS wordt als één eenheid uitgevoerd.
  • Als de databank operaWanneer de database niet wordt bijgewerkt, maar alleen gegevens worden opgehaald, wordt dit type transactie een alleen-lezen-transactie genoemd.
  • Een succesvolle transactie kan de database van de ene CONSISTENTE STAAT naar de andere veranderen
  • DBMS-transacties moeten zijn atomic, consistent, geïsoleerd en duurzaam
  • Als de database zich vóór een transactie in een inconsistente toestand zou bevinden, zou deze na de transactie in de inconsistente toestand blijven.

Waarom heb je gelijktijdigheid nodig bij transacties?

Een database is een gedeelde bron waartoe toegang wordt verkregen. Het wordt door veel gebruikers en processen tegelijkertijd gebruikt. Bijvoorbeeld het banksysteem, spoorweg- en luchtreserveringssystemen, beursmonitoring, supermarktinventaris en kassa's, enz.

Het niet beheren van gelijktijdige toegang kan problemen veroorzaken zoals:

  • Hardwarefouten en systeemcrashes
  • Gelijktijdige uitvoering van dezelfde transactie, deadlockof trage prestaties

Staten van transacties

De verschillende statussen van een transactieconcept in DBMS worden hieronder opgesomd:

Land Transactietypen
Actieve staat Een transactie komt in een actieve toestand wanneer het uitvoeringsproces begint. Tijdens deze toestand lezen of schrijven operaties kunnen worden uitgevoerd.
Gedeeltelijk toegewijd Een transactie gaat na het einde van een transactie over in de gedeeltelijk vastgelegde status.
Toegewijde staat Wanneer de transactie wordt vastgelegd, is de uitvoering ervan al succesvol voltooid. Bovendien worden alle wijzigingen permanent in de database vastgelegd.
Mislukte staat Een transactie wordt als mislukt beschouwd als een van de controles mislukt of als de transactie wordt afgebroken terwijl deze nog actief is.
Beëindigde staat De transactiestatus bereikt de beëindigde status wanneer bepaalde transacties die het systeem verlaten, niet opnieuw kunnen worden gestart.
Staatsovergangsdiagram
Statusovergangsdiagram voor een databasetransactie

Laten we A bestuderen toestandsovergangsdiagram dat benadrukt hoe een transactie zich tussen deze verschillende staten beweegt.

  1. Zodra een transactie wordt uitgevoerd, wordt deze actief. Het kan READ of WRITE geven operatie.
  2. Zodra de LEES en SCHRIJF operaWanneer de transacties zijn voltooid, worden de transacties gedeeltelijk vastgelegd.
  3. Vervolgens moeten sommige herstelprotocollen ervoor zorgen dat een systeemfout niet zal resulteren in het onvermogen om wijzigingen in de transactie permanent vast te leggen. Als deze controle succesvol is, wordt de transactie vastgelegd en komt deze in de vastgelegde staat.
  4. Als de controle mislukt, krijgt de transactie de status Mislukt.
  5. Als de transactie wordt afgebroken terwijl deze zich nog in de actieve status bevindt, gaat deze naar de mislukte status. De transactie moet worden teruggedraaid om het effect van het schrijven ervan ongedaan te maken operaties op de database.
  6. De beëindigde status verwijst naar de transactie die het systeem verlaat.

Wat zijn ZUUR-eigenschappen?

ACID-eigenschappen worden gebruikt om de integriteit van de database te behouden tijdens de transactieverwerking. ACID in DBMS staat voor Atomiciteit, Caanhoudendheid, Isolatie, en Durabiliteit.

  • Atomijs: Een transactie is een enkele eenheid van operatie. Je voert het geheel uit, of je voert het helemaal niet uit. Er kan geen sprake zijn van gedeeltelijke uitvoering.
  • Consistentie: Zodra de transactie is uitgevoerd, moet deze van de ene consistente toestand naar de andere gaan.
  • Isolatie: Transacties moeten afzonderlijk van andere transacties worden uitgevoerd (geen vergrendelingen). Tijdens gelijktijdige uitvoering van transacties zijn tussentijdse transacties het resultaat van simultaneoGebruikelijk uitgevoerde transacties mogen niet aan elkaar beschikbaar worden gesteld. (Niveau 0,1,2,3)
  • Duurzaamheid:· Na succesvolle voltooiing van een transactie moeten de wijzigingen in de database blijven bestaan. Zelfs bij systeemstoringen.

ACID Eigenschap in DBMS met voorbeeld

Hieronder ziet u een voorbeeld van de ACID-eigenschap in DBMS:

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

Transactie 1 is het overboeken van $ 50 van rekening X naar rekening Y.

Transactie 2 crediteert elke rekening met een rentebetaling van 10%.

Als beide transacties samen worden ingediend, is er geen garantie dat Transactie 1 vóór Transactie 2 zal worden uitgevoerd of omgekeerd. Ongeacht de volgorde moet het resultaat zijn alsof de transacties serieel na elkaar plaatsvinden.

Soorten transacties

Gebaseerd op toepassingsgebieden

  • Niet-gedistribueerd versus gedistribueerd
  • Compenserende transacties
  • Transactietiming
  • Online versus batch

Gebaseerd op acties

  • Twee stappen
  • Beperkt
  • Actiemodel

Gebaseerd op structuur

  • Platte of eenvoudige transacties: het bestaat uit een reeks primitieve transacties operauitgevoerd tussen begin en einde operaties.
  • Geneste transacties: Een transactie die andere transacties bevat.
  • Workflow

Wat is een schema?

Een schema is een proces dat een enkele groep van meerdere parallelle transacties creëert en deze één voor één uitvoert. Het moet de volgorde behouden waarin de instructies in elke transactie verschijnen. Als twee transacties tegelijkertijd worden uitgevoerd, kan het resultaat van de ene transactie de uitkomst van de andere beïnvloeden.

Voorbeeld

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

Als Transactie 2 vóór Transactie 1 wordt uitgevoerd, wordt verouderde informatie over de producthoeveelheid gelezen. Er zijn dus schema’s nodig.

Parallelle uitvoering in een database is onvermijdelijk. Maar parallelle uitvoering is toegestaan ​​als er een gelijkwaardigheidsrelatie bestaat tussen de simultaneogewoonlijk transacties uitvoeren. Deze gelijkwaardigheid bestaat uit 3 typen.

RESULTAAT GELIJKWAARDIGHEID:

Als twee schema's na uitvoering hetzelfde resultaat weergeven, wordt dit een resultaatequivalentschema genoemd. Ze kunnen hetzelfde resultaat bieden voor een bepaalde waarde en verschillende resultaten voor een andere reeks waarden. De ene transactie werkt bijvoorbeeld de producthoeveelheid bij, terwijl de andere de klantgegevens bijwerkttails.

Bekijk gelijkwaardigheid

Equivalentie bekijken vindt plaats wanneer de transactie in beide planningen een soortgelijke actie uitvoert. Eén transactie voegt bijvoorbeeld product de intails in de producttabel, terwijl een andere transactie product de invoegttails in de archiv tafel. De transactie is hetzelfde, maar de tabellen zijn anders.

CONFLICT Gelijkwaardigheid

In dit geval updaten/bekijken twee transacties dezelfde set gegevens. Er is een conflict tussen de transacties, omdat de volgorde van uitvoering de uitvoer beïnvloedt.

Wat is serialiseerbaarheid?

Serialiseerbaarheid is het proces van zoeken naar een gelijktijdig schema waarvan de output gelijk is aan een serieel schema waarbij transacties de een na de ander worden uitgevoerd. Afhankelijk van het type schema's zijn er twee soorten serialiseerbaarheid:

  • Conflict
  • Bekijk

Samengevat

  • Transactiebeheer is een logische verwerkingseenheid in een DBMS die entails een of meer databasetoegang operatie
  • Het is een transactie, een programma-eenheid waarvan de uitvoering de inhoud van een database wel of niet kan veranderen.
  • Het niet beheren van gelijktijdige toegang kan problemen veroorzaken zoals hardwarestoringen en systeemcrashes.
  • Actief, gedeeltelijk vastgelegd, vastgelegd, mislukt en beëindigd zijn belangrijke transactiestatussen.
  • De volledige vorm van ACID Properties in dbms is Atomiciteit, consistentie, isolatie en duurzaamheid
  • Drie typen DBMS-transacties zijn Basis op toepassingsgebieden, Actie en Structuur.
  • Een schema is een proces dat een enkele groep van meerdere parallelle transacties creëert en deze één voor één uitvoert.
  • Serialiseerbaarheid is het proces van zoeken naar een gelijktijdig schema waarvan de output gelijk is aan een serieel schema waarbij transacties na elkaar worden uitgevoerd.