ACID
Steht für „Atomicity, Consistency, Isolation, Durability“. Das Akronym ACID bezeichnet vier Eigenschaften, die eine Datenbank haben muss, um die Datenintegrität sicherzustellen. Diese Eigenschaften gelten insbesondere für Datenbankoperationen, die Daten in die Datenbank schreiben. Dazu gehören beispielsweise das Einfügen, Aktualisieren und Entfernen von Datensätzen.
Die vier ACID-Elemente werden im Folgenden beschrieben:
1. Atomarität
Atomarität garantiert, dass jede Transaktion vollständig oder gar nicht ausgeführt wird. Mit anderen Worten: Sie ist entweder erfolgreich oder schlägt vollständig fehl. Atomare Operationen verhindern Datenbeschädigungen, indem sie teilweise ausgeführte Transaktionen nicht zulassen. Wenn eine Operation nicht abgeschlossen werden kann, wird sie auf den vorherigen Zustand „zurückgesetzt“, als wäre sie nie ausgeführt worden.
2. Konsistenz
Konsistenz stellt sicher, dass nur gültige Daten in eine Datenbank geschrieben werden. Eine Datenbank akzeptiert beispielsweise keine ungültigen Transaktionen oder nicht erkennbaren Daten. Zusätzlich kann sie einen „Doublewrite-Puffer“ verwenden, der neue Transaktionen vorübergehend speichert. Wenn die Datenbank oder das Hostsystem unerwartet abstürzt, können die Daten aus dem Puffer wiederhergestellt werden.
3. Isolation
Isolation stellt sicher, dass jede Transaktion einzeln verarbeitet wird. Einige Datenbanken lesen und schreiben Daten mehrmals pro Sekunde, wodurch gleichzeitige Transaktionen erforderlich sein können. Auch wenn Transaktionen zur selben Zeit stattfinden, können sie weiterhin voneinander isoliert werden. Wenn beispielsweise eine Operation fehlschlägt, wirkt sich dies nicht auf andere gleichzeitig stattfindende Operationen aus. Isolation ist auch für die Datenbanksicherheit wichtig, da sie verhindert, dass die Daten einer Transaktion für eine andere sichtbar sind.
4. Dauerhaftigkeit
Dauerhaftigkeit garantiert, dass Daten gespeichert werden, sobald eine Transaktion verarbeitet oder in der Datenbank „festgeschrieben“ wurde. Dazu müssen die Daten in nichtflüchtigen Speicher geschrieben werden, damit Transaktionen nicht verloren gehen, wenn eine Anwendung abstürzt oder ein Stromausfall auftritt.
Datenbanksoftware kann zwar dazu beitragen, die Dauerhaftigkeit einer Datenbank sicherzustellen, aber auch die Hardware ist wichtig. Beispielsweise kann eine RAID-Speicherkonfiguration Redundanz bereitstellen, wenn ein Speichergerät ausfällt. Eine USV-Batteriesicherung kann Datenverlust verhindern, indem sie die Stromversorgung aufrechterhält, wenn die primäre Stromquelle nicht verfügbar ist.
NOTE: „Acid“ (kleingeschrieben) ist ein Test für Webbrowser, der die Browserunterstützung für bestimmte HTML-Tags und CSS-Regeln überprüft. Der aktuellste Test, Acid3, wurde 2008 von der Gruppe Web Standards Project entwickelt.
Testen Sie Ihr Wissen