Cubos OLAP (On-Line Analytic Processing)

Cubos OLAP (On-Line Analytic Processing): Son las herramientas que se basan en la capacidad de analizar y explorar por los datos. Nos permiten cambiar el enfoque del “¿que esta pasando?” que podemos obtener a través de las herramientas de reporting al “¿por que esta pasando?”.

Para descubrir el “por que”, los usuarios pueden navegar y profundizar en los datos para analizar los detalles o patrones.Las herramientas OLAP nos proporcionan analisis interactivo por las diferentes dimensiones de los datos (por ejemplo, tiempo, producto, cliente, criterios geográficos, etc) y por los diferentes niveles de detalle (para la dimensión tiempo, habrá nivel de detalle año, trimestre, mes, dia).

Esto significaría pasar de la visión estática de los datos a una visión dinámica, donde podemos ir “navegando” por los datos, bajando en el nivel de detalle, cambiando la dimensión por la cual analizamos la información. El tipico ejemplo sería una tabla con los datos de ventas y margenes por delegación de una empresa, y cuando observamos un indicador de rentabilidad negativa, buceamos en los datos de esta delegación hasta dar con el producto que se esta vendiendo a precios de coste con margen negativo. Este sería el tipico ejemplo de los Cubos Olap y los visores multidimensionales que nos permiten “profundizar en los datos”. Nos permitirían contestar a la pregunta: ¿que sucedio y por que?.

Ejemplo de Visor Olap (Palo Web Client)

Para entender qué se analiza mediante los cubos Olap, hemos de saber que la información de gestión se compone de conceptos de información (dimensiones) y coeficientes de gestión (indicadores), que los cuadros directivos de la empresa pueden consultar según las dimensiones de negocio que se definan.Dichas dimensiones de negocio se estructuran a su vez en distintos niveles de detalle (por ejemplo, la dimensión geográfica puede constar de los niveles nacional, provincial, ayuntamientos y sección censal).

Este tipo de sistemas ha existido desde hace tiempo, en el mundo de la informática bajo distintas denominaciones: cuadros de mando, MIS, EIS, etc.

En general, los sistemas OLAP deben:

  • Soportar requerimientos complejos de análisis.
  • Analizar datos desde diferentes perspectivas.
  • Soportar análisis complejos contra un volumen ingente de datos.

La funcionalidad de los sistemas OLAP se caracteriza por ser un análisis multidimensional de datos corporativos, que soportan los análisis del usuario y unas posibilidades de navegación, seleccionando la información a obtener. Normalmente este tipo de selecciones se ve reflejada en la visualización de la estructura multidimensional, en unos campos de selección que nos permitan elegir el nivel de agregación (jerarquía) de la dimensión, y/o la elección de un dato en concreto, la visualización de los atributos del sujeto, frente a una(s) dimensiones en modo tabla, pudiendo con ello realizar, entre otras las siguientes acciones:

  • Rotar (Swap): alterar las filas por columnas (permutar dos dimensiones de análisis)
  • Bajar (Down): bajar el nivel de visualización en las filas a una jerarquía inferior.
  • Detallar (Drilldown): informar para una fila en concreto, de datos a un nivel inferior.
  • Expandir (Expand): id. anterior sin perder la información a nivel superior para éste y el resto de los valores.
  • Colapsar (Collapse): operación inversa de la anterior.

Para ampliar el glosario de conceptos OLAP y de otros relacionados con el mundo BI, os recomiendo la visita a la página:

http://www.dssresources.com/glossary/olaptrms.html

Tal y como la tecnología y los usuarios han evolucionado y madurado, las distinciones entre OLAP y las herramientas de reporting se han vuelto considerablemente confusas. Podemos tener informes bien formateados o sumarizados basados en datos multidimensionales y el usuario querrá enseguida navegar y bucear en los datos para ver el problema con una metrica en particular. En este caso, el usuario no querra ser forzado a tener que pasar a una herramienta separada para analizar y explorar. Las siguientes características continuan distinguiendo las herramientas OLAP de las herramientas de query y reporting tools:

  • En una herramienta Multidimensional los usuarios analizan los valores numericos de diferentes dimensiones (como producto, tiempo, geografia). En un informe, por otro lado, solo hay una dimensión de análisis.
  • El cambio entre las diferentes dimensionales de analisis y los diferentes niveles de ellas es muy rápido en este tipo de herramientas. Si un usuario hace un doble click en la dimensión tiempo, en el nivel Año, rapidamente va a poder ver la información de un mes o de un día en concreto, sin tiempos de espera excesivos. En un informe, los tiempos de calculo pueden ser muy considerables (hasta llegar incluso al punto de tener que se programados en procesos batch su ejecución).
  • La herramienta Olap es sumamente interactiva, permitiendonos pivotar sobre la información viendola desde diferentes perspectivas y cambiar dichas perspectivas de una forma muy rapida. Analizando las ventas por mes, podremos cambiar la visión de la información para verla por producto o por tipo de cliente. Ademas se pueden establecer filtrados interactivos y el desglose de la información se puede realizar para un subconjunto de la dimension en concreto. Este tipo de interacción con los datos es imposible con los informes (aunque posible en algunos productos).

 

Para distinguir los requerimientos OLAP, es importante distinguir entre las plataformas OLAP y los interfases de usuario OLAP.

Plataformas OLAP

La plataforma OLAP es aquella en la que se almacenan los datos para permitir el análisis multidimensional.  El cubo mostrado en la imagen superior representa una base de datos OLAP. En este contexto, los usuarios finales no tendrán que preocuparse como se almacena la información, si se replica, tiene cache o que tipo de arquitectura utiliza, pero todos estos aspectos si influiran en que tipo de herramienta front-end puede utilizar, que podrá analizar y como.

Hay cuatro tipos de arquitectura OLAP:

1.Relational OLAP (ROLAP): este tipo de plataforma almacena los datos en una base de datos relacional, lo que implica que no es necesario que los datos se repliquen en un almacenamiento separado para el análisis (veremos que en la mayoría de los casos es preferible esta diferenciación). Los calculos se realizan en una base de datos relacional, con grandes volumenes de datos y tiempos de navegación no predecibles. Parte de la premisa que las capacidades Olap se desarrollan mejor contra este tipo de bases de datos.

El sistema ROLAP utiliza una arquitectura de tres niveles. La base de datos relacional maneja los requerimientos de almacenamiento de datos, y el motor ROLAP proporciona la funcionalidad analítica.

  • El nivel de base de datos usa bases de datos relacionales para el manejo, acceso y obtención del dato.
  • El nivel de aplicación es el motor que ejecuta las consultas multidimensionales de los usuarios.
  • El motor ROLAP se integra con niveles de presentación, a través de los cuales los usuarios realizan los análisis OLAP.

Los usuarios finales ejecutan sus análisis multidimensionales, a través del motor ROLAP, que transforma dinámicamente sus consultas a consultas SQL. Se ejecutan estas consultas SQL en las bases de datos relacionales, y sus resultados se relacionan mediante tablas cruzadas y conjuntos multidimensionales para devolver los resultados a los usuarios.
La arquitectura ROLAP es capaz de usar datos precalculados si estos están disponibles, o de generar dinámicamente los resultados desde los datos elementales si es preciso. Esta arquitectura accede directamente a los datos del Data Warehouse, y soporta técnicas de optimización de accesos para acelerar las consultas. Estas optimizaciones son, entre otras, particionado de los datos a nivel de aplicación, soporte a la desnormalización y joins múltiples.

Algunos fabricantes son: Oracle’s BI EE, SAP Netweaver BI, MicroStrategy, Cognos 8, BusinessObjects Web Intelligence.

2. Multidimensional OLAP (MOLAP):los datos son replicados en plataformas con un almacenamiento construido a proposito que asegura mayor velocidad en los análisis. Los calculos se llevan a cabo en un servidor con una base de datos multidimensional, partiendo de la premisa que un sistema OLAP estara mejor implantado almacenando los datos multidimensionalmente.

El sistema MOLAP utiliza una arquitectura de dos niveles: La bases de datos multidimensionales y el motor analítico.

  • La base de datos multidimensional es la encargada del manejo, acceso y obtención del dato.
  • El nivel de aplicación es el responsable de la ejecución de los requerimientos OLAP. El nivel de presentación se integra con el de aplicación y proporciona un interfaz a través del cual los usuarios finales visualizan los análisis OLAP. Una arquitectura cliente/servidor permite a varios usuarios acceder a la misma base de datos multidimensional.

La información procedente de los sistemas operacionales, se carga en el sistema MOLAP, mediante una serie de rutinas batch. Una vez cargado el dato elemental en la Base de Datos multidimensional (MDDB), se realizan una serie de cálculos en batch, para calcular los datos agregados, a través de las dimensiones de negocio, rellenando la estructura MDDB. Tras rellenar esta estructura, se generan unos índices y algoritmos de tablas hash para mejorar los tiempos de accesos a las consultas.

Una vez que el proceso de compilación se ha acabado, la MDDB está lista para su uso. Los usuarios solicitan informes a través del interface, y la lógica de aplicación de la MDDB obtiene el dato. La arquitectura MOLAP requiere unos cálculos intensivos de compilación. Lee de datos precompilados, y tiene capacidades limitadas de crear agregaciones dinámicamente o de hallar ratios que no se hayan precalculados y almacenados previamente.

Algunos fabricantes son: Oracle’s Hyperion Essbase, Microsoft Analysis Services, TM1, SAS OLAP, Cognos PowerCubes.

3. Hybrid OLAP (HOLAP): plataformas que usan una combinación de varias técnicas de almacenamiento.Las agregaciones se realizan en cache, pero el drill-down a traves de la base de datos relacional. Algunos fabricantes son: Microsoft Analysis Services, SAS OLAP, Oracle’s Hyperion Essbase.

4. Dynamic OLAP (DOLAP): generan una pequeña cache multidimensional cuando los usuarios ejecutan las consultas contra la base de datos. Algunos fabricantes son: BusinessObjects Web Intelligence, Oracle’s Hyperion Interactive Reporting(formerly Brio).

 

ROLAP vs. MOLAP (Comparativa)

Cuando se comparan las dos arquitecturas, se pueden realizar las siguientes observaciones:

El ROLAP delega la negociación entre tiempo de respuesta y el proceso batch al diseño del sistema. Mientras, el MOLAP, suele requerir que sus bases de datos se precompilen para conseguir un rendimiento aceptable en las consultas, incrementando, por tanto los requerimientos batch.

  • Los sistemas con alta volatilidad de los datos (aquellos en los que cambian las reglas de agregación y consolidación), requieren una arquitectura que pueda realizar esta consolidación ad-hoc. Los sistemas ROLAP soportan bien esta consolidación dinámica, mientras que los MOLAP están más orientados hacia consolidaciones batch.
  • Los ROLAP pueden crecer hasta un gran número de dimensiones, mientras que los MOLAP generalmente son adecuados para diez o menos dimensiones.
  • Los ROLAP soportan análisis OLAP contra grandes volúmenes de datos elementales, mientras que los MOLAP se comportan razonablemente en volúmenes más reducidos (menos de 5 Gb).
  • Por ello, y resumiendo, el ROLAP es una arquitectura flexible y general, que crece para dar soporte a amplios requerimientos OLAP. El MOLAP es una solución particular, adecuada para soluciones departamentales con unos volúmenes de información y número de dimensiones más modestos.

Visores OLAP

Los visores Olap son las herramientas que nos permiten “atacar” a la base de datos OLAP para sacar todo el partido a los datos con las consideraciones que hemos indicado. Una de las herramientas mas utilizada para visualizar el cubo es Microsoft Excel. De hecho, tres de los productos Olap lideres la utilizaron inicialmente como unico interfaz (Oracle’s Hyperion Essbase, Microsoft Analysis Services, SAP Business Explorer). Con Excel, los usuarios abren su hoja e inmediatamente pueden hacen drill en las celdas y en las Excel Pivot Tables para recuperar y explorar sus datos.

Ejemplo de Excel comoVisor Olap

Hoy en dia, Excel continua siendo una importante interfaz OLAP, pero ademas, los usuarios pueden explorar los datos a traves de los visores OLAP. Hay visores basados en Web, que ademas tienen capacidades de navegacion y charting avanzadas. Tambien pueden disponer de herramientas de query y de generación de informes.

Expresiones Multidimensionales (MDX): en un lenguaje query similar al SQL que nos permite realizar consultas sobre una base de datos OLAP. Microsoft desarrollo este lenguaje para trabajar con su servidor OLAP, y al ganar el MDX aceptación entre la industria, un gran numero de fabricantes la incorporaron a sus bases de datos, de forma que hoy muchos visores OLAP generan MDX para acceder y analizar los datos de diferentes bases de datos OLAP.

Igual que las herramientas de query y reporting permiten a los usuarios recuperar información de las bases de datos relaciones sin conocer el lenguaje SQL, los visores OLAP nos permiten acceder a los datos de un BD Olap sin necesidad de conocer las expresiones multidimiensionales del lenguaje MDX.

Ejemplo de Visor Olap (Jpivot)

Una relación de visores OLAP Open Source la podemos encontrar en la web de todobi.com.

Hola a todos los lectores de este comentario, en realidad soy nuevo en este tema de las bases de datos y los cubos de datos; pero me han resultado muy interesantes estos temas, la forma de trabajar la información y lo excelentes resultados que se pueden llegar a tener. actualmente estoy cursando una materia en la universidad, en la cual estamos aprendiendo un poco de lo que son las bases de datos trabajando con SQL SERVER 2012, y además de eso nos han pedido que investiguemos sobre PENTAHO y su aplicación con MYSQL, ya que debemos realizar un trabajo hasta lograr crear los cubos de datos.
Sera posible que alguien pudiera proporcionarme algún manual de la instalación de PENTAHO y como se trabaja en combinación con MYSQL. Se los agradeceré muchísimo.
Soy un estudiante de la Universidad Tecnologica de El Salvador, de la carrera Licenciatura en Informatica.
Es un gustazo formar parte de esta pagina tan interesante.

saludos a todos.

Hola a todos tengo un archivo de cubos olap con la extencion .cube, como puedo visualizar el contenido en excel ? O como puede instalar el complemento de excel que me permite ver el archivo? O que otro programa puedo visualizar el archivo .cube. Agradecería mucho su ayuda.