WebSphere eXtreme Scaleに搭載された技術を活用すれば、データ・キャッシングの概念を最先端の機能で拡張し、eコマース、サプライチェーン、金融、貿易、そしてオンライン・ゲームにいたるさまざまなビジネス・アプリケーションを、これまでにない新たな段階へと発展させることができます。WebSphere eXtreme Scaleを以下のような柔軟なシナリオや構成で活用することで、アプリケーションの発展が実現できます。
- データとデータベースの単純キャッシュ:
WebSphere eXtreme Scaleをローカル・キャッシュとして使用すれば、アプリケーションのパフォーマンスとスループットが向上します。データをメモリーにキャッシングすることで、トランザクション処理時間の多くの部分を占めるデータの到着待ちを解消できます。WebSphere eXtreme Scaleはフェイルオーバー機能を提供することで、従来からあるこのデータ・キャッシュをさらに強力なものにしています。 - ニア・キャッシュを持つクライアント / グリッド:
データをメモリー上に持つことにはメリットがあります。特に取り扱うデータ量が多い場合、アプリケーションのパフォーマンスが大きく向上します。 Java仮想マシン(JVM)が、データのサブセットの取得にあたり、「ニア・キャッシュ」として使えるローカルなeXtreme Scaleグリッドをリモート・グリッドの手前に持つことができます。これにより、クライアントは巨大なリモート・キャッシュを活用して、バックエンド処理の負担軽減や、キャッシュされた結果への迅速なアクセスを実現します。ニア・キャッシュはアプリケーションと同じJVMにあり、データに対してローカルなインプロセス・アクセスを提供します。ここにはグリッド内の全データのサブセットが含まれており、レコードが要求されるとまずここがチェックされます。要求されたレコードがニア・キャッシュになければ、グリッドから取り込んで、ニア・キャッシュに置きます。次回以降、このレコードへのアクセスの応答時間は短縮されます。レコードの応答時間が短くなれば、一般に、ユーザーへの応答時間も短くなります。グリッドへデータの書き込みがあったときにもニア・キャッシュは更新されます。アプリケーションが複数クライアントの共有しているデータへアクセスする場合は、リモート・グリッドの分散ロッキング・サービスで調整します。 - サイド・キャッシュ /JPA(Java Persistence API)キャッシュのプラグイン:
ユーザーのプロファイルなど、使用頻度が高くとも更新頻度は低い情報が必要な場合、サイド・キャッシュを使用するとパフォーマンスの大幅な向上が見込めます。 WebSphere eXtreme Scaleは、バックエンドから取り込んだオブジェクトを格納するサイド・キャッシュとしても使用可能です。この場合、アプリケーションはまずサイド・キャッシュにレコードがないか、確認します。レコードがキャッシュに見つからなければ、バックエンドから取り込んでキャッシュに挿入します。 - リアルタイム・データとイベント・マイニング:
リアルタイムのデータ・フローを処理したい場合、まず、データをフィルタリングし、アプリケーションが使える形に整える必要があります。 eXtreme Scaleの区画化構成により、各区画がイベントを受け取り、それぞれが保有するデータに対して処理を行うことができます。これにより、アプリケーションのリニアなスケールアウトや、レスポンスタイムの予測が可能となります。 - Map/Reduce のサポート:
WebSphere eXtreme Scaleクライアントは、複数のエージェントを呼び出し、複数ノード上に存在する膨大なデータを並行処理させることができます。ノードがグリッド上に記録する結果をクライアント側で集計し、さらに処理を加えることが可能です。このデータとアプリケーション・ロジックの連携は、大規模な分析やトランザクション処理を行う場合に有用です。 - アプリケーション・ロジックとデータを同じアドレス空間に移動すれば、グリッドが管理するデータに待ち時間なしでアクセス可能。こうすれば、高速レスポンスを必要とするアプリケーションの読み出し/書き込みトランザクションの応答時間を1ミリ秒以下まで削減することができます。従来の中央データベースに代わり、メモリー上に複製された柔軟なデータグリッドを活用することで、非常に高速なレスポンスタイムとボトルネックのない柔軟なフル・スケーリングを実現するこれまでになかったアプリケーションを利用できます。
