Auf das Mehrzeilenschema umschalten

Die Mehrzeilenschemakonfiguration unterstützt die Speicherung eines uneingeschränkten Datenvolumens, das nur durch die Datenbankkapazitäten einer Anwendung beschränkt wird. Die Anwendung kann einzelne Felder anstelle des gesamten Datensatzes lesen, wodurch sich die Leistung aufgrund der Vermeidung unnötiger Serialisierungen von Java-Objekten verbessern kann. Konfigurieren Sie die Funktion für Sitzungsverwaltung unter Verwendung der Mehrzeilenschemakonfiguration so, dass jedes Attribut in einem Sitzungsobjekt in einer eigenen Zeile in der Datenbank gespeichert wird.

Informationen zu diesem Vorgang

Die einzige praktische Begrenzung, die bleibt, ist die Größe des Sitzungsattributobjekts. Das Mehrzeilenschema hat in bestimmten Szenarien Vorteile hinsichtlich der Leistung, z. B. wenn große Datenmengen in der Sitzung gespeichert werden, während der Verarbeitung einer HTTP-Anforderung durch ein bestimmtes Servlet jedoch nur auf kleine Mengen ausdrücklich zugegriffen wird. In einem solchen Szenario erzielen Sie eine bessere Leistung, wenn Sie eine nicht erforderliche Serialisierung von Java-Objekten vermeiden.

Abgesehen davon, dass Sie größere Sitzungssätze zur Verfügung haben, kann das Mehrzeilenschema sich auch positiv auf die Leistung auswirken. Wenn Sie jedoch den Wechsel vom Einzeilenschema zum Mehrzeilenschema durchführen möchten, müssen Sie, wie in der folgenden Tabelle dargestellt, einige Schritte ausführen:

Standardmäßig wird eine Session einer Zeile in der Datenbanktabelle zugeordnet, in der die Sitzungen gespeichert werden. Bei dieser Konfiguration gibt es feste Grenzwerte für die Anzahl benutzerdefinierter anwendungsspezifischer Daten, auf die WebSphere Application Server zugreifen kann.

Es empfiehlt sich, ein Einzeilenschema für eine Datenbank und ein Mehrzeilenschema für eine andere Datenbank zu konfigurieren, während Sie prüfen, welche Option für Ihre Anwendung geeignet ist. Nehmen Sie die Konfiguration im Code vor, indem Sie die verwendete Datenquelle wechseln. Überwachen Sie anschließend die Leistung.

Tabelle 1. Einzeilige oder mehrzeilige Schemakonfiguration auswählen. Einzeilige und mehrzeilige Schemakonfiguration
Programmieraspekt Anwendungsszenario
Gründe für die Verwendung des Einzeilenschemas
  • Sie können alle Werte mit nur einem Lese- bzw. Schreibzugriff auf den Satz lesen bzw. schreiben.
  • Auf diese Weise belegen Sie weniger Speicherplatz in einer Datenbank, da jede Sitzung garantiert nur einen Satz lang ist.
Gründe gegen die Verwendung des Einzeilenschemas Begrenzung von 2 MB gespeicherter Daten pro Sitzung.
Gründe für die Verwendung des Mehrzeilenschemas
  • Die Anwendung kann eine unbegrenzte Datenmenge speichern, d. h., Sie sind nur durch die Größe der Datenbank und einer Begrenzung von 2 MB pro Satz eingeschränkt.
  • Die Anwendung kann einzelne Felder lesen, anstatt den gesamten Satz lesen zu müssen. Wenn große Datenmengen in der Sitzung gespeichert werden, während der Verarbeitung einer HTTP-Anforderung durch ein bestimmtes Servlet jedoch nur auf kleine Mengen ausdrücklich zugegriffen wird, kann das Mehrzeilenschema die Leistung verbessern, da es nicht erforderliche Serialisierungen von Java-Objekten vermeidet.
Gründe gegen die Verwendung des Mehrzeilenschemas Falls Sie mit kleinen Datenmengen arbeiten, möchten Sie den zusätzlichen Systemaufwand, der für mehrzeilige Lesevorgänge erforderlich ist, wahrscheinlich nicht in Kauf nehmen, wenn Sie alles in einer Zeile speichern können.

Bei der Verwendung des Mehrzeilenschemas können Sie Ihre eigenen Anwendungsdatenobjekte so konzipieren, dass sie keine wechselseitigen Referenzen aufweisen, um Kreisreferenzen zu vermeiden. Nehmen Sie z. B. an, dass Sie die zwei Objekte A und B mit der Methode HttpSession.put(..) in der Sitzung speichern. Nehmen Sie weiter an, dass A eine Referenz auf B enthält. Bei Verwendung des Mehrzeilenschemas ist das Objektdiagramm zwischen A und B, wenn die Objekte A und B später abgerufen werden, anders als im Status "Gespeichert", da Objekte in verschiedenen Zeilen der Datenbank gespeichert werden. A und B verhalten sich wie zwei voneinander unabhängige Objekte.

Vorgehensweise

  1. Ändern Sie die Eigenschaften der Sitzungsverwaltung so, dass ein Wechsel von einem Einzeilenschema zu einem Mehrzeilenschema erfolgt.
  2. Löschen Sie die Tabelle manuell.

    [AIX Solaris HP-UX Linux Windows][IBM i]Löschen Sie die Tabelle wie folgt:

    1. Stellen Sie fest, welche Datenquellenkonfiguration die Sitzungsverwaltung verwendet.
    2. Suchen Sie in der Datenquellenkonfiguration nach dem Datenbanknamen.
    3. Stellen Sie mit den Datenbankfunktionen eine Verbindung zur Datenbank her.
    4. Löschen Sie die Tabelle SESSIONS.
  3. [z/OS]Erstellen Sie die Datenbanktabelle erneut, oder löschen Sie manuell alle Zeilen der Datenbanktabelle, die das Produkt für die Aufbewahrung von HttpSession-Objekten verwendet.

    Informationen zum Löschen einer DB2-Datenbanktabelle finden Sie in der Veröffentlichung DB2 UDB for OS/390 and z/OS V7 Administration Guide.

    Im Abschnitt DB2-Tabelle für Sitzungspersistenz erstellen ist die Erstellung einer neuen DB2-Datenbanktabelle beschrieben.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tprs_swsk
Dateiname:tprs_swsk.html