Oracle Business Intelligence Enterprise Editionデプロイメント・ガイド > Oracle Business Intelligenceのクラスタ化、ロード・バランシングおよびフェイルオーバー >
クラスタ対応キャッシュについて
Oracle BI Serverは、クエリー・キャッシュと呼ばれる、クエリー結果セットのローカルなディスクベース・キャッシュを保持します。クエリー・キャッシュにより、BI Serverはバックエンドのデータベースにアクセスしないで、多くのクエリー・リクエストに対応できます。このような通信コストの削減により、クエリーに対するレスポンス時間を大幅に短縮できます。クエリー・キャッシュのエントリは、バックエンドのデータベースで更新が発生すると不要になり、周期的に消去される必要があります。クエリー・キャッシュの詳細は、『Oracle Business Intelligence Server管理ガイド』を参照してください。
クラスタ化された環境では、Oracle BI Serverは、クラスタ対応キャッシュと呼ばれる共有キャッシュにアクセスするように構成できます。このクラスタ対応キャッシュは、共有ファイル・システムのストレージ・デバイスに常駐し、シード・イベントおよび消去イベントと、シード・イベントに関連付けられた結果セットを格納します。シード・イベントおよび消去イベントは時間でソートされ、共有記憶域に論理イベント・キューとして格納されます。個々のBI Serverノードは、論理イベント・キューとの間でプッシュおよびプルを行います。
図2に、グローバル・キャッシュを共有する3つのBI Serverノードを示します。クラスタ対応キャッシュは、論理イベント・キューに保持されるシード・イベントまたは消去イベントを格納します。ノード2およびノード3から共有キャッシュへの矢印は、BI Serverノード2がシード・イベントをキューにプッシュしていることを示し、BI Serverノード3が消去イベントをキューにプッシュしていることを示します。共有記憶域から各BI Serverノードへの矢印は、各ノードが共通の場所からプルしていることを示します。この状態は周期的に発生し、参加しているBI Serverノードは、他のBI Serverが行った論理イベント・キューの更新を取得することが可能になります。
BI Serverノードは、シード・イベントまたは消去イベントを、そのキャッシュ・システム内でまずローカルに処理します。その後で、イベントを共有記憶域のグローバル・キャッシュにプッシュします。プッシュ・イベント中に、アクティブなBI Serverノードは、共有記憶域にある論理イベント・キューをロックしてから、シード・イベントまたは消去イベントにプッシュします。あるノードがクエリーをシードしようとして、別のノードが同一のクエリーを消去しようとするなど、シードと消去の間に競合が発生する場合は、最後に発生したイベントが優先されます。
共有記憶域のグローバル・キャッシュに入っている論理イベント・キューは、個々のBI Serverノードからのシード・イベントおよび消去イベントで構成されます。このキューは、イベントのタイムスタンプに従ってソートされます。そのため、クラスタに参加しているすべてのBI Serverノードのクロックを同期化しておく必要があります。
各BI Serverノードは、周期的にグローバル・キャッシュをポーリングして、新しいキャッシュ・エントリを調べます。このポーリング頻度は構成可能です。共有記憶域にあるキューに入っている論理イベントのスナップショットが元のノードにプルされ、ローカル論理イベント・キューが構成されてから、処理されます。
注意: クラスタに参加しているすべてのBI Serverノードにわたって、シード済キャッシュを移入または消去するプロセスは、リアルタイムでは発生しません。プロセスの経過は、事前定義されたポーリング周期、ネットワーク帯域幅、CPU負荷など、複数の要因によって影響を受けます。
クエリー・キャッシュの結果セットはサイズが大きくなる傾向があるため、ネットワーク帯域幅による制約が課される場合があります。したがって、次を慎重に選択してください。
- シード済キャッシュに適したキャッシュのセット
- BIノードが共有記憶域からシード済キャッシュを取り出す時間間隔(目的はネットワークの輻輳の回避)
クラスタ対応キャッシュのパラメータは、クラスタに参加しているBI Serverノードごとに、NQSConfig.INIファイル内で構成します。これらのパラメータの構成の詳細は、「NQClusterConfig.INIファイルでのパラメータ設定」を参照してください。
『Oracle Business Intelligence Server管理ガイド』のクエリー・キャッシュに関する章で説明しているように、シード・プロシージャまたは消去プロシージャは特定のBI Serverノードに発行されます。そのBI ServerがBIクラスタ内のノードであり、グローバル・キャッシュのパラメータがBI Serverの構成ファイルで定義されている場合、シード・イベントまたは消去イベントは、クラスタ化された同一の環境に参加するすべてのBI Serverノードに伝播されます。
|