Skip to Content

Was ist Datenbank-ACID?

ACID ist ein Akronym für die vier wichtigsten Eigenschaften einer Datenbank: Atomität, Konsistenz, Isolation und Langlebigkeit. Es wird oft mit relationalen Datenbanken in Verbindung gebracht, aber eine NoSQL-Datenbank (nicht relational) kann auch ACID-Regeln befolgen. ACID-Transaktionen sind in vielen der gängigen Datenbank-Engines auf dem Markt üblich und stellen sicher, dass Lese- und Schreibvorgänge die Integrität Ihrer Daten nicht beeinträchtigen.

Was ist Datenbank-ACID?

Eine Datenbank, die die Best Practices von ACID befolgt, hat die folgenden Merkmale:

  • Atomität: Verhindern Sie Datenverluste, verwaiste Datensätze und teilweise Transaktionen mit Atomität. Eine Datenbank mit Atomität bietet „alle oder nichts“-Transaktionen, sodass Sie keine Daten verlieren, wenn ein Teil einer Transaktion im mittleren Bereich ausfällt.
  • Konsistenz: Tabellenbeschränkungen in ACID-Datenbanken erfordern, dass alle Transaktionen Daten in einem konsistenten Format speichern.
  • Isolation: Eine ACID-Datenbank stellt sicher, dass die Transaktionen keine schmutzigen Lese- oder Schreibvorgänge zurückgeben, indem sie Daten isoliert und Transaktionen nacheinander durchführt.
  • Langlebigkeit: Systemausfälle (z. B. ein Stromausfall) können Transaktionen beeinträchtigen, sodass eine ACID-Datenbank sicherstellt, dass ein Failover Datenverlust durch ein kritisches Ereignis verhindert.

Atomität

Moderne Datenbanktransaktionen haben mehr als einen Schritt, um einen Datensatz abzuschließen. Ein Kunde kann beispielsweise einen Auftrag erstellen, sodass ein gespeichertes Verfahren eine EINFÜGEN-Anweisung verwendet, um einen Datensatz zu den Tabellen „Orders“ und „products_ordered“ hinzuzufügen. Wenn das Hinzufügen eines Datensatzes zur Bestelltabelle fehlschlägt, möchten Sie der Tabelle products_ordered keinen Datensatz hinzufügen. Dadurch würde ein verwaister Datensatz erstellt werden.

Bei der Atomität führt die Datenbank alle Transaktionen zurück, wenn eine fehlschlägt, sodass die Daten konsistent bleiben und eine Beschädigung vermieden wird. Nur wenn alle Schritte einer Transaktion erfolgreich abgeschlossen sind, werden die Daten gespeichert. Atomicity vermeidet Datenbeschädigung, Datenverlust und verwaiste Datensätze.

Konsistenz

Relationale Datenbanken haben Einschränkungen, die es ermöglichen, nur bestimmte Arten von Daten zu speichern. NoSQL-Datenbanken speichern Daten in ihrem eigenen festgelegten Format. Wenn Sie beispielsweise angeben, dass nur eine Dezimalzahl in einer Spalte „Gesamtsumme der Reihenfolge“ gespeichert werden kann, führt der Versuch, eine Zeichenfolge zu speichern, zu einem Fehler. Wenn die Daten konsistent bleiben, erhalten Entwickler einen bekannten Wert, wenn sie mit einem Datensatz arbeiten.

Konsistenz in einer Datenbank bedeutet, dass Daten vorausgesagt werden können, was bedeutet, dass Sie wissen, ob Sie Daten für einen bestimmten Datensatz abrufen, um ein erwartetes Ergebnis zu erhalten. Anhand des Beispiels für die Bestelltabelle wissen Sie, dass Sie einen Dezimalwert für jede Abfrage erhalten, die einen Wert aus der Spalte „Auftragssumme“ abruft.

Isolation

Verschmutzte Lesevorgänge und schmutzige Schreibvorgänge treten auf, wenn ein Benutzer eine Abfrage zu dem bestimmten Zeitpunkt ausführt, an dem die Datenbank auch Änderungen an einem Wert vornimmt. Wenn Sie beispielsweise die Gesamtsumme für alle Aufträge für den Monat kennen möchten, erhalten Sie möglicherweise ein falsches Ergebnis, wenn Sie Daten zum Zeitpunkt der Aktualisierung einer Auftragssumme lesen. Das Gleiche kann bei Schreibaktionen geschehen, wenn Daten gelesen werden, bevor eine vorherige Aktualisierungsanweisung ausgeführt werden kann. 

Verschmutzte Lese- und Schreibvorgänge können Ihre Daten beschädigen und die Datenintegrität zerstören. Isolierte Transaktionen führen nacheinander Aussagen aus, sodass die Daten auch bei Millionen täglicher Transaktionen konsistent und unterbrechungsfrei bleiben. Isolierte Transaktionen können Datensätze sperren, Änderungen vornehmen und dann Datensätze für die nächste Transaktion freigeben.

Langlebigkeit

Sowohl strukturierte als auch unstrukturierte Datenbanken müssen Daten nach Abschluss einer Transaktion konsistent und dauerhaft speichern, selbst wenn ein Systemausfall vorliegt. Transaktionsprotokolle und Infrastrukturausfälle müssen ebenfalls implementiert werden, aber die Datenbank selbst muss in der Lage sein, Daten konsistent und ohne Datenbeschädigung zu speichern. Datenbank-Engines haben ihre eigenen Strategien und Failover-Techniken, aber Administratoren müssen sich auf sie verlassen können, um Daten wiederherzustellen.

Beispielsweise kann ein Stromausfall eine Transaktion in der Mitte unterbrechen. Unabhängig davon, ob der Administrator Transaktionen zurücksetzen oder Daten wiederherstellen muss, muss die Datenbank in der Lage sein, den Fehler zu beheben. Für die meisten Administratoren wird Failover auch mit Backups und Redundanzen gehandhabt. ACID kann bei der größeren Disaster-Recovery-Strategie eines Unternehmens helfen. 

Fazit

Unternehmenskritische Datenbanken benötigen ACID-Eigenschaften, um Unternehmensanwendungen zu unterstützen. ACID-Eigenschaften sind für die Datenintegrität unerlässlich und stellen sicher, dass Ihre Daten von beliebig vielen Anwendungen abgerufen und verwendet werden können. Administratoren müssen weiterhin Backups durchführen und sicherstellen, dass der Datenbankserver reibungslos funktioniert, aber ACID-Eigenschaften sind für die Geschäftskontinuität entscheidend.

11/2024
Pure Storage Cloud for Azure VMware Solution
Shrink your Azure VMware costs with Pure Storage Cloud, a suite of enterprise-grade data services by Pure Storage.
Lösungsprofil
4 Seiten
KONTAKTIEREN SIE UNS
Fragen, Kommentare?

Haben Sie eine Frage oder einen Kommentar zu Produkten oder Zertifizierungen von Pure?  Wir helfen Ihnen gerne!

Termin für Demo vereinbaren

Vereinbaren Sie einen Termin für eine Live-Demo und sehen Sie selbst, wie Pure Ihnen helfen kann, Ihre Daten in überzeugende Ergebnisse zu verwandeln. 

Rufen Sie uns an: +49 89 26200662
Presse:
 pr@purestorage.com

 

Pure Storage Germany GmbH

Mies-van-der-Rohe-Straße 6

80807 München

Deutschland

info@purestorage.com

SCHLIESSEN
Ihr Browser wird nicht mehr unterstützt!

Ältere Browser stellen häufig ein Sicherheitsrisiko dar. Um die bestmögliche Erfahrung bei der Nutzung unserer Website zu ermöglichen, führen Sie bitte ein Update auf einen dieser aktuellen Browser durch.