ASO圧縮情報の取得
/essbase/rest/v1/applications/{applicationName}/databases/{databaseName}/settings/compressioninfo
異なるディメンションが圧縮ディメンションとして仮定的に使用されている場合に、ASOキューブの推定圧縮情報を返します。これらの推定は、圧縮ディメンションとして使用する最適なディメンションを選択するのに役立ちます。
問合せパラメータfetch=true
を含めると、このAPIは、キューブ全体をASO圧縮の観点から評価する内部システム・ジョブを開始します。ジョブの進行状況をモニターするには、「ジョブ・リストの取得」を使用します。ジョブ・タイプはASO圧縮情報としてリストされ、ジョブには圧縮情報が格納されます。このジョブは再実行できません。fetch=true
パラメータを指定せずにこのAPIを呼び出すと、格納されたシステム・ジョブから結果が取得されます。ASO圧縮情報のキューブを再評価するには、fetch=true
を使用してAPIを再度呼び出します。
列名 | 説明 |
---|---|
dimensionName | 仮定的に圧縮ディメンションとして考慮される、キューブ内の各ディメンション名。 |
isCompression | ディメンションがASO圧縮ディメンションかどうかを示します。1つのASOキューブ内に存在できる圧縮ディメンションは1つのみです。 |
storedLevel0Members | ディメンション内のリーフレベル・メンバーの数。ディメンション内に保管済レベル0メンバーが多数ある場合は、圧縮ディメンションとして十分に機能しない可能性があります。 |
averageBundleFill | 圧縮ディメンション・バンドル当たりの見積り平均値数バンドル当たりの値の平均数が大きい圧縮ディメンションを選ぶほど、キューブの圧縮率が高くなります。 |
averageValueLength | 値の保管に必要な見積り平均バイト数。値保管に必要なバイト数の平均が小さいディメンションほど、キューブの圧縮率が高くなります。 |
level0MB | 圧縮済キューブのサイズの推定値(MB単位)。予想されるレベル0のサイズが小さいほど、このディメンションを選択すると圧縮が向上します。 圧縮ディメンションがない(圧縮ディメンションなし)シナリオを除き、すべての見積りでは、すべてのページが圧縮されているとみなされます。圧縮されたページには、圧縮されていないページには必要ない追加のオーバーヘッドが必要になるため、一部のディメンションの推定レベル0キューブ・サイズは、圧縮ディメンションなしの値より大きい場合があります。 |
リクエスト
- applicationName(required): string
アプリケーション名。
- databaseName(required): string
データベース(キューブ)名。
- fetch: boolean
圧縮情報を再評価する必要がある場合は、fetchパラメータをtrueに設定します。デフォルト値はfalseです。
デフォルト値:false
レスポンス
- application/json
- application/xml
200 レスポンス
OK
圧縮情報を正常に取得しました。
object
- appName: string
- artifactType: integer(int32)
- averageBundleFill: number(double)
圧縮ディメンション・バンドル当たりの見積り平均値数バンドル当たりの値の平均数が大きい圧縮ディメンションを選ぶほど、キューブの圧縮率が高くなります。
- averageValueLength: number(double)
値の保管に必要な見積り平均バイト数。値保管に必要なバイト数の平均が小さいディメンションほど、キューブの圧縮率が高くなります。
- dbName: string
- dimensionName: string
仮定的に圧縮ディメンションとして考慮される、キューブ内の各ディメンション名。
- isCompression: boolean
ディメンションがASO圧縮ディメンションかどうかを示します。1つのASOキューブ内に存在できる圧縮ディメンションは1つのみです。
- level0MB: number(double)
圧縮済キューブのサイズの推定値(MB単位)。予想されるレベル0のサイズが小さいほど、このディメンションを選択すると圧縮が向上します。
圧縮ディメンションがない(なし)シナリオを除き、すべての見積りでは、すべてのページが圧縮されているとみなされます。圧縮されたページには、圧縮されていないページには必要ない追加のオーバーヘッドが必要になるため、一部のディメンションの推定レベル0キューブ・サイズは、なしの値より大きい場合があります。 - locked: boolean
- lockedByUser: string
- name: string
- nodeName: string
- storedLevel0Members: number(double)
ディメンション内のリーフレベル・メンバーの数。ディメンション内に保管済レベル0メンバーが多数ある場合は、圧縮ディメンションとして十分に機能しない可能性があります。
400 レスポンス
不正なリクエスト
圧縮情報の取得に失敗しました。アプリケーション名またはデータベース名が正しくない可能性があります。
500 レスポンス
サーバーの内部エラーです。
例
次の例では、様々なディメンションが圧縮ディメンションとして仮定的に使用される場合に、Essbase集約ストレージ(ASO)キューブの推定圧縮情報を評価する方法を示します。
この例では、cURLを使用して、Windowsシェル・スクリプトからREST APIにアクセスします。呼出し元ユーザーのIDおよびパスワードは変数であり、properties.bat
内でその変数値が設定されています。
cURLコマンドを含むスクリプト(フェッチなし)
次の例では、以前に実行されたシステム・ジョブから格納された圧縮推定の詳細を取得します。
call properties.bat
curl -X GET https://myserver.example.com:9001/essbase/rest/v1/applications/ASOSamp/databases/Basic/settings/compressioninfo -H "accept:application/json" -u %User%:%Password%
レスポンス本体の例
JSON形式で返されるASO圧縮情報の例を次に示します。
{
"compressionInfo" : [ {
"dimensionName" : "<No Compression Dimension>",
"isCompression" : false,
"storedLevel0Members" : 0.0,
"averageBundleFill" : 1.0,
"averageValueLength" : 8.0,
"level0MB" : 19.071334838867188,
"aft" : 0,
"lck" : false
}, {
"dimensionName" : "Measures",
"isCompression" : true,
"storedLevel0Members" : 5.0,
"averageBundleFill" : 4.011231448054553,
"averageValueLength" : 2.418,
"level0MB" : 6.448018309020995,
"aft" : 0,
"lck" : false
}, {
"dimensionName" : "Years",
"isCompression" : false,
"storedLevel0Members" : 2.0,
"averageBundleFill" : 1.0060362173038229,
"averageValueLength" : 2.22,
"level0MB" : 16.863827831268313,
"aft" : 0,
"lck" : false
}, {
"dimensionName" : "Time",
"isCompression" : false,
"storedLevel0Members" : 12.0,
"averageBundleFill" : 1.0836081053886284,
"averageValueLength" : 2.23,
"level0MB" : 15.857951142338342,
"aft" : 0,
"lck" : false
}, {
"dimensionName" : "Transaction Type",
"isCompression" : false,
"storedLevel0Members" : 3.0,
"averageBundleFill" : 1.002004008016032,
"averageValueLength" : 2.22,
"level0MB" : 16.921041835784912,
"aft" : 0,
"lck" : false
}, {
"dimensionName" : "Payment Type",
"isCompression" : false,
"storedLevel0Members" : 4.0,
"averageBundleFill" : 1.0111223458038423,
"averageValueLength" : 2.22,
"level0MB" : 16.79231032562256,
"aft" : 0,
"lck" : false
}, {
"dimensionName" : "Promotions",
"isCompression" : false,
"storedLevel0Members" : 5.0,
"averageBundleFill" : 1.0015022533800702,
"averageValueLength" : 2.22,
"level0MB" : 16.928193586349487,
"aft" : 0,
"lck" : false
}, {
"dimensionName" : "Age",
"isCompression" : false,
"storedLevel0Members" : 9.0,
"averageBundleFill" : 1.0167768174885612,
"averageValueLength" : 2.22,
"level0MB" : 16.713641069412233,
"aft" : 0,
"lck" : false
}, {
"dimensionName" : "Income Level",
"isCompression" : false,
"storedLevel0Members" : 6.0,
"averageBundleFill" : 1.010611419909045,
"averageValueLength" : 2.22,
"level0MB" : 16.799462076187133,
"aft" : 0,
"lck" : false
}, {
"dimensionName" : "Products",
"isCompression" : false,
"storedLevel0Members" : 25.0,
"averageBundleFill" : 1.0429341213280028,
"averageValueLength" : 2.232,
"level0MB" : 16.375124876022337,
"aft" : 0,
"lck" : false
}, {
"dimensionName" : "Stores",
"isCompression" : false,
"storedLevel0Members" : 239.0,
"averageBundleFill" : 1.0,
"averageValueLength" : 2.22,
"level0MB" : 16.949648838043213,
"aft" : 0,
"lck" : false
}, {
"dimensionName" : "Geography",
"isCompression" : false,
"storedLevel0Members" : 9398.0,
"averageBundleFill" : 1.0310164103445314,
"averageValueLength" : 2.23,
"level0MB" : 16.531271430015565,
"aft" : 0,
"lck" : false
} ]
}
cURLコマンドを含むスクリプト(フェッチあり)
次の例では、キューブ全体をASO圧縮の観点から評価する内部システム・ジョブを開始します。
call properties.bat
curl -X GET "https://myserver.example.com:9001/essbase/rest/v1/applications/ASOSamp/databases/Basic/settings/compressioninfo?fetch=true" -H "accept:application/json" -u %User%:%Password%
レスポンス本体の例
レスポンスは、ジョブ番号を含むメッセージです。圧縮情報を表示するには、最初の例のように、?fetch=true
なしでAPIを再度発行します。
{
"message" : "Compression information job 199 is in progress."
}