次に、キューブのストレージ デザインを設定します。ストレージのデザインには、MOLAP
/HOLAP/ROLAP があり、パーティション単位で設定することが可能です。
パーティション
パーティションを設定することで、大規模な環境でのパフォーマンスを向上させることがで きます。
ストレージのデザイン/集計
今回の検証では、MOLAP の集計デザインを設定します。
パーティションの作成手順
1. パーティションを作成するには、[パーティション]タブへ移動して、ソースを選択します。
パーティション ソース ウィンドウが立ち上がります。
2. [バインドの種類]を「クエリ バインド」へ変更します。
3. Where 句を指定します。
4. ソースが変更されました
5. [新しいパーティション]をクリックして、パーティションを追加していきます。
パーティション ウィザードが起動します。
キュ ーブのパーティションは、RDBMS のパーティション レンジに合わせるようにします
7. クエリを指定して行を制限するを選択します。
8. Where句を入力します。
9. [次へ]をクリックします。
10. [既存のパーティションから集計のデザインをコピーする]を選択します。
11. 新しいパーティションが作成されました
Tips: スクリプトからのパーティション作成
パーティションは、GUI からではなく、スクリプトからも作成することが可能です。パーテ ィションの数が多い場合には、スクリプトによって作成することをお勧めします。
同様の手順を踏んで、パーティションを作成することができます
キューブの集計デザインを変更
今回の検証では、MOLAPの集計デザインを変更しました。
1. 集計デザインを変更するには、[集計]タブへ移り、[集計のデザイン]ボタンをクリックし ます。
集計のデザイン ウィザードが起動します。
2. 集計の使用法を確認します。
3. [推定カウント]へ「Fact テーブルの行数」、
[パーティション数]へ「Fact テーブルの 1パーティションの行数」を入力します。
4. パフォーマンスの到達率を「100%」へ変更して、[開始]をクリックします。
5. [次へ]をクリックします。
6. 集計に任意の名前を付けて、集計の処理を行わずに保存して完了します。
7. 新しい集計が作成されました。
使用法に基づく最適化
集計は、「使用法に基づく最適化」ウィザードを利用して、過去のクエリ ログをもとに作成す ることも可能です。ただし、クエリ ログは、既定では取得されていないため、クエリ ログを 格納するデータベースを作成して、サーバー プロパティを変更しておく必要があります。
クエリ ログを格納するデータベースとテーブルの設定手順
1. Management Studio を起動して、SQL Server へ接続します。データベースを右クリック
して、新しいデータベースを選択します。
クエリ ログ を保存するDBを作成します
データベース名へ任意の名前(OlapQueryLogDB など)を設定します。
2. 新しいデータベースが作成されました。
3. 次に、オブジェクト エクスプローラの[接続]から[Analysis Services]を選択して、
Analysis Services へ接続します。
4. Analysis Services インスタンスを右クリックして、プロパティを選択します。
クエリ ログ を格納するようにAnalysis Servicesを設定します
「Log¥QueryLog¥QueryLogConnectionString」で「...」を選択して、前の手順で作成し たデータベースを選択します。[接続テスト]をクリックすると、該当データベースへの接 続を確認できます。
6. クエリ ログを格納するデータベースを設定できました。
7. クエリ ログの取得を行うように「Log¥QueryLog¥QueryLogTable」の設定を「True」
へ変更します。
8. Log¥QueryLog¥QueryLogSampling プロパティの設定
このプロパティの既定値は、「10」であり、10回のサーバー クエリごとに 1回がログ記 録されることを意味します。
以上の設定後、Excel などから Analysis Services のキューブへアクセスすると、実行さ れたクエリの履歴がデータベースへ保存されるようになります。この後、「使用法に基づく 最適化」ウィザードを利用すれば、保存されたクエリを基に集計を作成することができま す。
「使用法に基づく最適化」ウィザードの実行
1. 「使用法に基づく最適化」ウィザードを実行するには、BIDS(Business Intelligence
Development Studio)の[集計]タブへ移り、[使用法に基づく最適化]ボタンをクリック
します。
使用法に基づく最適化ウィザードが立ち上がります。
2. 条件を指定します。
3. ここでは、特定のユーザが実行したクエリに絞ってみます。
4. [次へ]をクリックします。
取得した クエリ ログ をもとに集計をデザインします
テスト運用などで、様々なユーザがAnalysis Servicesにアクセスし、そのクエリ ログを保存しておきます。
保存されたクエリ ログを開始日などの条件で抽出し、抽出したクエリ ログを元に集計を作成します。
5. いくつかのクエリが表示されるので、集計に使用したいクエリを選択します。
6. [推定カウント]へ「Fact テーブルの行数」、
[パーティション数]へ「Fact テーブルの 1パーティションの行数」を入力します。
8. [次へ]をクリックします。
使用法に基づいた集計のみがデザインされます。
9. [既存の集計へマージ]を選択し、[完了]をクリックします。
使用法に基づく最適化ウィザードで作成された集計は、既存の集計へマージすることも、
新しい集計デザインとして作成することも可能です。
10. 集計がマージされました
新しい集計デザインとして作成した場合
1. [新しい集計デザインの作成]を選択した場合は、次のようになります。
2. 集計の詳細を見てみると、1つの集計が作成されていることが確認できます。
集計の追加
1. ツールバーの[詳細ビュー]をクリックして、集計のデザインを選択します。
既へ作成されている AggregationDesign を選択します。
2. 集計の詳細が表示されます。
3. 右クリックして、[新しい集計]をクリックします。
4. 新しい集計が作成されて、自由へ変更を行うことができます。
↓