Übersicht über die Serialisierung

Daten werden im Datengrid immer in Form von Java-Objekten ausgedrückt, aber nicht unbedingt in dieser Form gespeichert. WebSphere eXtreme Scale verwendet mehrere Java-Prozesse für die Serialisierung der Daten, indem die Java-Objektinstanzen bei Bedarf in Bytes und dann wieder in Objekte konvertiert werden, um die Daten zwischen Client- und Serverprozessen verschoben werden.

Bei der Serialisierung von Daten werden die Daten in den folgenden Situationen für die Übertragung über ein Netz in einen Datenstrom konvertiert:

Alternativ können Sie auf den Serialisierungsprozess über WebSphere eXtreme Scale verzichten und Rohdaten als Byte-Arrays speichern. Byte-Arrays können wesentlich kostengünstiger im Hauptspeicher gespeichert werden, da die JVM (Java Virtual Machine) für die Garbage-Collection weniger Objekte durchsuchen muss und die Objekte ausschließlich bei Bedarf dekomprimiert werden können. Verwenden Sie Byte-Arrays nur, wenn Sie keinen Zugriff auf die Objekte über Abfragen oder Indizes benötigen. Da die Daten als Bytes gespeichert werden, hat eXtreme Scale keine Metadaten für die Beschreibung der abzufragenden Attribute.

Zum Serialisieren der Daten in eXtreme Scale können Sie Java-Serialisierung, das ObjectTransformer-Plug-in oder die DataSerializer-Plug-ins verwenden. Zum Optimieren der Serialisierung mit jeder dieser Optionen können Sie den Modus COPY_TO_BYTES verwenden, um die Leistung um bis 70 Prozent zu verbessern, weil die Daten serialisiert werden, wenn Transaktionen festgeschrieben werden, d. h., die Serialisierung findet nur ein einziges Mal statt. Die serialisierten Daten werden unverändert vom Client an den Server bzw. vom Server an den replizierten Server gesendet. Durch die Verwendung des Modus COPY_TO_BYTES können Sie den Speicherbedarf großer Objektgraphen reduzieren.

Verwenden Sie die folgenden Abbildungen, um festzustellen, welcher Typ von Serialisierungsmethode für Ihre Entwicklungsanforderungen am besten geeignet ist. Die erste Abbildung beschreibt die Serialisierungsmethoden, die verfügbar sind, wenn Sie Logik ausführen, die direkt mit Datenobjekten im Daten-Shard interagieren. Die letzte Abbildung zeigt die verfügbaren Optionen, wenn Sie nicht direkt mit dem Grid-Shard interagieren.

Serialisierung für die Ausführung von Logik, die direkt mit Datenobjekten interagiert, die im Grid-Shard enthalten sind

Serialisierung für die Ausführung von Logik, die nicht direkt mit Datenobjekten im Grid-Shard interagiert

Weitere Informationen zu den unterstützten Formen der Serialisierung im Produkt eXtreme Scale finden Sie in den folgenden Artikeln: