ACID schützt Är Datenbank Daten
Den ACID Modell vun der Datebank ass eent vun de gréisste Begrëffer vun der Datenbanktheorie. Et setzt vier Ziler fir datt all Datenbankmanagementsystem striewen fir ze realiséieren: Atommheet, Konsistenz, Isolatioun an Haltbarkeet. Eng relational Datenbank déi keng vun dësen ville Ziler erreechen kann net als zouverlässeg sinn. Eng Datebank, déi dës Charakteristesch ass, gëtt als ACID-konform.
ACID definéiert
Loosst eis e Moment ergänzen fir all dës Charakteristiken am Detail ze iwwerpréiwen:
- Atomizitéit steet datt d'Datebank ännert muss eng "all oder näischt" Regel maachen. All Transaktioun gëtt als "atomar" bezeechent. Wann een Deel vun der Transaktioun fehlschléit, fällt déi ganz Transaktioun of. Et ass kritesch datt d'Datenbankmanagementsystem d'Atomenergie vun Transaktioune trotz all DBMS, Operatiounsystem oder Hardware-Ausfall behalen.
- Konsequenz weist datt nëmmen gültege Daten an d'Datebank geschriwwe ginn. Wann, aus e puer Grënn, eng Transaktioun ausgezeechent gëtt, déi d'Konsistenzregeleg vun der Datebank verletzt, de ganze Transaktioun zeréckgerappt ginn an d'Datebank an engem Staat konsistent mat dëse Regelen zréckgeworf ginn. Enner anerem, wann eng Transaktioun mat Erfolleg ausgezeechent gëtt, da gëtt d'Datebank vun engem Staat, deen den Regelen an en anere Staat entsprécht, deen och mat de Regele konsequent ass.
- Isolatioun erfuedert datt verschidde Transaktioune gläichzäiteg net iwwert d'Ausféierung vun deenen aneren anzegräifen. Zum Beispill, wann de Joe eng Transaktioun géint eng Datebank erofgespillt huet, datt d'Maria eng aner Transaktioun huet, sollen déi zwee Transaktioune op enger Datebank op enger isoléierter Manéier operéieren. D'Datebank misst entweder de ganze Transaktioun vun der Joe ausféieren virun der Ausféierung vun der Maria, oder vice-versa. Dëst verhënnert datt d'Transaktioun vum Lies vun Intermediatiounsdaten als Nebenwierkung vum Deel vun der Transaktioun vu Maria entsteet, déi net schliisslech fir d'Datebank begleet sinn. Opgepasst datt d'Isoléierungsimmobilie net garantéiert datt d'Transaktioun zuerst ausgeführt gëtt - just datt Transaktiounen net gegleeft mateneen
- Hëlleft suergt datt all Transaktioun engagéiert ass fir d'Datebank net verluer ze ginn. Hëlleft ass duerch den Asaz vun Datenbank-Backups a Transaktiounsprotokollen geséchert, déi d'Restauratioun vun engagéierten Transaktioune erleichtert, obwuel sämtlech Software oder Hardwareversécherung ass.
Wéi ACID funktionnelt an der Praxis
Database Administrateuren benotze verschidden Stréimunge fir ACID auszesetzen.
Ee benotzt fir d'Atomzoukkeet an d'Haltbarkeet duerchzesetzen ze kënnen, ass Schreiwe Préventioun (WAL), wou all Transaktioun Detail fir d'éischt schreift op ee Protokoll dat Répertoire oder Réckbléck. de Logbicher a vergläicht seng Inhalter am Staat vun der Datebank.
Eng aner Methode déi d'Atomizitéit an d'Haltbarkeet ugeet, ass Schattenpacker, bei deem eng Schattenseit gëtt erstallt wann d'Donnéeen geännert ginn. D'Aktualiséierunge vun der Abfrage ginn op d'Schattesch Säit geschriwen an net déi richteg Daten aus der Datebank. D'Datebank selwer gëtt nëmme geännert wann d'Ännerung fäerdeg ass.
Eng aner Strategie heescht den Zweephase-Verpflichtung Protokoll, besonnesch nëtzlech an verdeelerte Datenbanksystemer. Dëse Protokoll trennt eng Ufro fir d'Daten an zwou Phasen z'änneren: eng Verpflichtungfuerderung an eng engagéiert Phase. An der Requête Phase kënnen all DBMSs op engem Netzwierk, deen vun der Transaktioun beaflosst muss bestätegen, datt se et kréien an d'Kapazitéit hunn fir d'Transaktioun auszeféieren. Soubal d'Confirmatioun vun all relevante DBMS gëtt kritt, fëllt d'Engagementphase, an där d'Donnéeën tatsächlech geännert ginn.