[.net プログラミング言語のみ][Java プログラミング言語のみ]

シリアライゼーションの概要

データは、パフォーマンスを向上させ、データ・グリッドのメモリー・フットプリントを削減するためにシリアライズされます。 選択するシリアライゼーション・オプションは、 アプリケーションがデータ・グリッドと対話する方法、 データ・グリッド・アプリケーションのプログラミング言語、 データ・グリッドに保管するデータ量などの 多くの要因によって決まります。

データは、シリアライズされるときに、以下のシチュエーションでネットワークを介した伝送用のデータ・ストリームに変換されます。
  • クライアントがサーバーと通信し、それらのサーバーがクライアントに情報を送り返す場合
  • あるサーバーから別のサーバーにサーバーがデータを複製する場合

あるいは、 WebSphere® eXtreme Scale を通じてシリアライゼーション・プロセスを忘れ、生データをバイト配列として保管することもできます。 バイト配列 を使用すればメモリーへの保管にかかるコストはずっと少なくてすみます。 Java™ 仮想マシン (JVM) では、ガーベッジ・コレクション中に検索するオブジェクトの数が少なくなります。 オブジェクトは、必要な場合にのみデシリアライズすることができます。 照会または索引を使用したオブジェクトへのアクセスが必要ない場合にのみ、バイト配列を使用します。 データはバイトとして保管されるため、 eXtreme Scale には、照会する属性を記述するためのメタデータがありません。

[Java プログラミング言語のみ]

Java アプリケーションのシリアライゼーション

データをシリアライズするには、 eXtreme Data format (XDF)、 Java シリアライゼーション、 ObjectTransformer プラグイン、または DataSerializer プラグインを使用できます。 これらのオプションのいずれかを使用してシリアライゼーションを最適化するには、COPY_TO_BYTES モードを使用して、 パフォーマンスを最大 70 % 高めることができます。 COPY_TO_BYTES モードを使用すると、 トランザクションのコミット時にデータがシリアライズされ、シリアライゼーションが 1 回のみ行われるようになります。 シリアライズされたデータは、クライアントからサーバーに変更なしで送信されるか、サーバーから複製されたサーバーに送信されます。 COPY_TO_BYTES モードを使用すると、大きなオブジェクト・グラフが使用するメモリー占有スペースを削減できます。

次の図を参考にして、開発ニーズに最適なシリアライゼーション・メソッドの種類を決定してください。

図1: データ・グリッド断片内のデータ・オブジェクトと直接対話するロジックを実行している場合に使用可能なシリアライゼーション・メソッド
グリッド断片内のデータ・オブジェクトと直接対話するロジックを実行するためのシリアライゼーション。
図2: データ・グリッド断片と直接対話していない場合のシリアライゼーション・メソッド。
グリッド断片内のデータ・オブジェクトと直接対話しないロジックを実行するためのシリアライゼーション。
[.net プログラミング言語のみ]

.NET アプリケーションのシリアライゼーション

環境に .NET アプリケーションが含まれている場合、 データ・シリアライゼーションに XDF を使用する必要があります。 XDF を使用して、キーおよび値を、言語に依存しない形式でシリアライズし、データ・グリッドに保管します。 XDFは、環境がIBM®eXtremeIO (XIO) が有効になり、マップ上で COPY_TO_BYTES モードになります。

eXtremeMemory はコンテナー・サーバーでのみ構成されているため、.NET アプリケーションがある環境の中で使用できます。 eXtremeMemory により、環境内でより一貫性のある相対応答時間をもたらします。

eXtreme Scale 製品でサポートされるシリアライゼーションの形式について詳しくは、以下のトピックを参照してください。