Acelerando las consultas en un cubo de información

Una consulta frecuente es: ¿Cómo aceleramos la respuesta a las consultas hechas a un cubo de información sin recurrir al aumento de hardware? Para ello debemos conocer que un cubo de información es capaz de almacenar dos tipos de datos: detallados y resumidos, este segundo tipo de dato es el que nos va a permitir acelerar las respuestas a las consultas OLAP (On Line Analytical Processing ó Procesamiento Analítico en Línea)

En Analysis Services estos datos resumidos son llamados Agregaciones, que son estructuras que contienen datos sumarizados, pre-calculados listos para dar respuestas rápidas a las solicitudes de información. En esta nueva versión de SQL Server 2008 R2, se ha añadido una nueva pestaña en el Cube Editor, exclusivamente para la creación de agregaciones.

Pasemos a revisar cómo se construyen estos datos resumidos:

En la siguiente imagen se muestra la pantalla de agregaciones y como podemos ver, por defecto nuestros cubos tienen 0 agregaciones. Nada eficiente en realidad, ya que siempre se realizará un barrido completo del cubo (Cube Scan).

image

Procedamos a crear las agregaciones para este cubo. Damos clic derecho sobre el grupo de medidas Fact Reseller Sales y seleccionamos la opción Desing Aggregations:

image

Le damos Next a la pantalla de bienvenida:

image

Luego se muestra la pantalla de Dimensiones y Atributos que formaran parte de las agregaciones. Dejamos los valores por default, y le damos Next:

image

La siguiente pantalla nos permitirá calcular la cantidad de datos a nivel de dimensión y celda de los cubos. Para crear posteriormente las agregaciones, le damos clic en el botón Count y luego Next:

image

En la siguiente pantalla configuramos las opciones de agregaciones. Esta puede ser por almacenamiento en disco o por porcentaje de desempeño. Con un 30% de porcentaje de desempeño es suficiente para lograr nuestro objetivo de acelerar nuestro cubo de información. Luego le damos clic en el botón Start y Next:

image

Como se puede observar, se han creado 13 agregaciones, ocupando un espacio de 689.7 Kb, con una optimización de 31%:

image

A continuación le damos un nombre a la agregación y le damos clic en Finish:

image

Como último paso desplegamos (Deploy) el proyecto para reflejar las agregaciones en el cubo:

image

image

Nuestro objetivo finalmente, de acelerar las consultas en nuestro cubo de información, ha sido alcanzado con estos pocos pasos.

Nos vemos hasta el siguiente post.

Nicolás

 

Recursos:

Base de Datos de Ejemplo:

http://msftdbprodsamples.codeplex.com/releases/view/55926

Fuentes del Proyecto:

dblearner.rar

Deja un comentario

Tu dirección de correo electrónico no será publicada.