COMPRESSION DIMENSION / DIMENSIÓN DE COMPRESIÓN

English (Español a continuación)

Compression dimension:

  • Allows to reduce the size of the database, improving its efficiency (it can have a significant impact).
    • A reduction in the size of the database, sometimes greater than 50%, can be achieved.
  • It’s optional:
    • It is not mandatory to select a compression dimension.
    • There can only be one compression dimension.
  • A balance must be found between the size of the database and the query time:
    • The compression dimension reduces the size of the database, positively affecting its efficiency, but since it must be a dynamic dimension, it can negatively affect query times.

By default, Essbase selects the dimension type “Account” as the compression dimension, but it can be changed. The compression dimension must meet the following characteristics:

  • Must be a dynamic dimension: if a stored dimension is selected as a compression dimension, it automatically becomes a dynamic dimension.
  • It cannot be an attribute dimension.
  • It cannot contain base members associated with attributes.

Essbase provides information to select the optimal compression dimension.

  • Click with the right button on the database and select “Edit / Properties”. In the window that opens select “Compression”.

This table provides the following information for each dimension:

  • Number of storage level 0 members.
    • Dimensions with many members of level 0 are not good candidates for compression since they become dynamic (the higher levels are calculated at the time of the query, which slows them down).
  • Average bundle size (average number of values ​​stored in a group):
    • The one whose values ​​are grouped in consecutive members is better as a compression dimension than the one whose values ​​are dispersed among its members with many missing values ​​between them.
    • Essbase provides for each dimension how many members contain values ​​in an average sample of 16 members. This ratio can take values ​​between 1 and 16, with 16 being the optimal value (meaning that all members of that average sample have values).
  • Average length: this indicator provides information on the average size in storage required by the values ​​stored in a cell. It can take values ​​between 2 and 8 bytes; the smaller the value the better (without compression the data stored in a cell requires 8 bytes).
    • Dimensions with less average length compress better.
    • Limiting the number of decimal places in the values ​​facilitates compression (try to store only the necessary decimal places in the database: for example, if we are only going to need 3 decimal places, the data should be loaded with 3 decimal places and no more).
  • Size in MB of the level 0 members of the database if this dimension is used for compression.
    • The one that makes the database size smaller should be selected.

These statistics also provide the same information for the case where no compression dimension is selected.

This statistical information can also be requested through Maxl:

  • query database “Database name” list aggregate_storage compression_info;

At any time, you can change the compression dimension:

  • Right-click on the database and select “Select compression dimension”.
  • Select the chosen dimension and validate.
  • The selected dimension becomes dynamic. When the compression dimension is changed the database is restructured.

You can also select the compression dimension by right-clicking on the specific dimension, selecting «Edit member properties», and in the window that opens select «True» in the «Compression» option.

Some observations:

  • The ideal dimension for compression is the column header of the load file (the time dimension is an excellent candidate).

Español

La dimensión de compresión:

  • Permite reducir el tamaño de la base de datos, mejorando su eficiencia (puede tener un impacto significativo).
    • Se puede conseguir una reducción del tamaño de la base a veces superior al 50%.
  • Es opcional:
    • No es obligatorio seleccionar una dimensión de compresión.
    • Tan sólo puede haber una dimensión de compresión.
  • Hay que buscar un equilibrio entre el tamaño de la base y el tiempo de consulta:
    • La dimensión de compresión reduce el tamaño de la base, afectando positivamente a su eficiencia, pero como debe ser una dimensión dinámica puede afectar negativamente a los tiempos de consulta.

Por defecto Essbase selecciona la dimensión con el tipo “Cuenta” como dimensión de compresión, pero se puede modificar. La dimensión de compresión debe cumplir las siguientes características:

  • Debe ser una dimensión dinámica: si se selecciona como dimensión de compresión una dimensión almacenada ésta se convierte automáticamente en dimensión dinámica.
  • No puede ser una dimensión atributo.
  • No puede contener miembros bases asociados a atributos.

Essbase facilita información para seleccionar la dimensión de compresión óptima.

  • Se hace click con el botón derecho sobre la base de datos y se selecciona “Editar / Propiedades”. En la ventana que se abre se selecciona “Compresión”.

Este cuadro facilita para cada dimensión la siguiente información:

  • Número de miembros de nivel 0 de almacenamiento.
    • Las dimensiones con muchos miembros de nivel 0 no son buenas candidatas para la compresión ya que al convertirse en dinámica los niveles superiores se calculan en el momento de la consulta con lo que estas se ralentizan.
  • Tamaño medio del Bundle (número promedio de valores almacenados en un grupo): 
    • Es mejor como dimensión de compresión aquella cuyos valores están agrupados en miembros consecutivos versus aquella otra cuyos valores están dispersos entre sus miembros con muchos valores missings entre ellos.
    • Essbase facilita para cada dimensión cuantos miembros contienen valores en una muestra media de 16 miembros. Este ratio puede tomar valores entre 1 y 16, siendo 16 el valor óptimo (significa que todos los miembros de esa muestra media tienen valores).
  • Longitud media: este indicador facilita información sobre el tamaño medio en almacenamiento requerido por los valores almacenados en una celda. Puede tomar valores entre 2 y 8 bytes; mientras más pequeño sea el valor mejor (sin compresión el dato almacenado en una celda requiere 8 bytes).
    • Las dimensiones con menor longitud media comprimen mejor.
    • Limitar el número de decimales de los valores facilita la compresión (hay que tratar de almacenar en la base sólo los decimales necesarios: por ejemplo, si tan sólo vamos a necesitar 3 decimales los datos se deben cargar con 3 decimales y no más).
  • Tamaño en MB de los miembros de nivel 0 de la base si esta dimensión se utiliza para la compresión.
    • Se debe seleccionar aquella que haga menor el tamaño de la base.

Estas estadísticas también facilitan esta misma información para el caso en el que no se seleccione ninguna dimensión de compresión.

Esta información estadística también se puede solicitar mediante Maxl:

  • query database “Nombre base” list aggregate_storage compression_info;

En cualquier momento se puede cambiar la dimensión de compresión:

  • Hacer click con el botón derecho sobre la base de datos y seleccionar “Seleccionar dimensión de compresión”.
  • Se selecciona la dimensión elegida y se hace click en “Aceptar”.
  • La dimensión seleccionada se convierte en dinámica. Cuando se cambia la dimensión de compresión se produce una reestructuración de la base.

También se puede seleccionar la dimensión de compresión haciendo click con el botón derecho sobre la dimensión concreta, se selecciona “Editar propiedades de miembros”, y en la ventana que se abre en la opción “Compresión” se selecciona “True”.

Algunas observaciones:

  • La dimensión ideal para la compresión es la de la cabecera de las columnas del fichero de carga (la dimensión tiempo es una excelente candidata).