Haltbarkeit der Atomizitätskonsistenz (Säure)

Definition - Was bedeutet ACID (Atomicity Consistency Isolation Durability)?

Atomicity Consistency Isolation Durability (ACID) ist ein Konzept in Datenbankverwaltungssystemen (DBMS), das eine Reihe von Standardeigenschaften identifiziert, die verwendet werden, um die Zuverlässigkeit einer bestimmten Datenbank zu gewährleisten.

ACID bezieht sich auf die vier Transaktionseigenschaften eines Datenbanksystems: Atomizität, Konsistenz, Isolation und Haltbarkeit. Eine Transaktion ist eine Folge von Operationen, die diese Eigenschaften erfüllen.

ACID-Eigenschaften stellen sicher, dass alle Datenbanktransaktionen korrekt und konsistent bleiben, und unterstützen die Wiederherstellung nach Fehlern, die während der Verarbeitungsvorgänge auftreten können. Es wird von fast allen relationalen Datenbanken implementiert.

Technische.me erklärt die Haltbarkeit der Atomicity Consistency Isolation (ACID)

Eine Datenbank garantiert die folgenden vier Eigenschaften, um die Zuverlässigkeit der Datenbank wie folgt sicherzustellen:

Atomarität

Atomicity ist eine Eigenschaft, die sicherstellt, dass eine Datenbank der Alles-oder-Nichts-Regel folgt. Mit anderen Worten, die Datenbank betrachtet alle Transaktionsoperationen als eine ganze Einheit oder ein ganzes Atom.

Wenn eine Datenbank eine Transaktion verarbeitet, ist sie entweder vollständig abgeschlossen oder wird überhaupt nicht ausgeführt. Wenn ein einzelner Teil der Transaktion fehlschlägt, schlägt die gesamte Transaktion fehl.

Beispielsweise möchte Benutzer A 50 USD von seinem Konto abheben und dann auf das Konto von Benutzer B überweisen. Jede Transaktion (50 USD von Konto A abheben und 50 USD auf Konto B überweisen) wird als separat gezählt. Wenn die erste Transaktion (Abheben von 50 USD) fehlschlägt, weil (sagen wir) der Server während der Transaktion abstürzt, kann Benutzer A das Geld nicht an Benutzer B überweisen.

Atomicity ist besonders wichtig, um Schäden bei Abstürzen des Datenbankservers zu minimieren. Wenn eine nichtflüchtige Datenbank mitten in einer Transaktion abstürzt, werden alle vorgenommenen Änderungen verworfen oder rückgängig gemacht, um zu vermeiden, dass Teilergebnisse an die Produktionsdatenbank gesendet werden.

Konsistenz

Konsistenz ist eine Eigenschaft, die sicherstellt, dass nur gültige Daten, die allen Regeln und Einschränkungen entsprechen, in die Datenbank geschrieben werden. Wenn eine Transaktion zu ungültigen Daten führt, kehrt die Datenbank zu ihrem vorherigen Status zurück, in dem alle üblichen Regeln und Einschränkungen eingehalten werden.

Konsistenz ist der Schlüssel zur Aufrechterhaltung der Datenintegrität. Alle inkonsistenten Daten werden verworfen, und alle Transaktionen, die zu einer Inkonsistenz führen können, werden abgebrochen und ein Fehler erstellt oder in ein Fehlerprotokoll übertragen.

Wenn Benutzer A beispielsweise 1,000 USD von seinem Konto abheben möchte, aber nur einen Kontostand von 500 USD hat, verhindert die Konsistenz, dass er Geld abhebt, und die Transaktion wird abgebrochen.

Isolation

Isolation ist eine Eigenschaft, die die Individualität jeder Transaktion garantiert und verhindert, dass sie von anderen Transaktionen beeinflusst werden. Es stellt sicher, dass Transaktionen gleichzeitig sicher und unabhängig und ohne Störung verarbeitet werden, gewährleistet jedoch nicht die Reihenfolge der Transaktionen.

Beispielsweise zieht Benutzer A 100 US-Dollar ab und Benutzer B 250 US-Dollar vom Konto von Benutzer Z ab, das einen Saldo von 1,000 US-Dollar aufweist. Da sowohl A als auch B aus dem Konto von Z ziehen, muss einer der Benutzer warten, bis die andere Benutzertransaktion abgeschlossen ist, um inkonsistente Daten zu vermeiden.

Wenn B warten muss, muss B warten, bis die Transaktion von A abgeschlossen ist und sich der Kontostand von Z auf 900 USD ändert. Jetzt kann B 250 USD von diesem Guthaben von 900 USD abheben.

Haltbarkeit

Die Dauerhaftigkeit ist eine Eigenschaft, die abgeschlossene Transaktionen erzwingt und garantiert, dass jede einzelne Transaktion auch bei späteren Fehlern im System verbleibt, sobald sie festgeschrieben wurde.

Wenn eine Transaktion erfolgreich ist, werden alle von ihr generierten Änderungen dauerhaft gespeichert.

Im obigen Beispiel kann Benutzer B 100 USD erst abheben, nachdem die Transaktion von Benutzer A abgeschlossen und in der Datenbank aktualisiert wurde. Wenn das System ausfällt, bevor die Transaktion von A in der Datenbank protokolliert wird, kann A kein Geld abheben und das Konto von Z kehrt in seinen vorherigen konsistenten Zustand zurück.

Diese Definition wurde im Kontext des Datenbankverwaltungssystems geschrieben