プロアクティブ キャッシュは、OLAP オブジェクトの MOLAP キャッシュの自動作成と管理を提供します。 キューブには、データベースから受信した通知に基づいて、データベース内のデータに加えられた変更が直ちに組み込まれます。 プロアクティブ キャッシュの目的は、ROLAP によって提供される即時性と管理の容易さを維持しながら、従来の MOLAP のパフォーマンスを提供することです。
単純な ProactiveCaching オブジェクトは、タイミングの指定とテーブル通知で構成されます。 タイミング仕様では、変更通知を受信した後にキャッシュを更新するための期間を定義します。 テーブル通知は、データ テーブルと ProactiveCaching オブジェクトの間の通知スキーマを定義します。
多次元 OLAP (MOLAP) ストレージは、最適なクエリ応答を提供しますが、一部のデータ待機時間は低下します。 リアルタイム リレーショナル OLAP (ROLAP) ストレージを使用すると、ユーザーはデータ ソースの最新の変更をすぐに参照できますが、多次元 OLAP (MOLAP) ストレージよりもパフォーマンスが大幅に低下します。これは、事前計算されたデータの概要がないため、また、リレーショナル ストレージが OLAP スタイルのクエリ用に最適化されていないためです。 ユーザーが最近のデータを表示する必要があり、MOLAP ストレージのパフォーマンス上の利点も必要なアプリケーションがある場合、SQL Server Analysis Services には、特にパーティションの使用と組み合わせて、このシナリオに対処するためのプロアクティブ キャッシュのオプションが用意されています。 プロアクティブ キャッシュは、パーティションごとおよびディメンションごとに設定されます。 プロアクティブ キャッシュ オプションを使用すると、MOLAP ストレージのパフォーマンスの向上と ROLAP ストレージの即時性のバランスを取ることができ、基になるデータが変更されたときや設定されたスケジュールに従ってパーティション処理が自動的に行われます。
プロアクティブ キャッシュ構成オプション
SQL Server Analysis Services には、パフォーマンスを最大化し、待機時間を最小限に抑え、処理をスケジュールできるプロアクティブ キャッシュ構成オプションがいくつか用意されています。 プロアクティブ キャッシュ機能により、データの陳腐化を管理するプロセスが簡略化されます。 プロアクティブ キャッシュ設定は、多次元 OLAP 構造 (MOLAP キャッシュとも呼ばれます) の再構築頻度、キャッシュの再構築中に古い MOLAP ストレージを照会するか、基になる ROLAP データ ソースに対してクエリを実行するか、スケジュールに基づいてキャッシュを再構築するか、データベースの変更に基づいてキャッシュを再構築するかを決定します。
待機時間の最小化
遅延を最小限に抑えるためにプロアクティブ キャッシュを設定すると、データに対する最近の変更が発生したかどうかやプロアクティブ キャッシュの構成方法に応じて、OLAP オブジェクトに対するユーザー クエリが ROLAP ストレージまたは MOLAP ストレージに対して行われます。 クエリ エンジンは、データ ソースで変更が発生するまで、MOLAP ストレージ内のソース データに対してクエリを送信します。 待機時間を最小限に抑えるために、データ ソースで変更が発生した後、MOLAP オブジェクトがキャッシュに再構築されている間に、キャッシュされた MOLAP オブジェクトを削除し、ROLAP ストレージに切り替えてクエリを実行できます。 MOLAP オブジェクトが再構築されて処理されると、クエリは自動的に MOLAP ストレージに切り替わります。 キャッシュの更新は、現在のパーティションなどの小さなパーティションに対して非常に迅速に実行できます。現在のパーティションは、現在の日と同じサイズにすることができます。
パフォーマンスの最大化
パフォーマンスを最大化しながら待機時間を短縮するために、現在の MOLAP オブジェクトを削除せずにキャッシュを使用することもできます。 その後、データが読み取られ、新しいキャッシュで処理されている間、クエリは MOLAP オブジェクトに対して続行されます。 このメソッドはパフォーマンスを向上させますが、新しいキャッシュの構築中に古いデータを返すクエリが発生する可能性があります。