BI 計画ソリューションとシナリオにおけるパフォーマンスに関する考慮事項と方法

 

適用先: SharePoint Server 2010 Enterprise

トピックの最終更新日: 2016-11-30

この記事の内容:

  • パフォーマンスに関する考慮事項

  • セキュリティとロール

パフォーマンスに関する考慮事項

設計と構成

  • ディメンション サイズを、計画プロセスに必要なだけの大きさにします。

  • キューブで使用するディメンションの数を、計画に必要な最小限度にとどめます。

  • 可能であれば MdxScript 計算を回避し、Excel シートでの計算や、定期的に実行するようにスケジュールされた関係演算 (つまり通貨換算) のようなクライアント側の計算を最大限に利用します。

  • MdxScript ルールを使用するときは、論理的正当性だけでなくそのパフォーマンスも徹底的に確認します。少し異なる方法で、しかし同じ論理的等値を使用して MdxScript ステートメントを記述すると、パフォーマンスが向上するように MdxScript ステートメントを変更できる場合があります。

  • コンピューター階層が深くなりすぎないようにします。

  • レポートと入力フォームを設計するときは、MDX クエリが複雑にならないようにします。"WITH" ステートメントと他の計算されたメンバーを含むクエリにより、Microsoft SQL Server Analysis Services (SSAS) コンピューターが使用するキャッシング ロジックが制限され、そのために規模が小さくなりパフォーマンスが低下します。

  • 大量のデータを操作するときは、静的データと揮発性データを最適に管理するために、複数のパーティションを作成します。

  • ロールのセキュリティ定義内では、セル レベルのセキュリティを使用しないようにします。セル レベルのセキュリティが適用されると、キャッシング ロジックが制限されます。

フォーム サイズ、レイアウト、および使用方法

  • フィルターおよびスライサーを使用してセルの数を制限するフォーム (ピボット テーブル) を設計し、フォームでクエリを実行します。つまり、利用可能なすべてのデータ エントリが表示されるフォームは設計しないようにします。ただし、フォーム レイアウト (サイズ) がレイアウトの観点から一貫性を維持し、スライサーを変更することでピボット処理されるように、フィルターまたはスライサーを提供します。

  • 複数のピボットテーブルを使用すると、クエリ時間と応答時間が増加します。これには、同じシートおよび同じワークブックの両方でピボットテーブルの数を制限することで対処します。

  • フォームおよびレポートを設計するときは、フィルターの既定値を階層の最も低いレベルのメンバーに設定します。これにより、既定のクエリはキューブでの不要な集計計算を回避できます。

  • Excel ピボットテーブルの書き戻しによる変更などで、クライアント側で大きな変更を保持しないようにします。それよりも、これらの変更を徐々にサーバーに発行して、SQL Server Analysis Services の最適な実行時パフォーマンスを実現します。

リモート ユーザーのサポート

  • WAN のリモート ユーザーは、ネットワーク接続と応答時間が遅くなる場合があります。リモート ユーザーにサービスを提供するには、以下を行うことをお勧めします。

  • リモート ユーザーのいる物理的な場所のより近くに、リモート ユーザー独自の SQL/SharePoint インスタンスを提供します。

  • リモート ユーザーに、SQL/SharePoint サーバーにより近いコンピューター上の Excel に対するリモート デスクトップ サービスを提供します。

詳細については、「SQL Server 2008 ホワイト ペーパー: Analysis Services パフォーマンス ガイド」を参照してください。

ETL に関する考慮事項

ETL は、ソース システムからデータを抽出し、そのデータを変換してデータ モデルに書き出すプロセスです。SQL Server Integration Services は、ETL プロセスに対応する Microsoft のプレミア テクノロジです。データ インテグレーターは、Microsoft Business Intelligence Development Studio BIDS を使用して、以下の機能を含む SSIS パッケージを設計します。

  • データセットの結合、列の検索、エラー処理などを行うための、組み込み ETL ロジックの大規模ライブラリへのアクセス。

  • ソースのデータを対象に書き出すための高速なデータ転送。

  • ETL プロセスを視覚化する UI。

ETL パッケージの計画は、以下の分野に分けることができます。

  • ディメンション、階層、およびファクト用のデータ インポート。

  • ファクト テーブルからソース システムへのデータ エクスポート。

データ インポート

このソリューションでは、リレーショナル データベースに存在するディメンション、階層、およびファクト テーブルごとにステージング テーブルを作成します。ステージング テーブルは、最初、ソース システムのデータを書き出す対象テーブルとして使用されます。ステージング テーブルを全く使用しなくても ETL を実行できます。これは SSIS にメモリー内の大部分のデータを変換し、ソリューション テーブルに直接書き出す機能があるためです。しかし、ステージング テーブルを使用すると、以下のような利点があります。

  • ソース システムのテーブルおよびリレーションシップのスナップショットを取得し、そのデータの処理が不要になるようにします。このときソース システムへの将来のアクセスを失うリスクや、予想外のデータ変更が行われる可能性はありません。

  • ステージング データを、ソリューション テーブルに挿入するために簡単に監査できます。たとえば、ステージング テーブルの正確性が確認された後にのみ、すべてのソリューション テーブルへの一括読み込みを実行できます。

データがステージング テーブルに書き出され、必要な変換が完了すると、ステージング テーブルからソリューション テーブルへの書き出しプロセスを開始できます。SSIS を使用すると、ステージング テーブルからソリューション テーブルへの書き出しは、ソース テーブルの列を対象テーブルの列にマップするのと同じくらい簡単に行うことができます。SSIS には、非常に強力な ETL 用の機能がありますので、「White Paper: Introduction to SQL Server 2008 Integration Services (英語)」のトピックをさらにお読みになることをお勧めします。

ヒント

ETL を実行すると、SQL 復旧モデルが簡素化されます。これにより、データベースでの不要なログのオーバーヘッドが軽減され、パフォーマンスが向上します。

データ エクスポート

大部分のシナリオでは、一般的に、計画プロセスの完了後、ソース システムにエクスポートするために結果を収集および処理する必要があります。ソース システムでは、そのデータが維持され、レポート要件に合わせて利用できるようになります。

このソリューションでは、データは規格化された方法で既にファクト テーブルに格納されているため、ディメンション テーブルとの単純な結合をいくつか実行するだけで、エクスポート用のデータが作成されます。

ただしデータ エクスポートは、エクスポートするデータがファクト テーブルに全く存在しない場合よりも、むしろキューブでの計算時にのみ存在する場合に、若干複雑になります。このシナリオに対処する方法は、OLAP キューブに対して特別に配信されるクエリを使用することです。詳細については、「BI 計画ソリューションとシナリオのモデルおよびレポート作成の計画ガイド」を参照してください。

セキュリティとロール

セキュリティは、セキュリティ ロールを介して SSAS データベースで定義する必要があります。適切なパフォーマンスを実現するには、セキュリティをできるだけ簡素化することをお勧めします。

セキュリティの最も高いレベルは、データベース セキュリティです。データ モデルへのアクセスが必要な IW ごとに、データベースに対して少なくとも "読み取り定義" を設定することをお勧めします。

2 番目の最も広いレベルのセキュリティは、キューブに対して定義されます。これにより、個々のキューブが読み取り専用になる場所、読み取り/書き込み可能な場所、アクセス不可の場所が管理されます。

次のレベルのセキュリティは、ディメンションに対して定義されます。ディメンションの特定のメンバーを表示するか非表示にするかを選択できます。SQL Server Analysis Services で最適なパフォーマンスを実現するには、セキュリティの設定をディメンションのセキュリティで終わらせることをお勧めします。

最も低いアクセス レベルにセキュリティを定義する場合、セキュリティはセル レベルになります。セル レベルのセキュリティが定義されたユーザーからのクエリに対してキャッシング ロジックが厳しく制限されるため、パフォーマンスに悪影響が及びます。

Microsoft SQL Server Business Intelligence Development Studio (BIDS) を使用して、SQL Server Analysis Services データベースでセキュリティ ロールを作成できます。

BIDS は、セキュリティに対して非常に複雑な構成の定義を実行でき、定義の設定とメンテナンスを行う管理者はより多くの技術的専門知識が必要になる場合があることを認識しておくことは重要です。しかし BIDS は、SharePoint の構造化されたスプレッドシートまたはリンクされたテーブルを使用して他の場所でセキュリティが定義される場合があるカスタマイズには最適です。このカスタマイズは、その後翻訳モジュールに配信でき、最終的に OLAP セキュリティを適宜更新します。

複雑なセキュリティ

標準の SQL Server Analysis Services ロールが、存在する複雑なリレーションシップをすべてカバーするのに十分でない場合に、SQL Server 2008 Analysis Services の動的なセキュリティも設定できます。シナリオは次の場合に使用されます。

  • 各 IW が特定のディメンション メンバー セットへのアクセスを必要とする場合。

  • ディメンションのセキュリティ要件にほとんど重複がない場合。つまり、ディメンション メンバーの多くの一意の組み合わせがさまざまな IW に割り当てられている場合。

See Also

Concepts

BI 計画ソリューションとシナリオの基本的な計画シナリオ
BI 計画ソリューションとシナリオのデータ マートを計画する
BI 計画ソリューションとシナリオにおけるモデル化の概念の計画
BI 計画ソリューションとシナリオでの書き戻しキューブ モデリング
BI 計画ソリューションとシナリオにおけるパフォーマンスに関する考慮事項と方法
BI 計画ソリューションとシナリオの Excel PowerPivot を使用したキューブ モデリング
BI 計画ソリューションとシナリオのレポートおよびフォームの作成
BI 計画ソリューションとシナリオの計画データの提出
BI 計画ソリューションとシナリオのワークフロー アクション、ワークフロー図、および SharePoint ワークフローの設定
BI 計画ソリューションとシナリオの監査管理
BI 計画ソリューションとシナリオの管理
BI 計画ソリューションとシナリオの計算
BI 計画ソリューションとシナリオの追加の計画機能
BI 計画ソリューションとシナリオの移行
BI 計画ソリューションとシナリオのメンテナンス
BI 計画ソリューションとシナリオの企業による関連企業の管理
BI 計画ソリューションとシナリオのモデルおよびレポート作成の計画ガイド
BI 計画ソリューションとシナリオの計画機能の作成ガイド
BI 計画ソリューションとシナリオでの計画と予算の計算の例