Transaktionsverarbeitungsbedingungen

Bevor Sie mit der Verwendung von KTM beginnen, sollten Sie die Definitionen der folgenden Begriffe kennen: Transaktion, Ressourcen-Manager, Transaktionsclient, Transaktions-Manager, Protokollstream, Einlistung und Transaktionsverarbeitungssystem.

Transaktion
Eine Transaktion ist eine Sammlung von Datenvorgängen. Alle Vorgänge müssen erfolgreich sein, damit die Transaktion erfolgreich ist. Wenn alle Vorgänge erfolgreich sind, kann die Transaktion committet werden (d. a. ihre Ergebnisse können dauerhaft und öffentlich gemacht werden). Wenn ein Vorgang fehlschlägt, muss für die Transaktion ein Rollback ausgeführt werden (d. a. alle Änderungen müssen entfernt werden, damit sich die Daten in dem Zustand befinden, in dem sie sich vor Beginn der Vorgänge der Transaktion befanden).

Die Vorgänge einer Transaktion sind atomisch, konsistent, isoliert und dauerhaft (ACID).

  • Sie sind atomisch, da sie als Ganzes festgelegt oder zurückgesetzt werden müssen.

  • Sie sind konsistent, da die Vorgänge immer ein genaues Ergebnis liefern, unabhängig davon, ob sie committet oder zurückgesetzt werden.

  • Sie sind isoliert, da die Ergebnisse jeder Transaktion für andere Transaktionen erst sichtbar sind, wenn die Vorgänge der Transaktion committet oder ein Rollback ausgeführt wurden.

  • Sie sind dauerhaft, da die Ergebnisse der Vorgänge dauerhaft sind, nachdem die Vorgänge der Transaktion committet oder zurückgesetzt wurden.

Ein Beispiel für eine Transaktion ist die Gruppe von Vorgängen, die ausgeführt werden müssen, wenn Sie einen Automatischen Geldautomaten (ATM) verwenden, um Geld von Ihrem Girokonto auf Ihr Sparkonto zu überweisen. Die Belastung Ihres Girokontos und das Guthaben auf Ihr Sparkonto müssen wie ein einzelner, atomarer Vorgang aussehen.

Ein Vorgang, der Teil einer Transaktion ist, wird auch als Transaktion bezeichnet.

Ressourcenmanager
Ein Ressourcen-Manager ist eine Softwarekomponente, die Datenressourcen verwaltet, die durch Transaktionen aktualisiert werden können. Wenn Sie beispielsweise ein Datenbanksystem entwerfen, können Sie einen Ressourcen-Manager bereitstellen, der die Daten der Datenbank speichert und abruft. Ein einfaches Transaktionsverarbeitungssystem (TPS) kann nur über einen Ressourcen-Manager verfügen.

Ein Ressourcen-Manager stellt in der Regel auch eine öffentliche Schnittstelle bereit, die Transaktionsclients aufrufen können, um auf die Daten des Ressourcenmanagers zuzugreifen. Beispielsweise kann der Ressourcen-Manager für eine Datenbank eine Reihe von Funktionen bereitstellen, die Clients aufrufen können, um aus der Datenbank zu lesen und in diese zu schreiben.

Ein komplexeres TPS kann über mehrere Ressourcenmanager verfügen, von denen jeder eine separate Datenbank oder andere Ressource verwaltet, während er an den Transaktionen des Systems teilnimmt.

Weitere Informationen zu Ressourcenmanagern finden Sie unter Erstellen einer Resource Manager.

In einigen Fällen ist ein Ressourcen-Manager den anderen Ressourcen-Managern überlegen und kann Commitvorgänge initiieren. In KTM werden solche Ressourcenmanager als überlegene Transaktionsmanager bezeichnet.

Transaktionsclient
Ein Transaktionsclient ist eine Softwarekomponente, die auf eine Datenbank zugreift, die von einem Ressourcen-Manager unterstützt wird, in der Regel durch Aufrufen von Funktionen, die der Ressourcen-Manager exportiert. Der Client ist für das Erstellen von Transaktionen, die Ausführung einer Reihe von Vorgängen verantwortlich, die von einem Ressourcen-Manager unterstützt werden, und informiert dann den Transaktions-Manager (KTM), dass die Transaktion entweder committet oder zurückgesetzt werden soll.

Weitere Informationen zu Transaktionsclients finden Sie unter Erstellen eines Transaktionsclients.

Transaktions-Manager
Ein Transaktionsmanager wie KTM stellt die Infrastruktur bereit, die es Transaktionsclients und Ressourcenmanagern ermöglicht, miteinander zu kommunizieren. Außerdem wird der Status jeder Transaktion nachverfolgt (aber nicht die Daten, die Von Clients und Ressourcenmanagern verarbeitet werden).

Der Transaktions-Manager kann auch Wiederherstellungsvorgänge nach einem Systemabsturz koordinieren.

Der Transaktions-Manager hat keine Kenntnis von den Daten oder Vorgängen, aus denen eine Transaktion besteht. Die Daten und Vorgänge werden von den Clients und Ressourcenmanagern gesteuert.

KTM bietet Funktionen, die Transaktionsclients aufrufen können. Mit diesen Funktionen können Clients Transaktionen erstellen, committen und rollbacks durchführen.

KTM bietet auch Funktionen, die Ressourcenmanager aufrufen können. Diese Funktionen ermöglichen es Ressourcenmanagern, sich bei Transaktionen zu melden, damit sie Benachrichtigungen zu Transaktionen erhalten können. Nachdem ein Ressourcen-Manager eine Transaktion hinzugefügt hat, kann er eine Benachrichtigung erhalten, wenn ein Transaktionsclient bereit ist, die Transaktion zu committen oder rollbacken, oder wenn ein Wiederherstellungsvorgang ausgeführt wird.

Protokolldatenstrom
Ein Protokolldatenstrom ist ein aufgezeichneter Verlauf der Ereignisse, die mit Transaktionen aufgetreten sind. KTM verwaltet einen Protokolldatenstrom mithilfe des Common Log File System (CLFS). KTM zeichnet Zustandsänderungen für jede Transaktion auf, sodass Rollback- und Wiederherstellungsvorgänge bei Bedarf unterstützt werden können.

Ressourcenmanager müssen auch einen Protokollstream verwenden, um Daten und Vorgänge aufzuzeichnen.

Für einen Rollbackvorgang müssen KTM und Ressourcen-Manager eine Transaktion und alle Daten in einen Anfangszustand wiederherstellen. KTM und Ressourcen-Manager zeichnen den Anfangszustand jeder Transaktion in den Protokollstreams auf, damit sie sie während eines Rollbackvorgangs abrufen können.

Wiederherstellungsvorgänge erfolgen nach einem Systemabsturz. Wenn das Betriebssystem anschließend neu gestartet wird, können KTM und Ressourcen-Manager Protokolldatenstrominhalte verwenden, um den Zustand einer Transaktion in den Zustand neu zu erstellen, in dem sie sich vor dem Absturz befand.

Weitere Informationen zu Protokollstreams in KTM finden Sie unter Verwenden von Protokollstreams mit KTM.

Eintragung
Eine Einlistung ist eine Zuordnung zwischen einem Ressourcen-Manager und einer Transaktion. KTM bietet eine Reihe von Funktionen, die Ressourcenmanager aufrufen, um Listen zu erstellen und zu verwalten. Nachdem ein Ressourcen-Manager eine Registrierung erstellt hat, sendet KTM Benachrichtigungen an den Ressourcen-Manager, wenn sich der Status der Transaktion ändert.

Transaktionsverarbeitungssystem
Ein Transaktionsverarbeitungssystem (TPS) ist eine Sammlung aus einem Transaktions-Manager, einem oder mehreren Ressourcen-Managern, einem oder mehreren Protokolldatenströmen und einem oder mehreren Transaktionsclients, die auf die Ressourcen des Ressourcen-Managers zugreifen.