Definition Konsistenzüberwachung

2 Antworten

Wenn in einer Datenbank z.B. an mehreren Stellen Eingaben vorgenommen werden, die eine logische Einheit bilden, so wäre es fatal, wenn der Vorgang aus irgendwelchem Grund abgebrochen würde. Ein Teil der Eingaben wären gespeichert, einTeil würde noch fehlen. Die Eingaben wären unvollständig und könnten nur mühsam von Hand repariert werden. Um solche Fälle zu verhindern, gibt es die Transaktionssteuerung. Man eröffnet eine Transaktion, führt die Änderungen durch und schließt die Transaktion. Die Datenbank erstellt während dieser Änderung ein Protokoll aller Sätze vor der Änderung (Before-Images) her. Wird diese Transaktion nun unterbrochen, so macht die Datenbank die unvollständigen Änderungen wieder rückgängig, ggf. beim erneuten Hochfahren der Datenbank, falls diese insgesamt unterbrochen wurde. Änderungen werden auf diese Weise entweder vollständig oder garnicht durchgeführt. Während einer offenen oder noch nicht bereinigten abgebrochenen Transaktion bezeichnet man die Datendank als inkonsistent. In diesem Zustand kann sie auch nicht gesichert werden. Durch diese Technik wird die Datenbank von einem konsistenten Zustand in den nächsten konsistenten versetzt. Nach dem ordnungsgemäßen Abschluss der Transaktion werden die in diesem Zusammenhang erstellten Protokolle gelöscht. An Hand noch vorhandener Protokolle kann die Datenbank feststellen, dass die Datenbank inkonsistent ist und versucht, sie wieder konsistent zu machen.

Die Transaktionssteuerung regelt auch das gleichzeitige Arbeiten an der Datenbank von mehreren Anwendern. Alle an einer Transaktion beteiligten Datensätze sind während dieser Zeit für andere Anwender gesperrt.

Was möchtest Du wissen?