データソースの最小化
Essbaseブロック・ストレージ・データ・ロードのパフォーマンスを向上させるために、ソース・データを可能なかぎり小さくし、様々な範囲にグループ化して冗長性を取り除くことができます。
データソースを可能なかぎり小さくします。データソース内の、Essbaseで読み取るフィールドが少ないほど、データの読取りとロードに必要な時間が少なくなります。
データを範囲別にグループ化します。データソース内の冗長性をなくすと、データ値のロード前にEssbaseで読み取る必要のあるフィールドの数が減ります。
次の例のデータソースは、範囲別に編成されていません。これには、フィールドの不要な繰返しが含まれています。値はすべてProfitの値です。Profitは、該当するデータのグループの最初のみに含める必要があります。この例には、データ値を適切にロードするためにEssbaseで読み取る必要のある、33個のフィールドが含まれています。
Profit
Jan "New York" Cola 4
Jan "New York" "Diet Cola" 3
Jan Ohio Cola 8
Jan Ohio "Diet Cola" 7
Feb "New York" Cola 6
Feb "New York" "Diet Cola" 8
Feb Ohio Cola 7
Feb Ohio "Diet Cola" 9
次の例では、同じデータが、メンバーを範囲別にグループ化することによって最適化されています。冗長性をなくすことによって、この例では、データ値を適切にロードするためにEssbaseで読み取る必要のあるフィールドが、23個のみになっています。
Profit
Jan "New York" Cola 4
"Diet Cola" 3
Ohio Cola 8
"Diet Cola" 7
Feb "New York" Cola 6
"Diet Cola" 8
Ohio Cola 7
"Diet Cola" 9
Essbaseによって、最初の値4がJan->New York->Colaに、次の値3がJan->New York->Diet Colaに、などと割り当てられます。
効率的にソートされてはいますが、密ディメンションごとにソートされてグループ化されたデータソースは、ロード・プロセスの速度を遅くする可能性のある多数の繰返しを示しています。このデータは、データを範囲別にグループ化することで、さらに最適化できます。次のような最適化されたデータソースでは、冗長なフィールドがなくなり、処理時間が短縮されます。
Sales Margin COG Profit
Jan Actual Cola Ohio 25 18 20 5
Florida 30 19 20 10
"Root Beer" Ohio 18 12 10 8
Florida 28 18 20 8