TodoBI - Business Intelligence, Big Data, ML y AI TodoBI - Business Intelligence, Big Data, ML y AI

Pentaho 2: Analisis OLAP

Actualizacion: Ya puedes acceder a nuestra Demo Online de Pentaho
Vamos a continuar con la serie de comentarios sobre el Business Intelligence Open Source Pentaho que comenzamos con una Introduccion a Pentaho y el Pentaho 1: Reporting .

El punto a tratar hoy es la herramienta de Analisis OLAP que va incluida dentro de Pentaho. Se trata de un motor OLAP en memoria que permite realizar todas las típicas funcionalidades de un sistema OLAP a una gran velocidad y orientadas al negocio. Es decir, que la aplicación maneje los conceptos que un usuario funcional o analista esta habituado a trabajar.
Pero antes, voy a definir unos conceptos que se usan muy a menudo por los fabricantes de software y no precisamente de forma correcta:
OLAP es online analytical processing. Se trata de una forma de almacenar la información en una Base de Datos que permita realizar de forma más efectiva las queries. Es una definición abreviada, claro esta, la realidad es más compleja.
MOLAP, Multidimensional OLAP. Tanto los datos fuente como los datos agregados o precalculados residen en el mismo formato multidimensional. Optimiza las queries, pero requiere más espacio de disco y diferente software. El primer punto esta dejando ser un problema: el espacio de disco cada vez es más barato.
ROLAP, Relational OLAP. Tanto los datos precalculados y agregados como los datos fuente residen en la misma base de datos relacional. Si el DataWarehouse es muy grande o se necesita rapidez por parte de los usuarios puede ser un problema.
HOLAP, Hybrid OLAP: Es una combinación de los dos anteriores. Los datos agregados y precalculados se almacenan en estructuras multidimensionales y los de menor nivel de detalle en el relacional. Requiere un buen trabajo de análisis para identificar cada tipo de dato.

Los 6 elementos básicos de un sistema OLAP son: Dimensiones, Valores, Jerarquías, Niveles, Atributos e Indicadores.
Veamos un ejemplo:
Los datos se almacenan en una estructura de cubo (es como si estuviera totalmente indexado) y la velocidad de acceso se hace mucho mas eficiente.
En este caso, la primera consulta nos muestra los puntos que han acumulado los titulares de la tarjeta clásica, en todos los tipos de cabinas y en todos los meses. Mientras, que en la segunda filtramos el cubo para los que volaron en turista. Este tipo de consultas devuelve los datos de forma instantánea.
Cubo OLAP
Cubo OLAP2
Para obtener la funcionalidad de procesamiento (OLAP) se utilizan otras dos aplicaciones: el servidor OLAP Mondrian , que combinado con Jpivot , permiten realizar querys a Datamarts, que los resultados sean presentados mediante un browser y que el usuario pueda realizar drill down y otras navegaciones típicas.
Mondrian funciona sobre las bases de datos estándar del mercado: Oracle, DB2, SQL-Server, MySQL, Postgre... lo cual habilita y facilita el desarrollo de negocio basado en la plataforma Pentaho.
JPivot está considerado con un “proyecto hermano” de Mondrian. Al incorporarse Mondrian también lo ha hecho JPivot.

Aqui tenemos un ejemplo aplicado a la Administración Publica con datos ficticios.

Analisis Mondrian
Mondrian es un servidor OLAP que esta escrito en Java.
Permite interactuar con grandes cantidades de datos almacenados en Bases de Datos relacionales, sin necesidad de utilizar complejas sentencias SQL.

Aquí podéis acceder a toda la informacion relevante:
Download
Installation
Browse source
Overview What is OLAP? MDX Architecture Writing a schema Configuration Performance Aggregate tables Command runner FAQ Roadmap
Internals Components API Developer's guide
JPivot
Jpivot es un conjunto de librerias customizables JSP que permite mostrar tablas y gráficos, para mostrar la navegación típica de los entornos OLAP: drill-down, rotar ejes, dril-through, etc…
Utiliza Mondrian como servidor OLAP preferente, pero también podría acceder a los cubos OLAP de Microsoft Analysis Services.
La conexión con las Bases de Datos se realiza via JDBC y realiza los cálculos en memoria, sin generar nuevos ficheros y bases de datos que mantener y almacenar.

En definitiva, una muy buena opción para poder realizar análisis avanzados de tipo OLAP, sin tener que pagar el coste de las licencias.