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

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

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

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

ベースライン・ユーティリティでトラッキングされたメトリックでは、システムの実行状況が表示されます。これらのメトリックを使用してベースライン・パフォーマンスを判定し、ユーザーが行ったその後の最適化の効果を測定します。

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

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

ベースライン・ユーティリティではアプリケーションおよび運用プロセスのダッシュボードを作成します。これはキューブの設計および最適化に役立ちます。変更を実装してキューブを再構築すると、ベースラインにより、キューブに繰り返し行った変更を比較できます。アプリケーション・ワークブックの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番目の表のイメージ。

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

解決順ユーティリティでは、アプリケーションで使用される解決順フローの視覚的な表現を提供します。これは、式に関する問合せのパフォーマンスの問題に診断に役立ちます。

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

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

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

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

計算キャッシュ・ユーティリティでは、キューブに最適な計算機のキャッシュ設定をお薦めしています。

計算機の適切なキャッシュ設定を使用すると、計算スクリプトで疎ディメンションの計算時に重要なパフォーマンスを改善できます。疎ディメンション全体の計算は、問合せに必要なブロック数を減らすための技術です。

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

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

計算キャッシュ・ユーティリティを使用して計算機のキャッシュを最適化するには:
  1. 問合せでリクエストされるデータ量を減らすために、計算スクリプトを使用して1つ以上のディメンションを計算および保管します。

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

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

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

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

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

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

    ユーティリティでは、20MBまでの各ディメンションの横に適切なキャッシュ設定が表示されます。20MBを超えると、「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インタフェースのアプリケーション構成設定の値を設定します。余裕を持たせるために切り上げることをお薦めします。

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

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

データを把握すると、次を判定できます。
  • どのディメンションを密にして、どのディメンションを疎にするか。

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

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

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

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

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

データ分散ユーティリティを実行するには:
  1. キューブ・デザイナ・リボンで、「管理タスク」「キューブの最適化」の順に選択します。
  2. 「データ分散」を選択します。

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

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

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


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