viernes, 5 de febrero de 2016

Conceptos básicos de Data Warehouse - Parte II. Funciones y operaciones sobre un cubo de datos


Continuando la serie que empezamos el otro día en un post anterior, seguimos con la temática acerca de Data Warehouse y Big Data.

Si ya vimos qué era un cubo de datos como un ente n-dimensional, vamos a ver ahora algunas de las operaciones frecuentes y posibilidades que nos ofrece el trabajar con estas estructuras de datos. Muchas de ellas son propias de estos modelos y otras se comparten o tienen su equivalente en la estructura tradicional de tablas en sistemas de bases de datos. Estas operaciones y funciones nos pueden ayudar a tener una idea más clara de las ventajas y posibilidades que ofrece trabajar con cubos de datos frente a tablas convencionales.

Operaciones 


De entre las operaciones que podemos realizar destacamos las siguientes:

  • Pivot: nos permite permutar filas por columnas, resultando muy útil en algunos casos para acercar la representación de los datos que estamos visualizando a un concepto entendible e intuitivo de analizar. 
  •  Slice: se trata de hacer un sesgo o subconjunto de entre una las dimensiones que forman el cubo. Se realiza sustituyendo alguna de las dimensiones por un valor fijo o estableciendo una restricción. Por ejemplo, podríamos restringir la dimensión "Localización" a uno de sus miembros en concreto.
  •  Dice: es muy parecida a la operación Slice, pero se realiza sobre dos o más dimensiones del cubo.
  •  Navigation: se trata de navegar entre distintos niveles de abstracción del cubo según interese a la operación de análisis que estamos realizando. Distinguimos:
    • Drill-down: cuando estamos añadiendo nivel de detalle a una dimensión. Por ejemplo, pasamos de estudiar en la dimensión "Localización" "países" a estudiar "ciudades".
    • Roll-up: la operación contraria, abstraeremos grupos de datos para estudiarlos en conjunto. En este caso, debemos además definir la regla según la cual realizamos la agrupación. Por ejemplo, pasaríamos de estudiar en la dimensión "Localización" "ciudades" a estudiar "países" estableciendo además qué ciudades pertenecen a cada país.

Funciones de agregación 

Además de las operaciones que hemos destacado en el punto anterior, existen funciones de agregación que agrupan medidas de las dimensiones contenidas en un mismo grupo de medida.

Determinamos la aditividad de una función de agregación como el grado en el que la medida es agregable a través de las distintas dimensiones del cubo.

Así, podemos distinguir tres categorías diferentes:
  • Aditiva: también llamada medida completamente aditiva, se trata de una medida que puede ser agregada a través de todas las dimensiones incluidas en el grupo de medida que la contiene, sin restricciones.
  • Semi-aditiva: una medida será semi-aditiva cuando pueda ser agregada a través de alguna, pero no todas, las dimensiones que están incluidas en el grupo de medida que la contiene. Por ejemplo, si nos encontráramos con un sistema que soporte una red de comercios, la cantidad de producto disponible en stock es una medida semi-aditiva, ya que puede ser agregada a través de la dimensión geográfica (por ejemplo la suma de stock de toda una región), pero no tendría sentido agregarla en la dimensión tiempo, ya que es una medida de una situación puntual en el tiempo.
  • No aditiva: llamaremos medida no aditiva a aquella que no puede ser agregada a través de ninguna dimensión a través de su grupo de medida. Estas medidas deben ser calculadas individualmente para cada celda en el cubo que la representa. Por ejemplo, una medida calculada que devuelva una relación porcentual, como un ratio de beneficios.
Y con este recopilatorio de funciones y operaciones terminamos el post, es importante pensar las posibilidades que nos ofrecen e intentar deducir en qué casos nos solucionan problemas cuyo estudio con métodos tradicionales resultaría imposible o mucho más laborioso.

En siguientes post de esta serie, veremos el lenguaje Microsoft MDX como base para gran número de aplicaciones, más detalles sobre el mundo del Data Warehouse y empezaremos a estudiar algunos principios de diseño e implementación de una arquitectura basada en cubos de datos.

No hay comentarios:

Publicar un comentario