close

SÄURE

Zur Navigation gehen Zur Suche gehen

In Datenbanken bezieht sich ACID auf die Eigenschaften der Parameter, die eine Klassifizierung der Transaktionen von Datenbankverwaltungssystemen ermöglichen . Wenn eine Aktion als ACID-konform bezeichnet wird, bedeutet dies - in unterschiedlichem Maße -, dass Transaktionen ausgeführt werden können.

Insbesondere ist ACID ein Akronym im Englischen für Atomicity , Consistency, Isolation and Durability : Atomicidad , Consistency , Isolation and Durability , im Spanischen.

Definitionen

  • Atomarität : Wenn eine Operation aus einer Reihe von Schritten besteht, von denen entweder alle oder keiner ausgeführt wird, d. h. die Transaktionen abgeschlossen sind.
  • Konsistenz : ( Integrität ). Es ist die Eigenschaft, die dafür sorgt, dass nur das beginnt, was fertig werden kann. Daher werden diejenigen Operationen ausgeführt, die nicht gegen die Regeln und Richtlinien derDatenbankintegrität verstoßen . Die Konsistenzeigenschaft besagt, dass jede Transaktion die Datenbank von einem gültigen Zustand in einen anderen gültigen Zustand bringt. „Durch die Datenbankintegrität können wir sicherstellen, dass die Daten korrekt und konsistent sind, das heißt, dass sie immer intakt sind, immer wie erwartet und dass sie sich nicht ändern oder in irgendeiner Weise verzerrt werden. Auf diese Weise können wir garantieren, dass die Informationen dem Benutzer präsentiert wird, immer gleich sein."
  • Isolation : Diese Eigenschaft stellt sicher, dass eine Operation andere nicht beeinflussen kann. Dadurch wird sichergestellt, dass die Ausführung von zwei Transaktionen mit denselben Informationen unabhängig ist und keinerlei Fehler verursacht. Diese Eigenschaft definiert, wie und wann von einem Vorgang erzeugte Änderungen für andere gleichzeitige Vorgänge sichtbar gemacht werden. Die Isolierung kann auf verschiedenen Ebenen erreicht werden, was der wesentliche Parameter bei der Auswahl von DBMSs ist .
  • Haltbarkeit : ( Persistenz ). Diese Eigenschaft stellt sicher, dass die einmal durchgeführte Operation bestehen bleibt und nicht rückgängig gemacht werden kann, selbst wenn das System ausfällt, und somit die Daten in irgendeiner Weise überleben.

Wenn diese 4 Anforderungen erfüllt werden, kann ein Datenbankverwaltungssystem als ACID-konform angesehen werden .

Umsetzung

Es ist nicht so einfach, die ACID-Funktionen zum Laufen zu bringen. Die Verarbeitung einer Transaktion erfordert häufig eine Reihe kleinerer Änderungen, einschließlich der Aktualisierung der Indizes , die im System verwendet werden, um die Suche zu beschleunigen. Diese Abfolge von Operationen kann aus einer Reihe von Gründen fehlschlagen; Beispielsweise hat das System möglicherweise keine verfügbaren Sites auf seinen Laufwerken oder es hat seine zugewiesene CPU-Zeit überschritten .

ACID schlägt vor, dass die Datenbank alle diese Operationen sofort ausführen kann. Tatsächlich ist dies schwer zu erreichen. Es gibt zwei Arten beliebter Techniken: Schreiben in ein Protokoll, bevor Sie fortfahren, und Shadow-Paging. In beiden Fällen müssen die Sperren implementiert werden, bevor die Informationen aktualisiert werden, und je nach implementierter Technik müssen alle Daten gelesen worden sein. Beim Schreiben in ein Register vor dem Fortfahren wird die Unteilbarkeit garantiert, indem sichergestellt wird, dass alle Daten in ein Register geschrieben werden, bevor sie in die Datenbank geschrieben werden. Dadurch kann die Datenbank im Falle eines Absturzes auf einen früheren Zustand zurückgesetzt werden. In shadow werden Aktualisierungen auf eine Kopie der Datenbank angewendet, und die neue Kopie wird aktiviert, wenn die Transaktion zuverlässig ist. Die Kopie bezieht sich auf unveränderte Teile der alten Version der Datenbank und ist kein vollständiges Duplikat.

Das bedeutet, dass vor der Verarbeitung von Daten in einer Datenbank jederzeit eine Sperre ausgeführt werden muss, auch bei Lesevorgängen. Das Halten einer großen Anzahl von Sperren führt zu einer erheblichen indirekten Erhöhung der Prozesse sowie zu einer Änderung ihrer Parallelität. Wenn Benutzer A beispielsweise eine Transaktion verarbeitet, die eine Datenzeile gelesen hat , die Benutzer B ändern möchte, muss Benutzer B warten, bis der andere Benutzer fertig ist.

Eine Alternative zum Anheften besteht darin, separate Kopien aller sich ändernden Daten aufzubewahren. Dadurch können Benutzer Daten lesen, ohne Sperren zu erwerben. Unter erneuter Verwendung des vorherigen Beispiels kann die Datenbank, wenn die Benutzertransaktion die Daten erhält, die Benutzer B geändert hat, die genaue Version der Daten für Benutzer A abrufen, um seine Transaktion zu starten. Dadurch wird sichergestellt, dass Benutzer A eine ständige Sicht auf die Datenbank erhält, auch wenn andere Benutzer Daten ändern.

Es ist schwierig, ACID-Eigenschaften in einer Netzwerkumgebung zu garantieren. Netzwerkverbindungen können fehlschlagen oder zwei Benutzer können gleichzeitig denselben Teil der Datenbank verwenden.

Referenzen

Das ACID-Konzept ist in ISO/IEC 10026-1: 1992 Abschnitt 4 beschrieben.