0 / 0
Zurück zur englischen Version der Dokumentation

Stage 'Distributed Transaction' in DataStage

Letzte Aktualisierung: 12. März 2025
Stage 'Distributed Transaction' in DataStage

Verwenden Sie die Distributed Transaction Stage, um Transaktionen auszuführen, die sich über mehrere Datenquellen erstrecken und von IBM® MQ oder Apache Kafka verwaltet werden. Sie können IBM Db2 für DataStage, Oracle Database für DataStage verwenden, ODBC, IBM MQ, oder Teradata als Eingangsverbindungen.

Übersicht

Eine Transaktion ist eine Reihe von Aktionen, die als einzelne Operation ausgeführt werden. Eine Transaktion endet mit einer Festschreibungsaktion, die die Änderungen permanent macht. Wenn eine der Änderungen nicht festgeschrieben werden kann, macht die Transaktion alle Änderungen rückgängig.

Eine verteilte Transaktion ist eine Transaktion, die mehrere Datenquellen umfassen kann, z. B. eine oder mehrere Datenbanken und einen Transaktionsmanager wie eine IBM MQ -Nachrichtenwarteschlange. Damit die Transaktion erfolgreich festgeschrieben werden kann, müssen alle einzelnen Datenquellen erfolgreich festgeschrieben werden. Wenn eine Ressource nicht festgeschrieben werden kann, wird die gesamte Transaktion rückgängig gemacht. Eine verteilte Transaktion kann beispielsweise aus einer Überweisung zwischen zwei Bankkonten bestehen, die sich in verschiedenen Datenbanken befinden. Die Transaktion wird nur festgeschrieben, wenn die Auszahlung von einem Konto und die Einzahlung auf das andere Konto erfolgreich abgeschlossen sind.

Die Stage Distributed Transaction folgt dem X/Open-Standard, der ein Verarbeitungsmodell verwendet, das aus den folgenden Komponenten besteht:
  • Ein Anwendungsprogramm, das Transaktionsgrenzen definiert und Aktionen angibt, die eine Transaktion bilden.
  • Ressourcenmanager, z. B. Datenbanken oder Dateisysteme, die Zugriff auf gemeinsam genutzte Datenquellen ermöglichen
  • Ein Transaktionsmanager, der Transaktionen Kennungen zuordnet, deren Fortschritt überwacht und den Transaktionsabschluss und die Fehlerbehebung verwaltet.
Zu den unterstützten Ressourcenmanagern gehören IBM Db2 für DataStage und Oracle Database für DataStage. Zu den unterstützten Transaktionsmanagern gehören IBM MQ und Apache Kafka.

In einem Beispiel eines typischen Designs für einen verteilten Transaktionsfluss konsumiert ein IBM MQ -Connector Quellennachrichten aus einer Nachrichtenwarteschlange und verschiebt die Nachrichten in eine persistente Arbeitswarteschlange. Der Connector kopiert die Daten, Nachrichten-ID und andere Nachrichtenheaderfelder aus der Quelle in die Zielnachricht. Der Connector sendet die Nachrichtendaten auch an einen Ausgabelink. Mindestens eine Stage verarbeitet die Nachrichtendaten und zusätzliche Daten aus einem Oracle Database for DataStage -Connector und sendet die verarbeiteten Daten über mindestens einen Link an die Stage 'Distributed Transaction'. Jeder Eingabelink zur Stage stellt die Ausgabe an eine Zieldatenbank dar. Die Links stellen die Nachrichten-ID der ursprünglichen Quellennachricht bereit, die aus der Arbeitswarteschlange als Teil der verteilten Transaktion verarbeitet wird.

Registerkarte 'Eingabe'

Konfigurieren Sie die Connectoreigenschaften für jeden Eingabelink. Wählen Sie eine Datenquelle aus und geben Sie die zugehörigen Verbindungseigenschaften an. Wählen Sie die Schreibmethode aus, mit der Sie Daten in ein Ziel schreiben, und geben Sie die Eigenschaften an, die für diese Schreibmethode und dieses Ziel erforderlich sind.

Registerkarte 'Stage'

Geben Sie einen Transaktionsmanager und eine Verbindung an. Wählen Sie aus, ob globale Transaktionen und IBM MQ -Messaging aktiviert werden sollen. Geben Sie eine Arbeitswarteschlange an, in die Nachrichten verschoben werden sollen. Sie können auswählen, ob fehlerhafte Einheiten zurückgewiesen werden sollen, wodurch Transaktionen, die fehlgeschlagene Datensätze enthalten, rückgängig gemacht werden. Sie können eine Zurückweisungswarteschlange angeben, um fehlgeschlagene Datensätze zu speichern, und weitere Zurückweisungseigenschaften festlegen. Sie können die Reihenfolge angeben, in der Eingabelinks verarbeitet werden sollen. Sie können auch die Datensatzreihenfolge konfigurieren, um die Reihenfolge der Datensatzverarbeitung unabhängig von der Verknüpfung der Datensätze zu steuern.