Mondrian Technical Guide
Total Page:16
File Type:pdf, Size:1020Kb
Mondrian 3.0.4 Technical Guide Developing OLAP solutions with Mondrian/JasperAnalysis March 2009 - 1 - Table of Contents License and Copyright .......................................................................................................... 5 Introduction ........................................................................................................................ 9 JasperAnalysis and Mondrian................................................................................................. 9 Mondrian and OLAP............................................................................................................ 11 Online Analytical Processing............................................................................................. 11 Conclusion ..................................................................................................................... 12 Mondrian Architecture ........................................................................................................ 13 Layers of a Mondrian system ........................................................................................... 13 API................................................................................................................................15 How to Design a Mondrian Schema...................................................................................... 17 What is a schema?.......................................................................................................... 17 Schema files................................................................................................................... 17 Logical model ................................................................................................................. 17 Cube.............................................................................................................................. 19 Measures ....................................................................................................................... 19 Dimensions, Hierarchies, Levels ....................................................................................... 20 Mapping dimensions and hierarchies onto tables ............................................................... 21 The 'all' member............................................................................................................. 22 Time dimensions............................................................................................................. 23 Order and display of levels .............................................................................................. 23 Multiple hierarchies ......................................................................................................... 24 Degenerate dimensions ................................................................................................... 25 Inline tables ................................................................................................................... 26 Member properties and formatters ................................................................................... 27 Approximate level cardinality ........................................................................................... 27 Star and snowflake schemas............................................................................................ 27 Shared dimensions.......................................................................................................... 28 Join optimization............................................................................................................. 28 Advanced logical constructs ............................................................................................. 29 Member properties.......................................................................................................... 33 Calculated members........................................................................................................ 34 Named sets.................................................................................................................... 36 Plug-ins ......................................................................................................................... 37 Member reader............................................................................................................... 40 Internationalization ......................................................................................................... 45 Aggregate tables ............................................................................................................ 47 Access-control ................................................................................................................ 48 XML elements................................................................................................................. 52 MDX Specification .............................................................................................................. 55 What is MDX?................................................................................................................. 55 What is the syntax of MDX? ............................................................................................. 55 Mondrian-specific MDX .................................................................................................... 55 Configuration Guide............................................................................................................ 58 Properties ...................................................................................................................... 58 Property list.................................................................................................................... 59 Connect strings............................................................................................................... 66 Cache management ........................................................................................................ 68 Memory management ..................................................................................................... 68 Logging ......................................................................................................................... 69 Optimizing Mondrian Performance ....................................................................................... 70 Introduction ................................................................................................................... 70 A generalized tuning process for Mondrian........................................................................ 70 - 2 - Recommendations for database tuning ............................................................................. 71 Aggregate Tables, Materialized Views and Mondrian .......................................................... 71 AggGen.......................................................................................................................... 72 Optimizing Calculations with the Expression Cache ............................................................ 72 Aggregate Tables............................................................................................................... 74 Introduction ................................................................................................................... 74 What are aggregate tables?............................................................................................. 75 A simple aggregate table................................................................................................. 76 Another aggregate table.................................................................................................. 77 Defining aggregate tables................................................................................................ 78 Building aggregate tables ................................................................................................ 79 How Mondrian recognizes Aggregate Tables...................................................................... 85 Aggregate tables and parent-child hierarchies ................................................................... 90 How Mondrian uses aggregate tables ............................................................................... 93 Tools for designing and maintaining aggregate tables ........................................................ 96 Properties that affect aggregates ..................................................................................... 97 Aggregate Table References ............................................................................................ 99 Cache Control .................................................................................................................... 99 Note for JasperAnalysis ................................................................................................... 99 Introduction ................................................................................................................... 99 How Mondrian's cache works ........................................................................................... 99 New CacheControl API ...................................................................................................100 Other cache control topics ..............................................................................................104