ヘッダーをスキップ
Oracle® Coherenceスタート・ガイド
リリース3.6
B61369-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次

戻る
戻る
 
次へ
次へ
 

8 パーティション・キャッシュ・サービス

レプリケーション・キャッシュ・サービスに潜在的に存在するスケーラビリティの制約に対応するために、メモリーと通信の両方のボトルネックに対して、Coherenceではリリース1.2以降、分散キャッシュ・サービスを提供しています。分散キャッシュという用語は、多くの製品でその機能を説明するために使用されてきました。そこで、ここでも、Coherenceにおけるこの用語の正確な意味について説明します。Coherenceにおける分散キャッシュは、任意の数のクラスタ・ノード間で分散(パーティション化)されたデータのコレクションとして定義されます。ここでいう分散とは、キャッシュ内の個々のデータがクラスタ内の1つのノードによってのみ保持されるよう、すべてのクラスタ・ノード間でその役割を分担する(ロード・バランシングする)ことを意味します。

分散キャッシュには、いくつかの重要な留意事項があります。

分散キャッシュにアクセスするには、一般に、ネットワークを介して別のクラスタ・ノードに接続する必要があります。他の条件がすべて同じであるとして、n個のクラスタ・ノードがある場合は、(n-1)/nの操作がネットワークを経由することになります。

図8-1 パーティション・キャッシュ環境でのget操作

この図については本文で説明しています。

各データは1つのクラスタ・ノードのみで管理されるため、ネットワーク経由のアクセスは単一ホップ操作になります。このタイプのアクセスは、Point-to-Point通信を使用できるためスイッチド・ネットワークを最大限に活用できます。そのため、スケーラビリティに非常に優れています。

同様に、キャッシュの更新操作にも同じ単一ホップのPoint-to-Point方式を使用できます。この方法を使用すると、レプリケーション・キャッシュの2つの制限のうち、すべてのクラスタ・ノードにキャッシュの更新をプッシュする必要があるという制限に対応できます。

図8-2 パーティション・キャッシュ環境でのput操作

この図については本文で説明しています。

上の図では、データはプライマリ・クラスタ・ノードとバックアップ・クラスタ・ノードに送信されています。これはフェイルオーバーを目的としたものであり、この場合のバックアップ回数は1になります(デフォルトのバックアップ回数は1に設定されています)。キャッシュのデータがクリティカルでない(ディスクから再ロードできる)場合は、バックアップ回数をゼロに設定できますが、クラスタ・ノードに障害が発生したときに分散キャッシュ・データの一部が失われる可能性があります。キャッシュがきわめてクリティカルな場合は、バックアップ回数を2などの高い値に設定します。バックアップ回数は、キャッシュ・エントリの追加、変更、削除などによるキャッシュの変更パフォーマンスにのみ影響します。

キャッシュに対する変更は、すべてのバックアップが変更を受信したことを認識するまで完了したとは見なされません。したがって、分散キャッシュのバックアップを使用する場合は、キャッシュの変更パフォーマンスが若干低下します。しかし、クラスタ・ノードに予期しない障害が発生しても、データの整合性が維持されることが保証され、データが損失することはありません。

分散キャッシュのフェイルオーバーでは、バックアップ・データがプライマリ記憶域に昇格されます。あるクラスタ・ノードに障害が発生すると、残りのすべてのクラスタ・ノードは、障害が発生したクラスタ・ノードがプライマリ記憶域で停止時に管理していたデータを各自のバックアップ記憶域から判別します。これらのデータの管理は、それをバックアップ記憶域に保持していたクラスタ・ノードに引き継がれます。

図8-3 パーティション・キャッシュ環境のフェイルオーバー

この図については本文で説明しています。

バックアップに複数のレベルがある場合は、最初のバックアップでデータがバックアップされ、2番目以降のバックアップでは前のバックアップがバックアップされるようになります。レプリケーション・キャッシュ・サービスとまったく同じように、サーバーの障害時にはロック情報も維持されます。ただし、唯一の例外として、障害が発生したクラスタ・ノードのロックは自動的に解除されます。

分散キャッシュ・サービスでは、データを格納するクラスタ・ノードと格納しないクラスタ・ノードを構成できます。これにはlocal storage enabledという設定を使用します。local storage enabledオプションを有効にして構成されたクラスタ・ノードが、分散キャッシュのキャッシュ記憶域とバックアップ記憶域を提供します。この設定にかかわらず、データはすべてのクラスタ・ノードでまったく同じように表示できます。これは位置の透過性によるものです。

図8-4 パーティション・キャッシュ環境のローカル記憶域

この図については本文で説明しています。

local storage enabledオプションには、次のような利点があります。