Mondrian update (Pentaho community meetup 2012, Amsterdam)


Published on

Mondrian 4 is major improvement to Mondrian model & engine. It is now beta.

In this talk, I explain what is new, what has been changed, what has been taken away, and how you can help us test it, and get it to production quality faster.

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Mondrian update (Pentaho community meetup 2012, Amsterdam)

  1. 1. Mondriaan updatePentaho community meetup AmsterdamSeptember 2012@julianhyde
  2. 2. AgendaMondrian 4 – betaOther new stuff(Yahoo)
  3. 3. Mondrian 4 – Whats new?AttributesMeasure groupsPhysical schemaInternals
  4. 4. Richer semantic modelPhysical schema: Only define attributes and relationships once Compound keysAttribute hierarchiesHierarchies & attributes grouped into dimensions E.g. Customers dimension contains Customer hierarchy (State-City-Customer) and Age, Gender, Salary attribute hierarchies
  5. 5. Measure groupsIn Mondrian 3.x, if you want a cube with multiple fact tables, you build a virtual cube: <Cube name=“Sales”> <Table name=“sales_fact”/> </Cube> <Cube name=“Warehouse”> <Table name=“warehouse_fact”/> </Cube> <VirtualCube name=“Warehouse and Sales”> <Cube name=“Sales”/> <Cube name=“Warehouse”/> </VirtualCube>
  6. 6. Measure groups (2)In Mondrian 4, cubes can contain <Cube name=“Warehouse and Sales”> <MeasureGroups> multiple measure groups <MeasureGroup name=“Sales”> <Table name=“sales_fact”/> <Measure name=“unit_sales”/> </MeasureGroup> <MeasureGroup name=“Warehouse”>Virtual cubes are obsolete <Table name=“warehousee_fact”/> <Measure name=“inventory_units”/> </MeasureGroup> </MeasureGroups> </Cube>Many-to-many association between measure groups and dimensionsDifferent ways to link dimensions to Sales Warehousefact tables Time X X Product X XAggregate tables are measure groups Customer X Warehouse X
  7. 7. Gone / ReplacementsMondrian 3 schema Mondrian 4 Schema Schema upgraderAggregate recognizer Aggregate table API (define / enable / disable)Schema workbench Pentaho modeler?XMLA server olap4j-xmlaserver @githubHierarchy syntax SSAS-style syntax [Time.Weekly].[Day]  [Time].[Weekly].[Day] [Time].[Month]  [Time].[Time].[Month]
  8. 8. Done / RemainingThe important things Ragged hierarchieswork!Schema converter Analyzer upgrade2511 of 2770 tests Aggregate table APIpass Complex schema mappings
  9. 9. Beta1. Download from CI Run Mondrian-4 on your current schema Auto-upgrade Schema converter tool TBA MDX syntax differences mondrian.olap.SsasCompatibleNaming=true3. Write a new-style schema4. Log bugs!
  10. 10. Futures
  11. 11. “Mondrian in Action” bookPublish date: Spring 2013Join the early-access program:
  12. 12. Future featuresShelved aggregate tablesConnections Defined in schema Multiple connections Non-JDBC databasesAdvanced SQL generation
  13. 13. Regular aggregate table
  14. 14. Shelved aggregate table
  15. 15. Aggregate table API – some ideas Define Enable Disable Specify beginning/end of valid range Kettle can tell Mondrian that aggregate table is no longer valid Kettle can ask Mondrian to tell it when it has finished using an aggregate table
  16. 16. Multiple connections in schema <Schema name=FoodMart> <Connections> <Connection name=default default=true uuid=abcd-1234> <Jdbc>jdbc:mysql://localhost/foodmart? characterEncoding=latin1&lt;/Jdbc> <JdbcUser>foodmart</JdbcUser> <JdbcPassword>foodmart</JdbcPassword> </Connection> <Connection name=aggs default=false uuid=abcd-2345> <Jdbc>jdbc:mysql://localhost/foodmartAggs? characterEncoding=latin1</Jdbc> <JdbcUser>foodmartAggs</JdbcUser> <Properties> <Property name=prop1>value1</Property> <Property name=prop2>value2</Property> </Properties> </Connection> </Connections> Cannot join tables from different connections Also: non-JDBC connection (via SPI or Optiq)
  17. 17. Advanced SQL generation Access control Killing big IN lists Push down aggregates (esp. time ranges) Need a new strategy... TBD
  18. 18. SummaryMondrian 4 – A major improvement to Mondrian model & engineAs compatible as possibleWill enable further improvements in performance / flexibility in upcoming releasesHelp us test it, and get it to production quality faster
  19. 19. Questions?@julianhydejhyde@pentaho.comhttp://julianhyde.blogspot.com