Book Review: Mondrian in action by William D. Back, Nicholas Goodman & Julian Hyde

Hi all,

Today I will post my review about a really must-read book: Mondrian in action  

Mondrian in Action

One of the facts that most attracted me was the fact that this reference book is excellent for a great variety of IT roles:

  • Business Analysts
  • Data Architects
  • Business Intelligence/Analytics Consultants
  • ETL Developers
  • Application Developers
  • Enterprise Architects


Chapter 1: Beyond reporting: Business analytics

The book’s first chapter is devoted to introduce you to some of the usual problems encountered with a report-based approach to analysis. It is explained why creating database reports is not a good idea and how Mondrian can be used to overcome those challenges and some of the characteristics that make Mondrian OLAP analytic engine is the best choice


Chapter 2: Mondrian: A first look


Second chapter starts with a brief overview of the architecture, then you will discover some sort of things you can do with Mondrian. Finally, it is explained how to get data from your operational systems into Mondrian to be used for analysis.

Chapter 3: Creating the data mart

This chapter is focused to Data warehouse architects since unveils the general architecture of an analytic solution and then moves to explore the best database modeling technique for business analytics systems, as you sure know this technique consists on build a Star Schema. Besides Star schema is compared with Third Normal form modeling technique.

The following terms are mentioned: Dimension tables, Fact Tables, Slow Changing Dimension Tables, Star schema vs. Snowflakes, Junk/Degenerate Dimensions and Time Dimensions.

Chapter 4: Multidimensional Modeling: Making Analytics Data Accessible

The chapter describes the new XML syntax of schemas in Mondrian version 4. Logical elements (Schemas, cubes, attributes and measures) and Physical elements (Tables and columns) are described in detail and how Mondrian acquires the data from the data mart. Besides, Mondrian 3.X obsolete models are mentioned on an upgrade section. Finally, an optimized Time Dimension is created.

Chapter 5: How schemas grow

This chapter describes advanced modeling features.

We will see how to design and use:

  • Shared Dimensions
  • Measure Groups (Cubes using more than only one fact table)
  • Parent-Child hierarchies
  • Hanger Dimensions for comparing Target vs. Actual values
  • Calculated Members

Chapter 6: Securing data


This chapter shows how to restrict access to specific data members, dimensions, and even the full schema using Mondrian role based access control security policy. Some of the terms used are the following: SchemaGrant, CubeGrant, DimensionGrant, HierarchyGrant, MemberGrant, Measure Grants…

Chapter 7: Maximizing Mondrian Performance

This is a very important issue, since it is focused in describing the different techniques available to improve Mondrian performance. Configuring Mondrian caches (Community Distributed Cache, Infinispan and Memcached), tuning database and creating aggregate tables are some of the techniques mentioned.


Chapter 8: Dynamic Security

This chapter is a continuation of chapter 6 and explains how to manage advanced security requirements in Mondrian by means of using a Dynamic Schema Processor. A DSP allows a dynamic creation of a Mondrian schema made to measure to the connected user. Previous knowledge of Java language is required.

Chapter 9: Working with Mondrian and Pentaho


This chapter takes a look at a good deal tools that are frequently used with Mondrian and show how they are used.

Pentaho Analyzer: Plug-in that provides drag & drop analysis and advanced charting features (Pentaho Enterprise Edition).

Saiku Analytics: Open source OLAP thin client interface that provides drag & drop analysis and basic charting.

Community Dashboard Framework: Open source tool that allows users to create dashboards using Mondrian data, included in Ctools suite.

Pentaho Report Designer: Open source desktop application that allows users to create pixel perfect reports using Mondrian as an origin of data.

Pentaho Data Integration: Open source ETL tool (aka kettle) which is commonly used to populate the data used by Mondrian as mentioned in previous chapters, but that can also use Mondrian as a source of data.

Chapter 10: Developing with Mondrian

This chapter is focused to software developers and unveils several possibilities to embed Mondrian engine into your custom applications.

There are 2 ways of using Mondrian with third party apps:

  • XML for Analysis using a thin client.
  • Xmla4js a Javascript library that provides basic XML for Analysis (XML/A) capabilities, allowing javascript developers to access data and metadata from OLAP.

Chapter 11: Advanced Analytics

In this final chapter it is covered how to do advanced analytics using the enormous power of MDX language both inside Mondrian and with external tools. This complex analytics, through MDX, meets many use cases like Growth, Profitability and Ratios.


Apart from that it is explained some limited What-If Analysis (aka. scenarios) support to allow Mondrian to help you model and think about several “What would occur if X occurred “. Then it is covered how to do inside Mondrian Data mining and Machine Learning using R language or Weka framework such as Clustering, Forecasting or Fraud Detection analysis. Finally it is briefly covered where Mondrian fits within the Big Data ecosystem

(Hadoop, Hive, CouchDB) and why Mondrian is much faster with more data on a columnar analytical database (Vertica, Vectorwise, Greenplum, Inobright, InfiniDB, MonetDB, LucidDB).



A Installing and Running Mondrian

Explains how to use the virtual machine with Pentaho CE configured with Mondrian, Saiku and Ctools included in the book.

B Online Resources

Lists all available community resources like blogs and wikis

Summarizing, although the softbound print will not be available until August 2013. I will strongly recommend you don’t lose the opportunity to purchase this wonderful book now on an early access program.