Review de Mondrian in Action

Hace unos 20 días aproximadamente comencé con la lectura de Mondrian in Action, libro escrito por William D. Back, Nicholas Goodman y Julian Hyde.

 

Imagen eliminada.

 

El libro está escrito de una forma muy seria y es muy simple de comprender, en cada capítulo, exceptuando el primero, se define perfectamente el público al cual está orientado. Los públicos posibles son:

✓ Analistas de Negocio

✓ Arquitectos de Datos

✓ Arquitectos Empresariales u Organizacionales

✓ Desarrolladores de Aplicaciones

Y como decía, al inicio de cada capítulo se deja en claro a quién de estos roles está orientado.

 

Por otro lado los capítulos son casi independientes, o sea, no es necesario leerlos en orden o a todos.

 

El libro aborda en detalle la versión 4 de Mondrian.

 

Algo sobre los capítulos:

 

En el capítulo 1 nos encontramos con el estado del arte en cuanto a la complejidad de generar reportes sobre las bases de datos actuales, las ventajas de los análisis OLAP y argumentos del porqué utilizar Mondrian para llevar a cabo los análisis.

 

El capítulo 2 nos presenta formalmente a Mondrian y lo contextualiza respecto de las herramientas que lo complementan, también se presenta la base de datos que se utilizará como ejemplo en el libro.

 

El capítulo 3 nos introduce en los conceptos relacionados con el modelado multimensional, esquemas estrella y diversas técnicas de modelado como: dimensiones de cambio lento (SCD), copos de nieve, dimensión tiempo, dimensiones degeneradas, etc. Este capítulo me ha parecido muy bueno, lo recomiendo ya que "pasa muchos conceptos en limpio" y contiene excelentes ejemplos.

 

En el capítulo 4 comienza la acción, se crea paso a paso un esquema simple y se explica cada elemento XML, este esquema será extendido y utilizado en todo el libro. Tanto en este capítulo como en posteriores se van explicando las diferencias con las versiones anteriores del motor.

 

En el capítulo 5 nos explican como van creciendo los esquemas y como mantener varios cubos e implementar diferentes tipos de dimensiones como pueden ser dimensiones compartidas,  dimensiones conformadas, etc. También como almacenar dimensiones de diferentes formas explicando en cada caso ventajas y desventajas. Nos explican también como manejar jerarquías padre-hijo, ragged hierarchies a las que podríamos traducir como jerarquías imperfectas y por último diferentes tipos de cálculos.

 

El capítulo 6 nos muestra como implementar seguridad basada en roles mediante ejemplos muy didácticos y sencillos, este capítulo desmitifica el siempre ríspido  tema de seguridad en Mondrian.

 

El capítulo 7 es uno de mis preferidos junto a uno de los últimos, se trata de performance, realmente presenta los problemas y las posibles soluciones de una forma excelente!, no he encontrado en la web ninguna post, ni paper que aúne este tema, centrado en Mondrian por supuesto, de forma tan completa y didáctica. Este capitulo sorprende al final cuando expone temas como Community Distributed Cache (CDC) y varios tips que tienen que ver con Saiku. Recomiendo su lectura.

 

El capítulo 8 da un paso más allá en el tema seguridad, los autores nos explican como implementar seguridad dinámica desde dos puntos de vista exponiendo sus pros y contras de forma muy clara y precisa, como siempre acompañando cada tema con sendos ejemplos. Nos muestran como implementar procesadores de esquema dinámicos y como restringir los datos mediante la modificación dinámica de roles.

 

El capitulo 9 nos muestra como se utiliza a Mondrian desde las principales herramientas de explotación de Pentaho, tanto las comerciales como las Open Source, los autores nos dan un pequeño paseo por: Pentaho Analyzer, SaikuCommunity Dasboard Framework (CDF), Pentaho Report Designer (PRD) y Pentaho Data Integration (PDI). Nada que un usuario medio de la suite no conozca ya.

 

El capítulo 10 es el otro de mis capítulos preferidos, definitivamente debido a mi perfil, soy desarrollador. Este capítulo nos muestra con sendos ejemplos, como lidiar con conexiones a Mondrian, obtener metadata, ejecutar sentencias MDX y manejar los resultados, comienza por el camino duro, esto es, puro javascript y luego lo hace implementado xmla4js desde un cliente web, al final nos muestra como implementar clientes java (desktop o servidor) mediante olap4j.

 

El capítulo 11 ahonda un poco en el lenguaje MDX con buenos ejemplos en posibles escenarios. Este capítulo es muy didáctico aunque muy escueto para mu gusto, esto es, faltaría cubrir algunos escenarios comunes más. Aunque los que están cubiertos son una muy buena propuesta.

 

Para redondear debo decir que es un excelente libro y que recomiendo sin lugar a dudas su lectura.

 

Los autores son si duda un trío excelente, uno de ellos es Julyan Hyde el creador de Mondrian.

 

Saludos

 

 

Mariano