Next: Programm-Konzepte in der Transaktions-Verarbeitung
Up: Grundlagen zu TP-Monitoren
Previous: Grundlagen zu TP-Monitoren
Eine Transaktion besteht aus einer Folge von logisch
zusammengehörigen Operationen, ist also eine abgeschlossene
Verabeitungseinheit, in der zusammengehörende Datenmanipulationen
abgewickelt werden.
Sie wird daher auch als technischer Konsistenzbereich bezeichnet.
Alle in einer Transaktion vorzunehmenden Änderungen am
Datenbestand der Anwendung werden entweder vollständig oder gar nicht
ausgeführt, diese Regel heißt auch die 'Alles-oder-nichts-Regel'.
Kann eine Transaktion aus irgendeinem Grund nicht vollständig
durchgeführt werden, so wird die Transaktion zurückgesetzt,
d.h. alle Daten, die von der Transaktion verändert wurden, werden auf
den Zustand vor dem ersten Zugriff der Transaktion auf diese Daten
zurückgesetzt.
Eine Transaktion muß also bis zu ihrem Ende rücksetzbar sein.
Die Arbeitsergebnisse einer Transaktion führen in der
Regel von einem bestimmten Konsistenzzustand zu einem neuen, ebenfalls
konsistenten Zustand. Eine Transaktion wird durch die vier
sogenannten ACID -Prämissen charakterisiert:
- Eine Transaktion ist Atomic , das heißt, sie
ist nicht weiter aufteilbar und muß verarbeitungstechnisch als eine
Einheit gesehen werden. Das bedeutet, daß alle
Verarbeitungs-Anweisungen einer Transaktion komplett abgearbeitet
werden oder, zum Beispiel im Falle einer Unterbrechung oder eines
Fehlers, wieder auf den Zustand vor Beginn der Verarbeitung
zurückgesetzt werden müssen.
- Daten müssen sich vor und nach einer Transaktion in einem
konsistenten Zustand befinden. Es müssen daher standardisierte und
zentrale Maßnahmen zur Erhaltung der Konsistenz
(Consistence ) bereitgestellt
werden. Sind keine ausreichenden Maßnahmen zur Gewährleistung der
Konsistenz an zentraler Stelle vorhanden, so müssen die Daten von
den Anwendungen selbst auf einen konsistenten Zustand geprüft werden.
- Während der Verarbeitung einer Transaktion können sich Ressourcen
temporär in einem inkonsistenten Zustand befinden, daher ist eine
Isolation der Transaktions-Ressourcen
zwingend erforderlich. Solange eine Transaktion auf eine Ressource
zugreift, darf kein paralleler Prozeß in konsistenzgefährdender
Weise auf die gleiche Ressource zugreifen. Ist eine Transaktion noch
nicht vollständig abgeschlossen, bzw. zurückgesetzt worden, dürfen
andere Prozesse nicht einmal lesend auf die von ihr veränderten
Ressourcen zugreifen, da sonst Zustände angezeigt werden könnten, die
nie wirklich existiert haben. Zum Beispiel könnte ein Vertrag gerade
in Erstellung sein, wobei Name und Adresse bereits erfaßt sind. In
einem zweiten Schritt wird eine KFZ-Versicherung hinzugefügt. Greift
nun ein anderer Prozeß lesend auf die Vertragsdaten zu, so existiert
für ihn möglicherweise ein Vertrag ohne Versicherungsdaten. Das
entspricht aber nicht der Realität, da es einen Vertrag ohne
Versicherung nicht geben darf und die Vertragserstellung erst mit
Eingabe der Versicherungsdaten abgeschlossen ist.
- Ist eine Transaktion abgeschlossen, so bleiben ihre Ergebnisse
(z.B. Änderungen am Datenbestand, Erzeugen von Nachrichten) auch nach
einem Abbruch der Anwendung erhalten, denn sie werden am
Transaktionsende gesichert.
Änderungen, die eine Transaktion an einer Ressource ausgeführt hat,
müssen dauerhaft (durable ) sein und solange
bestehen bleiben, bis sie explizit rückgängig gemacht wurden.
Diese ACID-Prämissen erreicht man bei Transaktions-Monitoren durch ein
immer wiederkehrendes Synchronisieren nach jedem
Verarbeitungsschritt. Diese Synchronisation wird mit sogenannten
Sicherungspunkten erreicht.
Mit Sicherungspunkt bezeichnet man das Ende einer Transaktion, an dem
der TP-Monitor alle in der Transaktion vorgenommenen Änderungen der
Anwendungsdaten festschreibt. Diese Änderungen sind dann nicht mehr
rücksetzbar, sie sind gegen Systemausfall gesichert und werden für
andere Transaktionen sichtbar.
Ein Transaktions-Monitor organisiert also Zugriffe auf Daten
in einer Weise, daß für jede Transaktion der Eindruck entsteht, sie
würde alleine auf diese Daten zugreifen. Parallel ablaufende
Transaktionen, wie sie zum Beispiel beim
Online-Transaction-Processing (OLTP ) auftreten, müssen
über einen Scheduler so organisiert
(serialisiert) werden, daß ihre Zugriffe für jeweils andere
Transaktionen keine inkonsistenten Daten verursachen. Gleichzeitig
erhöht ein Transaktionsmonitor durch seine eigene
Betriebsmittelverwaltung die Systemleistung obwohl der
Betriebsmittelverbrauch geringer wird, weil er Dienste bietet, für die
die meisten Betriebssysteme nicht ausgelegt sind.
Next: Programm-Konzepte in der Transaktions-Verarbeitung
Up: Grundlagen zu TP-Monitoren
Previous: Grundlagen zu TP-Monitoren
Copyright Munich Network Management Team