集約ストレージ・アウトラインに関する設計上の考慮事項

このトピックでは、Essbase集約ストレージ(ASO)キューブのアウトラインを設計する際の主な設計上の考慮事項を示します。問合せの実行方法は、アウトラインの計画方法と大きく関係します。格納階層、動的階層または代替階層(属性ディメンションおよび共有メンバー)として実装する階層を検討する場合は、ここで推奨事項を使用します。

設計推奨事項の実装例は、ギャラリにあるASOsamp.Basicキューブを参照してください。

ASOアウトラインの設計

集約ストレージ・アウトラインを設計する際は、次の情報について考慮してください:

  • 可能なかぎり(動的階層ではなく)保管階層を使用します。

  • 共有メンバーは、必要な場合にのみ使用します。

  • 階層の数を最小限にします。(たとえば、保管階層を追加するたびにビューの選択が遅くなり、集約データのサイズが大きくなる可能性があります)。

  • 階層が最初の階層の小さいサブセットの場合は、その小さい階層を動的階層にすることを検討してください。考慮事項には、階層データが問合せされる頻度と、その階層データが取得時に動的に問合せされる際の問合せパフォーマンスの影響があります。

  • 属性のパフォーマンスは保管階層のメンバーの場合と同じです。

  • 基本メンバーに対する属性の関連付けレベルが高いほど、問合せの取得が速くなります。

属性ディメンションおよびASOキューブ

このトピックでは、属性に関しての集約ストレージとブロック・ストレージのキューブの違いに関する情報を提供します。このトピックの情報を利用するには、ブロック・ストレージの属性の概念をよく理解している必要があります。Essbase属性の操作を参照してください。

次の情報は、集約ストレージ・キューブで使用される属性ディメンションに適用されます。

  • 属性ディメンションで使用できるのは加算(+)集計演算子です。

  • 指定された属性ディメンションのすべての関連付けの対象は、基本ディメンションの1つのレベルである必要があります。たとえば、ASOsamp.Basicキューブでは、Store Manager属性ディメンションの関連付けの対象はStoreディメンションのレベル0です。属性アソシエーションには、次の制限が適用されます。

    • レベル0: 式を持たない動的階層または保管階層のレベル0の任意のメンバーに、属性を関連付けることができます。

    • レベル0以外: プライマリ保管階層の上位レベル・メンバーのみに属性を関連付けることができます。

属性ディメンションには階層タイプはありません。属性ディメンションは、動的階層としても、保管階層としても指定できません。Essbaseでは、属性ディメンションは基本ディメンションの保管代替階層として処理されます。たとえば、ASOsamp.BasicデータベースのEssbaseでは、Store Manager属性ディメンションは、Store ManagerディメンションがStoreディメンションの保管代替階層である場合と同様に処理されます。

問合せトラッキングが有効な場合、Essbaseは属性ディメンション・データに対する問合せを考慮し、集約ビュー選択に属性ディメンション・メンバーを含めることができます。「使用状況に基づくビューの選択」を参照してください。

ノート:

レベル0以外のメンバーと関連付けられている属性ディメンションに対する問合せでは、レベル0以外のメンバーの子孫の値が戻されます。集約ストレージ・キューブの属性メンバーでの問合せのこの動作は、ブロック・ストレージ・キューブでの動作とは異なります。

ASOキューブに対する属性問合せ

属性の問合せデータに基づいてビューを選択および構築するときに、属性データに対する一部の問合せは、取得時に常に動的に計算されるため、問合せパフォーマンスに影響を与える場合があります。

属性ディメンション・メンバーを含むすべての問合せには、基本ディメンションのメンバーを少なくとも1つ含める必要もあります。問合せに単一の属性ディメンションとディメンションの合計メンバーが含まれている場合は、Essbaseによって、その問合せデータが集約されるため、問合せパフォーマンスが向上する可能性があります。その他の場合は、Essbaseによって取得時に問合せが計算される必要があります。

次の表で、属性問合せのタイプと、Essbaseでの問合せの計算方法を説明します。

表36-2属性問合せと計算のパフォーマンス

属性問合せのタイプ 問合せ計算のタイプ

問合せに、基本ディメンションの合計メンバーと1つの属性ディメンションのメンバーが含まれます。

Essbaseで問合せデータを集約できるため、問合せパフォーマンスが向上する可能性があります。

問合せに、基本ディメンションの任意のメンバーと複数の属性ディメンションのメンバーが含まれます。

Essbaseで、レベル0の入力データに基づいて、問合せの取得時に計算されます。

問合せに、基本ディメンション・メンバー(またはラベルのみとしてタグ付けされたディメンション・メンバー)の子メンバーと1つの属性ディメンションのメンバーが含まれます。

Essbaseで、レベル0の入力データ、または基本ディメンションの集約からのデータに基づいて、問合せが取得時に計算されます。

次のアウトラインの図では、RealDimensionはその子孫すべての合計です(ラベルのみとしてタグ付けされていません)。問合せに単一の属性ディメンション(たとえば、AttributeDimension1)の1つ以上のメンバーが含まれ、それが基本ディメンション・メンバー(RealDimension)と交差している場合は、Essbaseでそのデータの集約セルを構築できるため、問合せパフォーマンスが向上する可能性があります。

ただし、次の問合せは常に取得時に計算されます。

  • 属性ディメンション(AttributeDimension1など)のメンバーとRealDimensionの子のデータを要求する問合せは、レベル0の入力データまたは集約からのデータに基づいて、取得時に動的に計算されます。

  • 複数の属性ディメンション(AttributeDimension1とAttributeDimension2など)と基本メンバー・ディメンション(RealDimensionなど)のデータを要求するすべての問合せは、レベル0の入力データに基づいて、取得時に動的に計算されます。

    図36-4属性問合せの例のアウトライン


    このイメージは、イメージの前のテキストで説明されている、属性問合せの例として使用されるアウトラインを示しています。

属性問合せと複数の階層

複数の階層があるディメンションのデータを問い合せる場合は、次の方法でデータを問い合せると問合せパフォーマンスが向上する場合があります。

  1. 問い合せる階層を選択します。

  2. 詳細なデータを探すために移動します(たとえば、Smart Viewで階層をズームインします)。

動的階層のメンバーと保管階層のメンバーを同じ問合せに含めると、大量の内部メモリー・キャッシュが必要になって、問合せパフォーマンスが低下する可能性があります。