Langlebige Variablen

Sie können geeignete langlebige ESQL-Datentypen verwenden, um Daten zwischenzuspeichern.

Manchmal müssen gespeicherte Daten eine einzelne Nachricht, die einen Fluss durchläuft, überdauern. Dies kann durch Speichern der Daten in einer Datenbank erreicht werden. Mit dieser Methode ist eine langfristige Persistenz und Transaktionalität gewährleistet, jedoch ist der Zugriff (insbesondere der Schreibzugriff) langsam.

Alternativ können Sie geeignete langlebige ESQL-Datentypen verwenden, um Daten für eine gewisse Zeit in einem Speichercache zwischenzuspeichern. Diese Methode ermöglicht einen schnelleren Zugriff auf die Daten als über eine Datenbank, jedoch muss eine kürzere Persistenz und der Wegfall der Transaktionalität in Kauf genommen werden.

Langlebige Variablen erstellen Sie unter Verwendung des Schlüsselworts SHARED in der DECLARE-Anweisung. Weitere Informationen hierzu finden Sie unter DECLARE-Anweisung.

Das folgende Beispiel zeigt die Vorgehensweise bei der Definition gemeinsamer Variablen mithilfe der DECLARE-Anweisung. Hier erfahren Sie, wie Sie Route-Informationen in einer Datenbank speichern und wie Sie mit gemeinsamen Variablen die gespeicherte Datenbanktabelle im Nachrichtenfluss speichern, um die Leistung zu verbessern. Sie können Beispiele nur anzeigen, wenn Sie das Information Center verwenden, das im Message Brokers Toolkit integriert ist.

Langlebige Datentypen haben eine längere Laufzeit und überdauern eine einzelne Nachricht, die durch einen Knoten gesendet wird. Sie werden von Threads gemeinsam genutzt und haben die Lebensdauer eines Nachrichtenflusses (entspricht streng genommen dem Zeitraum zwischen Änderungen an der Konfiguration eines Nachrichtenflusses). Eine Beschreibung hierzu finden Sie in der folgenden Tabelle.

  Geltungsbereich Lebensdauer Gemeinsam
Variablen mit kurzer Lebensdauer
Schema & Module Knoten Thread in einem Knoten Überhaupt nicht
Routine Local Knoten Thread in einer Routine Überhaupt nicht
Block Local Knoten Thread in einem Block Überhaupt nicht
Variablen mit langer Lebensdauer
Node Shared Knoten Lebensdauer des Knotens Alle Threads in einem Nachrichtenfluss
Flow Shared Fluss Lebensdauer des Knotens Alle Threads in einem Nachrichtenfluss
Langlebige ESQL-Datentypen haben folgende Merkmale:

Diese Daten werden beispielsweise in einem Fluss verwendet, in dem die Datentabellen für den Fluss schreibgeschützt sind. Obwohl die Tabellendaten nicht statisch sind, werden Sie vom Fluss nicht geändert, und Tausende von Nachrichten durchlaufen den Fluss, bevor die Tabellendaten geändert werden.

Beispiele:
  • Eine Tabelle mit den Kreditkartentransaktionen an einem bestimmten Tag. Die Tabelle wird jeden Tag erstellt, und die Nachrichten des jeweiligen Tages werden für die Tabelle ausgeführt. Anschließend wird der Fluss gestoppt, die Tabelle wird aktualisiert, und die Nachrichten des nächsten Tages werden ausgeführt. Diese Nachrichtenflüsse hätten einen besseren Durchsatz, wenn die Tabellendaten zwischengespeichert und nicht für jede Nachricht aus einer Datenbank gelesen würden.
  • Die Akkumulation und Integration von Daten aus mehreren Nachrichten.
Zugehörige Konzepte
ESQL-Variablen
Benutzerdefinierte Eigenschaften in ESQL
Zugehörige Verweise
DECLARE-Anweisung
ESQL-Datentyp ROW
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:29:34

ak35120_