This section contains advice and procedures for testing and improving Mondrian performance. There are two facets of Pentaho Analysis performance to consider: Query speed and execution speed. Query speed is the amount of time it takes to retrieve data from your data warehouse or data mart, and execution speed is the amount of time it takes to manipulate or perform calculations with that data after it has been retrieved. With that in mind, this should be a rough outline of your performance-tuning process:
- Locate the performance problem. Is this with query speed (retrieving a result set) or execution speed (calculations done client-side and in the Mondrian engine)? Most commonly, the performance problem is in your data structure, not the Analysis engine or client machine.
- If query speed is slow, you must reconsider your data warehouse design and implementation.
- If your data warehouse is soundly designed, are you using an analytic database to achieve maximum query performance?
- If execution speed is slow, you may need to do some tuning of the Mondrian or Reporting engines.
- If high-cardinality dimensions are unavoidable, you may need to partition them and streamline your schema to support table partitioning.
The sections below explain these points in greater detail.