Get ASO Compression Info

get

/essbase/rest/v1/applications/{applicationName}/databases/{databaseName}/settings/compressioninfo

Returns estimated compression information for the ASO cube when different dimensions are hypothetically used as the compression dimension. These estimates can help you choose the best dimension to use as the compression dimension.

If you include query parameter fetch=true, this API initiates an internal system job which evaluates the whole cube in terms of ASO compression. To monitor the job progress, you can use Get Job List. The job type is listed as ASO Compression information, and the job stores the compression information. This job is not available to rerun. When any user calls this API without the fetch=true parameter, the result is retrieved from the stored system job. To re-evaluate the cube for ASO compression information, call the API again with fetch=true.


Column NameDescription
dimensionNameEach dimension name in the cube, hypothetically considered to be the compression dimension.
isCompressionIndicates whether the dimension is the ASO compression dimension. There can be only one compression dimension in an ASO cube.
storedLevel0MembersThe number of leaf-level members in the dimension. A large number of stored level-0 members in a dimension indicates that it may not perform well as a compression dimension.
averageBundleFillEstimated average number of values per compression dimension bundle. Choosing a compression dimension that has a higher average bundle fill means that the cube compresses better.
averageValueLengthEstimated average number of bytes required to store a value. Dimensions with a smaller average value length compress the cube better.
level0MBEstimated size of the compressed cube, in megabytes. A smaller expected level-0 size indicates that choosing this dimension enables better compression.

Except for the scenario in which there is no compression dimension (No Compression Dimension), all estimates assume that all pages are compressed. As compressed pages require additional overhead that uncompressed pages do not, the estimated level-0 cube size for some dimensions may be larger than the value for No Compression Dimension.

Request

Path Parameters
Query Parameters
  • Set fetch parameter to true if you need to re-evaluate compression info. The default value is false.

    Default Value: false
Back to Top

Response

Supported Media Types

200 Response

OK

Compression info retrieved successfully.

Body ()
Root Schema : CompressionInfoOutput
Type: object
Show Source
Nested Schema : compressionInfo
Type: array
Show Source
Nested Schema : EssbaseASODbCompression
Type: object
Show Source

400 Response

Bad Request

Failed to get compression info. The application or database name may be incorrect.

500 Response

Internal Server Error.

Back to Top

Examples

The following examples show how to evaluate estimated compression information for the Essbase aggregate storage (ASO) cube when different dimensions are hypothetically used as the compression dimension.

This example uses cURL to access the REST API from a Windows shell script. The calling user's ID and password are variables whose values are set in properties.bat.

Script with cURL Command (No Fetch)

The following example retrieves stored compression estimation details from a system job that was run previously.

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%

Example of Response Body

The following is an example of ASO compression information returned in JSON format.

{
  "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
  } ]
}

Script with cURL Command (With Fetch)

The following example initiates an internal system job which evaluates the whole cube in terms of ASO compression.

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%

Example of Response Body

The response is a message with the job number. To view the compression information, issue the API again without ?fetch=true, as in the first example.

{
  "message" : "Compression information job 199 is in progress."
}
Back to Top