パーティション ストレージの設定 (Analysis Services - 多次元)
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Microsoft SQL Server SQL Server Analysis Services には、ストレージ モードとキャッシュ オプションに関するいくつかの標準ストレージ構成が用意されています。 これにより、更新通知、待機時間、およびデータの再構築に一般的に使用される構成が提供されます。
パーティション ストレージは、SQL Server Data Toolsのキューブの [パーティション] タブ、またはSQL Server Management Studioの [パーティション] プロパティ ページで指定できます。
ストレージ モードの選択に関するガイドライン
大規模なメジャー グループの場合は、パーティションごとにストレージを個別に構成するのが一般的です。 次のガイドラインを考慮してください。
継続的に更新されている現在のデータには、リアルタイム ROLAP を使用します。
それほど頻繁に更新されないデータ ソースに基づいたパーティションには、低待機時間または中待機時間のプロアクティブ キャッシュを使用します。
ユーザーが高パフォーマンスを必要としているが、ある程度のデータ待機時間を許容できるデータ ソースには、自動 MOLAP を使用します。
ユーザーがデータに継続的にアクセスする必要があるが、変更は定期的に確認すればよいデータ ソースには、定期 MOLAP を使用します。
あまり頻繁に変更されないか、まったく変更されないパーティション、ユーザーが最新のデータを参照する必要がないパーティション、および必要な更新や処理中にユーザーがデータを継続的に使用する必要がないデータに対しては、プロアクティブ キャッシュなしの MOLAP ストレージを使用します。
これらは一般的なガイドラインであって、使用しているデータに最適なストレージ方法を見付けるには、綿密な分析とテストが必要です。 どの標準構成でもニーズが満たされない場合は、パーティションのストレージ設定を手動で構成することもできます。
ストレージ設定の説明
標準ストレージ設定 | 説明 |
---|---|
リアルタイム ROLAP | OLAP はリアルタイムです。 詳細データと集計は、リレーショナル形式で格納されます。 サーバーはデータ変更時の通知をリッスンし、すべてのクエリにデータの現在の状態が反映されます (待機時間ゼロ)。 この設定は通常、最新のデータが常に必要とされている場合に、頻繁に継続して更新されるデータ ソースに対して使用します。 クライアント アプリケーションで生成されるクエリの種類によっては、この方法の応答時間が最も遅くなる場合があります。 |
リアルタイム HOLAP | OLAP はリアルタイムです。 詳細データはリレーショナル形式で格納され、集計は多次元形式で格納されます。 サーバーはデータ変更時の通知をリッスンし、必要に応じて多次元 OLAP (MOLAP) 集計を更新します。 MOLAP キャッシュは作成されません。 データ ソースが更新されるたびに、集計が更新されるまで、サーバーはリアルタイムのリレーショナル OLAP (ROLAP) に切り替わります。 すべてのクエリにデータの現在の状態が反映されます (待機時間ゼロ)。 この設定は通常、最新のデータが常に必要とされている場合に、リアルタイム ROLAP が必要なほどではないが、頻繁に継続して更新されるデータ ソースに対して使用します。 通常、この方法の全体的なパフォーマンスは ROLAP ストレージよりも優れています。 ある程度の期間にわたってデータ ソースが一定に保たれる場合は、この設定によって MOLAP のパフォーマンスを得ることができます。 |
低待機時間 MOLAP | 詳細データと集計は、多次元形式で格納されます。 サーバーはデータ変更時の通知をリッスンし、リアルタイム ROLAP に切り替わります。この間、MOLAP オブジェクトはキャッシュで再処理されます。 キャッシュを更新する前に、少なくとも 10 秒間のサイレント状態の間隔が必要です。 サイレント状態の間隔が得られない場合は、10 分のオーバーライド間隔が適用されます。 処理は、データが最初に変更された後、30 分の待機時間でデータ変更のたびに自動的に行われます。 この設定は通常、最新データを常に提供することよりもクエリのパフォーマンスの方が重要な場合に、頻繁に更新されるデータ ソースに対して使用します。 この設定では、待機時間の経過後、必要に応じて MOLAP オブジェクトが自動的に処理されます。 MOLAP オブジェクトの再処理中は、パフォーマンスが低下します。 |
中待機時間 MOLAP | 詳細データと集計は、多次元形式で格納されます。 サーバーはデータ変更時の通知をリッスンし、リアルタイム ROLAP に切り替わります。この間、MOLAP オブジェクトはキャッシュで再処理されます。 キャッシュを更新する前に、少なくとも 10 秒間のサイレント状態の間隔が必要です。 サイレント状態の間隔が得られない場合は、10 分のオーバーライド間隔が適用されます。 処理は、4 時間の対象待機時間でデータ変更のたびに自動的に行われます。 この設定は通常、最新データを常に提供することよりもクエリのパフォーマンスの方が重要な場合に、頻繁に (またはあまり頻繁でなく) 更新されるデータ ソースに対して使用します。 この設定では、待機時間の経過後、必要に応じて MOLAP オブジェクトが自動的に処理されます。 MOLAP オブジェクトの再処理中は、パフォーマンスが低下します。 |
自動 MOLAP | 詳細データと集計は、多次元形式で格納されます。 サーバーは通知をリッスンしますが、新しい MOLAP キャッシュを構築する間、現在のキャッシュを保持します。 サーバーはリアルタイム OLAP に切り替わらず、新しいキャッシュを構築中のクエリは古くなる場合があります。 新しい MOLAP キャッシュを作成する前に、少なくとも 10 秒間のサイレント状態の間隔が必要です。 サイレント状態の間隔が得られない場合は、10 分のオーバーライド間隔が適用されます。 処理は、2 時間の対象待機時間でデータ変更のたびに自動的に行われます。 この設定は通常、クエリのパフォーマンスが最も重要であるデータ ソースに対して使用します。 この設定では、待機時間の経過後、必要に応じて MOLAP オブジェクトが自動的に処理されます。 新しいキャッシュの構築および処理中は、クエリから最新のデータが返されません。 |
[定期 MOLAP] | 詳細データと集計は、多次元形式で格納されます。 データが変更されてもサーバーは通知を受信しません。 処理は、24 時間ごとに自動的に行われます。 この設定は通常、日次更新のみが必要なデータ ソースに対して使用します。 クエリは常に MOLAP キャッシュ内のデータに対して行われます。このキャッシュは、新しいキャッシュが構築され、そのオブジェクトが処理されるまで破棄されません。 |
[MOLAP] | プロアクティブ キャッシュは有効になりません。 詳細データと集計は、多次元形式で格納されます。 データが変更されてもサーバーは通知を受信しません。 処理は、スケジュールするか、手動で実行する必要があります。 この設定は通常、クライアント アプリケーションを定期的に更新する必要がなく、高いパフォーマンスを得ることが非常に重要なデータ ソースに対して使用します。 アプリケーションに最新のデータが必要ない場合、プロアクティブ キャッシュを使用しない MOLAP ストレージは最高のパフォーマンスを提供します。 更新されたオブジェクトの処理にはダウンタイムが必要ですが、ステージング サーバーでキューブを更新および処理し、更新および処理した MOLAP オブジェクトをデータベースの同期を使用して実稼働サーバーにコピーすることで、ダウンタイムを最小限にとどめることができます。 |
カスタム ストレージ オプション
標準のストレージ設定のいずれかを使用する代わりに、ストレージおよびプロアクティブ キャッシュを手動で設定できます。 カスタム ストレージ設定を作成する前に、 [標準設定] オプションをクリックし、使用する構成に最も近い標準設定にスライダーを移動してください。 次に、 [カスタム設定] オプション、 [オプション]の順にクリックしてカスタム構成を作成します。
データ ソースが変更された場合にキャッシュを更新するかどうかを指定できます。 許容可能なレベルの動きを許可するには、データ ソース更新後のサイレント状態 (アクティビティがない状態) の最小間隔を指定します。 また、データ ソースの変更間隔がサイレント状態の最小間隔に満たない場合、指定期間後にキャッシュを更新する、サイレント状態のオーバーライド間隔を指定することもできます。
更新が行われたときに古いキャッシュを削除するかどうかを指定できます。 このオプションを選択した場合、指定した待機時間が経過すると、サーバーはキャッシュを更新する間、リアルタイム リレーショナル OLAP (ROLAP) に切り替わります。 このオプションを選択しない場合、サーバーは新しいキャッシュを作成する間、古い多次元 OLAP (MOLAP) キャッシュのクエリを続行します。
古いキャッシュが変更されてから削除されるまでの待機間隔を指定できます。 これは、古いキャッシュが削除される前に、ユーザーが引き続きそのキャッシュ内のデータを参照できる時間です。 変更が行われた後、この間隔が経過したときにキャッシュがまだ更新または処理中である場合、クエリは ROLAP にリダイレクトされます。
データ ソースが変更されているかどうかにかかわらず、キャッシュされている MOLAP オブジェクトを定期的に更新する場合は、キャッシュの強制更新をスケジュールできます。 リアルタイム OLAP の利点は、データベースのサイズと、ソース データの変更頻度によって割り当てられる待機期間によって異なります。 ユーザーのクエリは、できるだけ ROLAP でなくキャッシュに送信されるようにしてください。
[設定をディメンションに適用する] チェック ボックスをオンにした場合は、メジャー グループに関連するディメンションに同じストレージ設定が適用されます。 ディメンションの値は、最初はパーティション値と同じになります。