Oracle Tuxedo Distributed Caching (TDC)は、Oracle Coherenceを利用し、Oracle Tuxedo Caching Serverモジュール(Oracle Coherenceのクライアントとして機能しているOracle Tuxedo Javaサーバーに構成されます)を使用します。これにより、Oracle Coherenceがキャッシュに関して持つすべての利点を活用できます。
この機能は、次のキャッシング方針をサポートしています。
データ・キャッシュを有効にすると、キャッシュにデータを格納して、他のマシン上のクライアントがキャッシュからそのデータを取得できるようにすることができます。これにより、クライアントとサーバー間でデータを共有する新しい方法が得られます。特に、他のサーバーとのデータの共有が可能になります。
キャッシュ経由の格納および取得が以前に比べて高速かつ軽快です。
Oracle Tuxedoでは、この他にも、ローカル・バッファ・コピーを最小限に抑えたり(ゼロ・コピーのユースケースをいくつか提供するのが理想的です)、主に読取りが多い操作(たとえば、読取り/書込みの比率が2:1以上)に重点を置くなど、高いパフォーマンスを実現する方法を導入しています。
この機能は、多くのOracle Tuxedoバッファ・タイプをサポートしているため、Oracle Tuxedoがサポートするデータ型にデータを一致させる手間が必要ありません。サポートされているTuxedoバッファ・タイプは、
CARRAY、
FML、
FML32、
MBSTRING、
STRING、
VIEW、
VIEW32、
XML、
RECORD、
X_C_TYPE、
X_OCTETおよび
X_COMMONです。
Oracle Tuxedoサービスの結果キャッシュ
結果キャッシュを有効にすると、Oracle Tuxedoはまずバックエンド・サービスではなくキャッシュ・エントリの結果にアクセスします。アクセスできない場合や、キャッシュまたはキャッシュ・エントリが期限切れになっている場合、Oracle Tuxedoはバックエンド・サービスにアクセスします。その結果がOracle Tuxedoキャッシュに格納されるため、次回もそれにアクセスできます。
Oracle Tuxedoで結果をキャッシュに格納するのに適した候補としてよく挙げられるのが、変更されない結果を返す同期サービスです。これにより、バックエンド・サービスにアクセスするネットワーク・オーバーヘッドを減らして、パフォーマンスを高めることができます。
Oracle Tuxedoでは、この他にも、ローカル・バッファ・コピーを最小限に抑えたり(ゼロ・コピーのユースケースをいくつか提供するのが理想的です)、主に読取りが多い操作(たとえば、読取り/書込みの比率が2:1以上)に重点を置くなど、高いパフォーマンスを実現する方法を導入しています。
Oracle Coherenceとの統合により、Oracle Tuxedoではその専用のスケーラブルなプロトコルとクラスタ作成機能を利用できるようになります。クラスタは、シームレスに拡大して、メモリーや処理能力を増やすことができます。また、クラスタ・メンバーで障害が発生した場合には透過的にフェイルオーバーするため、シングル・ポイント障害を回避することもできます。その結果、この機能によって可用性とスケーラビリティが高まります。
また、Oracle Coherenceを活用することにより、キャッシュ・エントリを複数のマシンにレプリケートでき、データ処理をデータの存在場所にファーム化して結果が返されるようにすることができます。これにより、データのスケーラビリティを確保できます。
この機能は、多くのOracle Tuxedoバッファ・タイプをサポートしているため、Oracle Tuxedoがサポートするデータ型にデータを一致させる手間が必要ありません。サポートされているTuxedoバッファ・タイプは、
CARRAY、
FML、
FML32、
MBSTRING、
STRING、
VIEW、
VIEW32、
XML、
RECORDおよび
X_COMMONです。
この機能は透過的であるため、いっさいコードを変更することなく使用でき、取り組みやすいアプローチとなっています。Oracle Tuxedoは、Oracle Tuxedo Caching ServerモジュールにOracle Coherence機能をカプセル化するため(Oracle Tuxedo Javaサーバー・コンテナ)、Oracle Tuxedo Caching Serverモジュールのみを使用して、この機能に関するすべての機能を導入できます。
図1-1に、Oracle Coherenceに基づいてTDCを使用するためのOracle Tuxedo MPドメインでの一般的なデプロイメントを示します。
この図に示すように、Oracle Tuxedo Caching Serverモジュールが構成されている
TMJAVASVRは、Oracle Coherenceのクライアント(メンバー)となります。
TMJAVASVRを直接使用して、様々なマシンにあるクラスタ・メンバーが互いにどのように通信しているかを気にすることなく、複数のマシンからの結果をキャッシュに格納できます。
Oracle CoherenceとOracle Tuxedo Caching Serverモジュールを使用するため、TDCを実際に使用する前にどちらも構成しておく必要があります。