Diseño para rendimiento de cálculo

Para optimizar el rendimiento del cálculo de un cubo de almacenamiento de bloques de Essbase, tenga en cuenta el impacto del tamaño y la densidad del bloque de datos, la eficacia de las fórmulas y los scripts de cálculo y las formas de ajustar las características del esquema (como el orden de las dimensiones dispersas, el uso de los niveles y la dimensión Time).

Puede configurar una base de datos para optimizar el rendimiento del cálculo.

La mejor configuración para el sitio depende de la naturaleza y el tamaño de la base de datos. Use la información que se incluye en los siguientes temas únicamente como directrices.

Tamaño de bloque y densidad de bloque

Para que los cubos de almacenamiento de bloques de Essbase tengan un rendimiento de cálculo óptimo, aprenda cómo el tamaño y la densidad de bloques de datos pueden afectar al rendimiento y al almacenamiento. Revise las estadísticas de bloque mediante la interfaz web de Essbase o MaxL.

Un tamaño de bloque de datos de 8 Kb a 100 Kb proporciona un rendimiento óptimo en la mayoría de los casos.

Si los bloques de datos son mucho más pequeños que 8 KB, el índice suele ser muy grande, lo que obliga a Essbase a escribir y recuperar el índice del disco. Este proceso ralentiza el cálculo.

Si los bloques de datos superan los 100 KB, el cálculo inteligente no funciona de forma eficaz. Consulte Cálculo inteligente para cubos de almacenamiento de bloques.

Para optimizar los cálculos de rendimiento y almacenamiento de datos, puede que necesite equilibrar la densidad de bloques de datos y su tamaño reorganizando la configuración de dimensiones densas y ligeras de la base. Tenga en cuenta estas sugerencias:

  • Mantenga el tamaño del bloque de datos entre 8 KB y 100 KB con la mayor densidad de bloques posible.

  • Ejecutar cálculos de prueba de las configuraciones más prometedoras de un cubo que contiene datos representativos. Compruebe los resultados para determinar la configuración que produce el mejor rendimiento de cálculo.

  • Considere el uso del modo híbrido. En un cubo de modo híbrido, puede personalizar fácilmente el orden de resolución en lugar de reorganizar el orden dimensional.

Vea información sobre un cubo, incluido el número real y potencial de bloques de datos y el tamaño del bloque de datos, mediante la interfaz web de Essbase o MaxL.


Las estadísticas de almacenamiento de un cubo están disponibles en Storage > Statistics. La imagen muestra algunas de estas estadísticas para el cubo Sample Basic, que incluyen: Número de bloques existentes 374, Tamaño de bloque (B) 2,112, Bloques de nivel 0 existentes 177 y más.

La sentencia equivalente para ver estadísticas de bloques mediante MaxL es:

query database appname.dbname get dbstats data_block;

Orden de dimensiones dispersas

En los cubos de almacenamiento de bloques de Essbase, el rendimiento del cálculo se puede mejorar colocando las dimensiones ligeras más pequeñas en primer lugar en el orden del esquema.

También puede utilizar el modo híbrido. En un cubo de modo híbrido, puede personalizar fácilmente el orden de resolución en lugar de reorganizar el orden dimensional.

Puede mejorar el rendimiento del cálculo cambiando el orden de las dimensiones ligeras estándar (no de atributo) en el esquema. Ordene las dimensiones dispersas estándar por el número de miembros que contienen, colocando primero la dimensión que contiene el menor número de miembros. Esta disposición puede mejorar:

  • La función de la caché de calculadora puede tener una mejora de rendimiento de ~10% para un esquema con una dimensión grande (por ejemplo, uno que contiene 1000 miembros).

  • Si se activa el cálculo paralelo, es más probable que se utilice si la dimensión dispersa estándar con más miembros es la última dimensión dispersa estándar del esquema.

Cubos cargados incrementalmente

Para los cubos de almacenamiento de bloques de Essbase que se cargan incrementalmente (periódicamente) con datos, el rendimiento del cálculo se puede mejorar haciendo que la dimensión Time esté dispersa en el esquema.

Muchas empresas cargan datos de forma incremental. Por ejemplo, una compañía puede cargar datos cada mes para ese mes.

Para optimizar el rendimiento del cálculo al cargar datos de forma incremental, convierta la dimensión etiquetada como tiempo en una dimensión ligera. Si la dimensión de tiempo es ligera, la base de datos contiene un bloque de datos para cada período de tiempo. Al cargar datos por período de tiempo, Essbase accede a menos bloques de datos porque menos bloques contienen el período de tiempo relevante. Por lo tanto, si tiene activado el cálculo inteligente, solo se recalculan los bloques de datos marcados como sucios. Por ejemplo, si carga datos para marzo, sólo se actualizarán los bloques de datos para marzo y los padres dependientes de marzo.

Sin embargo, hacer que la dimensión de tiempo esté dispersa cuando es naturalmente densa puede aumentar significativamente el tamaño del índice, creando un rendimiento posiblemente más lento debido a una mayor actividad de E/S física para acomodar el índice grande.

Si la dimensión etiquetada como tiempo es densa, seguirá disfrutando de algunas ventajas de Intelligent Calculation cuando realice una carga de datos parcial para una dimensión ligera. Por ejemplo, si Product es disperso y carga datos para un producto, Essbase vuelve a calcular sólo los bloques afectados por la carga parcial, aunque el tiempo es denso y Intelligent Calculation está activado.

Esquemas con varias dimensiones planas

Para los cubos de almacenamiento de bloques de Essbase que tienen miles de miembros en dimensiones planas, el rendimiento del cálculo se puede mejorar agregando niveles en el esquema.

El rendimiento del cálculo puede verse afectado si un esquema de cubo tiene varias dimensiones planas. Una dimensión plana tiene muy pocos padres, y cada padre tiene muchos miles de hijos; en otras palabras, las dimensiones planas tienen muchos miembros y pocos niveles.

Puede mejorar el rendimiento de los esquemas con varias dimensiones planas agregando niveles intermedios al esquema.

Fórmulas y scripts de cálculo

Para optimizar scripts de cálculo y fórmulas para cubos de almacenamiento de bloques, tome medidas para reducir el número de ciclos que realiza Essbase a través de bloques de datos.

Puede lograr mejoras significativas en el rendimiento del cálculo agrupando cuidadosamente fórmulas y dimensiones en un script de cálculo. De esta forma, puede asegurarse de que Essbase pase por los bloques de datos del cubo el menor número de veces posible durante un cálculo.

Ordene los comandos en los scripts de cálculo para que el cálculo de la base de datos sea lo más sencillo posible. Considere la posibilidad de aplicar todas las fórmulas al esquema y utilizar un cálculo predeterminado (CALC ALL).

Consulte Desarrollo de scripts de cálculo para cubos de almacenamiento de bloques y Pasos de cálculo.