キューブは、同じディメンションを含むメジャーを識別する情報オブジェクトで、すべての段階(データのロード、集計、格納および問合せ)で一括処理を行う場合に使用できます。「実装の詳細」タブを使用して、データを物理的に格納する方法を決定します。
重要: キューブをマッピングした後でスパーシティ・アドバイザを実行して、次の選択に関する推奨事項を提示します。
ディメンションの順序およびスパーシティ
スパース・ディメンションを選択します。
ディメンションの順序はコンポジットにとっては重要ですが、圧縮コンポジットには影響しません。ディメンションを順序付けするには、リストで矢印キーを使用して、スパース・ディメンションを稠密ディメンションより後ろに移動します。(「スパース」ボックスを選択して)スパースと指定したすべてのディメンションは、一緒にグループ化する必要があります。
スパーシティ・アドバイザを使用しない場合は、次の基本的なガイドラインに従います。
最初に時間を表示して、データのロードおよび時間ベースの分析を迅速に処理します。通常、時間ディメンションは稠密ディメンションですが、ベース・レベルが日である場合、またはキューブに多くのディメンションがある場合、時間はスパース・ディメンションとなる場合があります。
通常のコンポジットの場合、最大値のメンバーのディメンションから最小値のメンバーのディメンションという順序でスパース・ディメンションがリスト化されます。圧縮コンポジットの場合、スパース・ディメンションは最小値のメンバーのディメンションから最大値のメンバーのディメンションという順序でリスト化されます。
スパーシティ・アドバイザを使用する場合は、データのロードまたは時間ベースの分析用に最適化は行われないことに注意してください。これらのタスク用に最適化を行う場合は、推奨を無視して、最初に時間を表示することができます。
グローバル・コンポジットの使用
圧縮されていないパーティション化されたキューブでは、コンポジットを単一(グローバル)にするか複数にするかを選択できます。このオプションにより各パーティションのコンポジットのかわりにキューブの単一コンポジットが定義されます。グローバル・コンポジットを使用して次を実行できます。
複数のコンポジット間の冗長性を排除することで、記憶域要件を低くします。
全般的なパフォーマンスを改善するために、メモリー内のコンポジット全体をロードします。
次の状況下ではグローバル・コンポジットを選択することをお薦めします。
パーティション化されたディメンションが稠密で、その他のディメンションのスパース・パターンがパーティション間で同等の場合。
集計されたコンポジットは使用可能なメモリー(50,000,000以上)を上回りません。
通常のコンポジットが使用されています。圧縮キューブはグローバル・コンポジットを使用できません。
アナリティック・ワークスペースがマルチ書込みアプリケーションをサポートしていない場合。
注意: グローバル・コンポジットでは、パーティション間のパラレル集計は行えません。アナリティック・ワークスペースのキューブ数が使用可能なプロセスよりも少ない場合は、パラレルでパーティションを集計すると、ビルドのパフォーマンスがグローバル・コンポジットよりも向上することがあります。
判断が難しい場合は、このオプションを選択しないでください。キューブは各パーティションに1つのコンポジットを持ちます。
パーティション化されていないキューブは常にキューブに対して圧縮コンポジットまたは圧縮されていないコンポジットのいずれか1つを持ちます。パーティション化された圧縮キューブは常に各パーティションに対して1つのコンポジットを持ちます。
圧縮を使用
このキューブ内のデータが極端にスパースである場合に、このオプションを選択します。極端なスパースは珍しいものではありません。
極端なスパースは通常、次のような1つ以上の要素によって起こります。
キューブに多数(7つ以上)のディメンションが含まれる。
1つのディメンションに300,000を超えるメンバーが含まれる。
2つのディメンションに、それぞれ100,000を超えるメンバーが含まれる。
ディメンション階層にはレベル間でディメンション・メンバーの数の差がほとんどない多数のレベルが含まれるため、多数の親で、複数の連続するレベルに対して1つの子孫のみが含まれる。
圧縮記憶域では使用する領域は少ないため、非常にスパースなキューブの通常のスパース記憶域より集計が高速になります。
一部の集計演算子は、すべての重み付け演算子、すべてのスケール演算子および階層の重み付け平均演算子のすべてのレベルで値が変更されるため圧縮できません。これらの演算子をキューブ内で使用する場合、圧縮可能なディメンションは集計エンジンによって圧縮されますが、キューブ全体の圧縮はできません。
キューブのデータ型
圧縮記憶域の場合、キューブ内のすべてのメジャーが同じデータ型である必要があります。通常の記憶域の場合、データ型は各メジャーに関連付けられます。選択したデータ型に応じて、次のパラメータを追加で設定できます。
精度: 最大有効桁数。
スケール: 小数点から最下位有効数字までの桁数。
サイズ: テキスト・データ型の最大長(バイト単位)
パーティション・キューブ
キューブをパーティション化する場合にこのオプションを選択します。パーティション化を行うと、大きいメジャーのパフォーマンスが向上します。5千万以上のコンポジット・タプルを持つメジャーはパーティション化してください。
ディメンション
キューブをパーティション化するためのディメンションを選択します。ディメンションには1つ以上のレベル・ベースの階層が必要です。また、そのメンバーが均等に分散され、特定のレベルのすべての親にほぼ同数の子が含まれている必要があります。
通常、時間はこれらの基準を満たしているため、時間を選択することをお薦めします。また、データは定期的にロードおよびロール・オフされるため、データ・リフレッシュ処理の一環として新しいパーティションの作成および古いパーティションの削除を行うことができます。
階層
パーティション化に使用する階層を選択します。ディメンションに複数の階層が含まれている場合は、メンバーが最も多い階層を選択します。この階層は、デフォルトの階層として定義されています。
レベル
パーティション化に使用するレベルを選択します。選択した各ディメンション・メンバーは、その子孫とともに、個別のパーティションに格納されます。上位レベルのディメンション・メンバーまたは階層内に存在しないディメンション・メンバーは、デフォルトのパーティションに一括して格納されます。デフォルトのパーティションのサイズがレベル・ベースのパーティションのサイズを超えないようにする必要があります。
過度にパーティションを作成しないように注意してレベルを選択してください。たとえば、時間ディメンションに、年レベル、四半期レベル、月レベルおよび日レベルで10年間のデータが含まれている場合は、四半期レベルでパーティション化できます。これによって、40のパーティション(四半期ごとに1つ)およびその子孫(月および日)が作成されます。年レベルの10のメンバーは、デフォルトのパーティションに一括して格納され、データの最上位ビューとして簡単に取得できます。ただし、データが非常にスパースな場合は、年レベルでパーティション化します。
パーティション化の目的は、メモリーに合うコンポジットを作成して、パフォーマンスを最適化することです。コンピュータに搭載されているメモリーを増加すると、パーティションを大きくでき、これによっても、この目的を達成することができます。
データ型および暗黙的なデータ型変換の説明は、SQLリファレンスのOracle SQLの基本要素に関する項
Copyright (C) 2003, 2007, Oracle. All rights reserved.