最適化されたハイブリッド・モード・キューブの作成

ベースライン、計算キャッシュ、解決順およびデータ分散のキューブの最適化ユーティリティを使用すると、キューブを微調整してパフォーマンスを高めることができます。

次の4つのキューブの最適化ユーティリティを使用して、最適化されたハイブリッド・モード・キューブを作成します:
ユーティリティ 返されるデータ
ベースライン キューブのパフォーマンス・メトリック
解決順 キューブのメンバーの解決順
計算キャッシュ キューブに最適な計算機キャッシュ値の選択に役立つデータ
データ分散 どのディメンションを疎にしてどのディメンションを密にするかの選択に役立つデータ

ハイブリッド・モード・キューブでのベースライン・メトリックの最適化

キューブ・デザイナのベースライン・ユーティリティによって追跡されるメトリックは、Essbaseハイブリッド・モードのデータベースのパフォーマンスを示しています。これらのメトリックを使用してベースライン・パフォーマンスを判定し、ユーザーが行ったその後の最適化の効果を測定します。

ベースライン・ユーティリティを使用する前に、まず、キューブに含めるアウトライン、構成設定、計算スクリプトおよび問合せを含むアプリケーション・ワークブックを作成します。

ベースライン・ユーティリティを実行すると、キューブが構築されて、選択したデータ・ファイルがロードされ、選択した計算スクリプトが実行され、アプリケーション・ワークブックに含まれている問合せが実行されます。ユーザーの問合せの代表的なサンプルを用意することが重要です。

ベースライン・ユーティリティではアプリケーションおよび運用プロセスのダッシュボードを作成します。これはキューブの設計および最適化に役立ちます。変更を実装してキューブを再構築すると、ベースラインにより、キューブの変更の繰返しを比較できます。アプリケーション・ワークブックのEssbase.Stats.Baselineタブでは、ベースライン・ユーティリティによって、繰り返すたびに最新データを含めて新しい表が追加されます。

ハイブリッド・モード・キューブでのキューブの最適化ベースライン・ユーティリティの実行の準備

ベースライン・ユーティリティを実行する前に次のタスクを完了します:

  1. アプリケーション・ワークブックを設計し作成します。

    アプリケーション・ワークブックを作成するには、サンプル・アプリケーション・ワークブックをダウンロードして、必要に応じてこれを変更します。ギャラリ・テンプレートの参照を参照してください。

  2. Smart Viewメタデータのアプリケーション・ワークブックで問合せシートをクリアします:

    1. Smart Viewリボンに移動します。
    2. 「シート情報」を選択して「削除」をクリックします。

    問合せシートに異なるサーバーのメタデータがある場合、キューブ・デザイナでは警告を表示し、応答するまで処理を一時休止します。

  3. 次のアプリケーション構成設定を使用してCube.Settingsワークシートを変更します:

    設定
    ASODYNAMICAGGINBSO FULL
    HYBRIDBSOINCALCSCRIPT NONE
    INDEXCACHESIZE 100M
    DATACACHESIZE 100M
    ASODEFAULTCACHESIZE 100
    MAXFORMULACACHESIZE 102400
    INPLACEDATAWRITEMARGINPERCENT 20
    CALCCACHEDEFAULT 200000
    LONGQUERYTIMETHRESHOLD -1

ハイブリッド・モード・キューブでのキューブの最適化ベースライン・ユーティリティの実行

ベースライン・ユーティリティでは、密と疎のディメンション、データ・サイズ(PAGおよびINDファイル・サイズ)、ブロック・サイズ、データ、索引および計算機キャッシュのサイズを識別します。さらに、データ・ロード、計算および問合せのメトリックも提供します。

ベースライン・ユーティリティを実行するには:

  1. キューブ・デザイナ・リボンで、「管理タスク」「キューブの最適化」の順に選択します。

  2. (オプション)「カスタマイズ」をクリックして、実行するベースライン操作を選択します。

    • キューブの構築 - アプリケーション・ワークブックで定義されたキューブを構築し、データ・シートにデータをロードします。
    • 計算スクリプトの実行 - アプリケーション・ワークブックのそれぞれの計算シートで定義されている計算スクリプトを実行します。

      計算ワークシートは、アプリケーション・ワークブックで表示される順に実行されます。キューブの最適化では、計算シートで計算の実行プロパティを無視します。

      キューブの最適化では、「ジョブ」から実行できる計算スクリプトのみがサポートされています。現在のSmart Viewグリッド・コンテキストに依存している計算スクリプトは実行できません(たとえば、@GRIDTUPLES関数を使用して定義された計算または<svLaunch>タグで定義されたランタイム代替変数を使用する実行)。

    • 問合せの実行 - 問合せシートで問合せを実行します。
    • すべてエクスポート - キューブのデータすべてをキューブ・ディレクトリにエクスポートします。エクスポート時間およびファイル・サイズが記録されると、エクスポート・ファイルは自動的に削除されます。
  3. 「ベースラインの作成」をクリックします。

    アプリケーション・ワークブックにデータ・シートがない場合、カタログからデータおよびルール・ファイルを選択するよう求められます。カタログ内の共有ディレクトリにデータおよびルール・ファイルを保管することをお薦めします。これにより、キューブを再構築しても、ファイルが失われなくなります。

    キューブの構築にしばらく時間がかかります。

    Essbaseでは、Essbase.Stats.Baselineシートを生成して、これをワークブックに追加します。

  4. アプリケーション・ワークブックでEssbase.Stats.Baselineシートを表示します。

    • シートの最初の表には、データ・ロード・ファイルのサイズ、データ・ロード・セルの数、ブロック・サイズおよびキャッシュ・サイズが表示されます。
      データベース・メトリックが表示されたEssbase.Stats.Baselineシートの最初の表のイメージ。

    • ベースライン表の色は、各ディメンションのストレージ・タイプを示します:
      • 緑 - 密ディメンション
      • 赤 - 少なくとも1つの動的式を含む疎ディメンション
      • 青 - 集約を含み、動的親および式を含まない疎ディメンション
      • 金 - 他の疎ディメンション

      密ディメンションと疎ディメンション、合計メンバーと保管済メンバーが表示されたEssbase.Stats.Baselineシートの2番目の表のイメージ。

    • ロードおよび計算で、「スクリプト:」行にどの計算スクリプトが完了に最も時間がかかり、最適化の必要があるかが示されています。
      ロード時間と計算時間、ブロック、データ、作成された索引ファイル・サイズが表示されたEssbase.Stats.Baselineシートの3番目の表のイメージ。

    • 「問合せ」読み取ったブロックで、問合せでリクエストされたデータの量が表示されます。

      動的ディメンションを保管済に変更すると、量が少なくなります。

    • 「問合せ」の下の「式」には、その問合せで実行された式の数が表示されます。

      計算済メンバーの解決順を確認して変更し、式の実行数を減らしてパフォーマンスを改善するか、式を含む計算済メンバーの保管を検討して式の実行数を減らし、パフォーマンスを改善します。


      問合せ時間、読み取ったブロック、実行された式が表示されたEssbase.Stats.Baselineシートの4番目の表のイメージ。

    • シートの最後の表には、エクスポート時間およびファイル・サイズが表示されます。
      エクスポート時間とファイル・サイズが表示されたEssbase.Stats.Baselineシートの5番目の表のイメージ。

ハイブリッド・モード・キューブでの解決順の最適化

キューブ・デザイナの解決順ユーティリティでは、Essbaseアプリケーションで使用される解決順フローを視覚的に表現できるため、式に関連する問合せパフォーマンスの問題の診断に役立ちます。

キューブの最適化の解決順ユーティリティを実行するには:

  1. キューブ・デザイナ・リボンで、「管理タスク」「キューブの最適化」の順に選択します。
  2. 「解決順」をクリックします。
  3. アプリケーション・ワークブックでEssbase.Stats.SolveOrderシートを表示します。

Essbase.Stats.SolveOrderシートの情報を使用し、解決順を調整して問合せのパフォーマンスを最適化します。ハイブリッド・モード向けのキューブの最適化およびハイブリッド・モードの解決順を参照してください。

ハイブリッド・モード・キューブでの計算機キャッシュの最適化

キューブ・デザイナの計算キャッシュ・ユーティリティでは、Essbaseハイブリッド・モードのブロック・ストレージ・キューブに最適な計算機キャッシュ設定をお薦めします。

計算機キャッシュはブロック・ストレージおよびハイブリッド・モード・キューブに適用できますが、ASOキューブには適用できません。適切な計算機キャッシュ設定を使用すると、計算スクリプトで疎ディメンションの計算時にパフォーマンスを大幅に改善できます。疎ディメンション全体の計算は、問合せに必要なブロック数を減らすための技術です。

計算機キャッシュのデフォルト値は、200,000バイトです。最大値は200,000,000バイトです。

計算機キャッシュは、計算スクリプトで計算される疎ディメンションを含めるのに十分な大きさに設定する必要があります。計算機キャッシュを必要なサイズより大きく設定すると、パフォーマンスに悪影響を及ぼします。

計算キャッシュ・ユーティリティを使用して計算機キャッシュを最適化するには:

  1. 問合せでリクエストされるデータ量を減らすために、計算スクリプトを使用して1つ以上のディメンションを計算および保管します。

    通常は、最も大きなディメンションを選択することをお薦めします。

  2. このディメンションを移動して、アウトラインで最初の疎ディメンションにします。

    計算機キャッシュのアルゴリズムでは、最初の疎ディメンションから開始して、キャッシュに配置する疎ディメンションを選択します。

  3. データをロードしないで、キューブを構築します。

    キューブは、機能する計算キャッシュ・ユーティリティ用に構築する必要があります。

  4. 計算キャッシュ・ユーティリティを実行します。

    ユーティリティでは、20 MBまでの各ディメンションの横に適切なキャッシュ設定が表示されます。20 MBを超えると、N/Aが表示されます。通常、数MBを超えた設定は不要です。

    1. キューブ・デザイナ・リボンで、「管理タスク」「キューブの最適化」の順に選択します。
    2. 「計算キャッシュ」をクリックします。
    3. アプリケーション・ワークブックでEssbase.Stats.CalcCacheシートを表示します。Essbase.Stats.CalcCacheワークシートの「計算キャッシュ」列に推奨された計算機キャッシュ設定を表示できます。
      キューブの最適化タイプ・アプリケーション・ワークブック内のEssbase.Stats.CalcCacheシートのイメージ。

  5. ステップ1で計算および保管した疎ディメンションの横にあるEssbase.Stats.CalcCacheシートで「計算キャッシュ」設定を見つけます。

  6. ステップ1で1つのディメンションを計算した場合、計算機キャッシュはその値にデフォルト設定されます。ステップ1で複数のディメンションを計算した場合、計算した値から最も高い「計算キャッシュ」値を選択します。

    Cube.Settingsワークシートの「アプリケーション設定」セクションにこの値を追加します。または、Essbase Webインタフェースのアプリケーション構成設定に値を設定します。余裕を持たせるために切り上げることをお薦めします。

ハイブリッド・モード・キューブでのデータ分散の最適化

キューブ・デザイナのデータ分散ユーティリティを使用すると、Essbaseアプリケーション内のデータを把握でき、キューブの最適化方法に関する重要な決定を行うことができます。

データを把握すると、次を判定できます:

  • どのディメンションを密にして、どのディメンションを疎にするか。

    密ディメンションでは、ブロック・ストレージ・アプリケーションのブロックを定義します。ブロックにはデータが最も多いディメンションが含まれていて、そのアプリケーションの主な問合せレイアウトを表していることが理想です。財務レポート・アプリケーションの場合、通常、これは時間ディメンションおよび勘定科目ディメンションが密であるということです。

  • 計算スクリプトを使用してどのディメンションを計算および保管するか。

    問合せのパフォーマンスに影響する要因の1つは、問合せでリクエストされるブロックの数です。リクエストされるブロック数が大きすぎる場合、問合せのパフォーマンスが低下します。リクエストされるブロック数を減らすには、1つ以上の疎ディメンションの上位レベルのメンバーを事前に計算します。最初に、上位メンバーのディメンション・ストレージ属性を保管済属性(「保管」または「共有しない」)に設定し、CALC DIMまたはAGGを使用してそのディメンションを集約する計算スクリプトを実行します。

  • FIXPARALLELコマンドでタスク・ディメンションとして、どのディメンションを使用するか。

    保管済の疎ディメンションを集約するために使用する計算スクリプトを最適化するには、FIXPARALLELコマンドを使用します。適切なタスク・ディメンションを選択することが重要です。タスク・ディメンションは、どのように計算をスレッドに分割して、並列して実行するかを判定するものです。1つ以上の疎ディメンションに、空のタスクを減らすために最も多くのデータが含まれている必要があり、データが均等に分散されていることが理想です。

データ分散ユーティリティを実行するには:

  1. キューブ・デザイナ「管理タスク」「キューブの最適化」の順に選択します。

  2. 「データ分散」を選択します。

    この処理は、特に大きなモデルの場合、実行に時間がかかることがあります。

  3. Essbase.Stats.DataDistワークシートを表示します。


データ分散統計が表示されたキューブの最適化ワークブックのEssbase.Stats.DataDistタブのイメージ。


ブロックおよびブロック当たりのセルが表示されたキューブの最適化ワークブックのEssbase.Stats.DataDistタブのイメージ。