Szenario: SQL-Informationen aktualisieren, die für die pureQuery-Clientoptimierung in einer Produktionsumgebung verwendet werden

Bei diesem Szenario können Sie SQL-Informationen in der pureQueryXML-Datei aktualisieren, die für die pureQuery-Clientoptimierung in einer Produktionsumgebung verwendet wird, ohne den Anwendungsserver erneut zu starten.
Die Erfassung der SQL-Anweisungen, die für die pureQuery-Clientoptimierung in einer Produktionsumgebung verwendet werden, wird nicht empfohlen. Die Leistung sinkt möglicherweise beim Erfassen der SQL-Anweisungen und die Anwendung muss aufgrund der Erfassung möglicherweise gestoppt werden. Sie müssen möglicherweise jedoch die SQL-Anweisungen aktualisieren, die eine Anwendung in einer Produktionsumgebung absetzt. Bei Situationen wie den folgenden müssen die neuen SQL-Anweisungen in einer Produktionsumgebung erfasst werden:
  • Eine Testumgebung zum Erfassen der SQL-Anweisungen mit pureQuery Runtime kann nicht eingerichtet werden.
  • Die Updates werden als Wartungsänderung ausgeführt und die Wartungsgruppe verfügt nicht über die Ressourcen zum Eingrenzen der Anwendung in einer Testumgebung.

Sie können eine Anwendung konfigurieren, die mit der pureQuery-Clientoptimierung die pureQuery-Konfigurationsinformationen in einem Dateisystem speichert, das von der pureQuery-fähigen Anwendung oder einem Repository in einer Datenbank separat ist, um die Erfassung von SQL-Anweisungen in einer Produktionsumgebung zu unterstützen. pureQuery Runtime erfasst SQL-Daten kontinuierlich und speichert das erfasste SQL in der angegebenen Position. Der Datenbankadministrator extrahiert die erfassten SQL-Daten aus der Position und aktualisiert das SQL mit den pureQuery-Dienstprogrammen Merge, Configure und StaticBinder für die statische Ausführung für die Transaktionsdatenbank, ohne die Anwendung erneut zu starten.

Die folgende Abbildung zeigt eine Darstellung des kontinuierlichen Prozesses in einer WebSphere Application Server-Produktionsumgebung.

Abbildung 1. pureQuery-Clientoptimierung in Produktionsumgebung mit kontinuierlicher Wartung
pureQuery-Clientoptimierung mit kontinuierlicher Wartung in einer Produktionsumgebung

In der Abbildung ist jede Anwendungsinstanz für die pureQuery-Clientoptimierung aktiviert und führt SQL-Anweisungen statisch aus. Jede Anwendung verwendet ein Repository in einer Datenbank, die von der Transaktionsdatenbank separat ist, um pureQuery-Eigenschaften und pureQueryXML-Daten abzurufen. Das Repository speichert auch SQL-Daten, die von pureQuery Runtime erfasst werden. Das Script extrahiert die erfassten SQL-Daten und die pureQueryXML-Daten, die von pureQuery Runtime verwendet werden, führt das erfasste SQL mit den pureQueryXML-Daten zusammen, aktualisiert die DB2-Pakete für statische SQL-Ausführung und speichert die pureQueryXML-Daten in einem Repository. Die Aktualisierung der pureQuery-Informationen und der DB2-Pakete erfordert keinen Neustart der Anwendungsinstanzen und der Datenbankadministrator kann steuern, wann das Script ausgeführt werden soll.

Angenommen, Sie aktualisieren eine vorhandene Produktionswebanwendung, die für die pureQuery-Clientoptimierung aktiviert ist, mit Änderungen, die sich auf die abgesetzten SQL-Anweisungen auswirken. Wenn Sie die pureQuery-Clientoptimierung für Ausführung im Erfassungsmodus konfigurieren, führt die Anwendung die SQL-Anweisungen in der pureQueryXML-Datei statisch aus. Gleichzeitig werden die neuen SQL-Anweisungen dynamisch ausgeführt, von pureQuery Runtime erfasst und in einem Repository gespeichert. Die von der aktualisierten Anwendung erfassten SQL-Daten enthalten Meta- und Statistikdaten wie die Anzahl Ausführungen und das Datum der letzten Verwendung, neue Stack-Traces, Sonderregisterinformationen und Informationen zur Stapelverarbeitung, sofern sich diese Informationen geändert haben.

Das pureQuery-Dienstprogramm Merge kann die neuen erfassten SQL-Daten verarbeiten und sie auf vorhandene Anweisungen in der pureQueryXML-Datei anwenden, die von pureQuery Runtime verwendet wird. Das Dienstprogramm Merge kann auch Anweisungen entfernen, die einen längeren Zeitraum nicht ausgeführt wurden.

Der Datenbankadministrator kann die erfassten SQL-Daten aus dem Repository extrahieren, das Dienstprogramm Merge ausführen, um sie mit der pureQueryXML-Datei zusammenzuführen, die von pureQuery Runtime für die Webanwendung verwendet wird, und die aktualisierte pureQueryXML-Datei konfigurieren, binden sowie anschließend in das Repository hochladen.

Anmerkung: In der Abbildung befinden sich die pureQueryXML-Datei, die von pureQuery Runtime verwendet wird, und die SQL-Daten, die von pureQuery Runtime erfasst werden, im selben Repository. Sie können pureQuery Runtime so konfigurieren, dass das erfasste SQL in einem Repository gespeichert wird, das von den pureQueryXML- und pureQuery Runtime-Eigenschaften separat ist.

Feedback