• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,957
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
129
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. WELCOME Dimensional Modeling with Oracle Warehouse Builder 11.2. Maren EschermanBASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 2011 © Trivadis 1 Title of Presentation Insert Header & Footer Date
  • 2. AGENDA1. Introduction  Dimensional modeling  From the dimensional model to a relational star schema2. Oracle Warehouse Builder: Dimensional Features  How to build a data mart3. ETL Accelerators  Loading dimensions and cubes  Slowly Changing Dimensions  Invalid data (Orphan Management)4. Performance Optimization5. Summary 2011 © Trivadis2 Title of Presentation  Insert  Header & Footer Date
  • 3. Oracle’s Data Warehouse Reference Architecture 2011 © Trivadis3 Title of Presentation  Insert  Header & Footer Date
  • 4. Introduction – Dimensional Modeling Design technique proposed by Ralph Kimball  became the predominant approach to designing data marts  predictable and cost effective Can be used for any physical form  relational or multidimensional Understandability  easier to understand and more intuitive to query Performance  optimized for data querying 2011 © Trivadis4 Title of Presentation  Insert  Header & Footer Date
  • 5. Dimensional Modeling 101 Dimensional modeling always uses the concepts of facts (measures), and dimensions (context). Dimensions are  groups of hierarchies and  the foundation of the fact table. Examples for Dimensions are  Time (when)  Customer (by whom)  Geography (where)  Product (what) Facts are additive figures such as quantity or cost per unit. 2011 © Trivadis5 Title of Presentation  Insert  Header & Footer Date
  • 6. Semantic Loss Relational Star Schema: Zeit Tables, Columns Produkt Kalender_Hierarchy Product_Hierarchy Dimensional Model: Dimensions, Levels, Hierarchies, Facts, … 2011 © Trivadis6 Title of Presentation  Insert  Header & Footer Date
  • 7. Avoid Semantic Loss Relational Star Schema: Zeit Tables, Columns Produkt automatically created by OWB Kalender_Hierarchy Product_Hierarchy Dimensional Model: Dimensions, Levels, Hierarchies, Cubes, … OWB knows both worlds… 2011 © Trivadis7 Title of Presentation  Insert  Header & Footer Date
  • 8. Dimensional Modeling Using OWB Define, deploy, and load dimensional objects explicitly separates dimensional design from physical implementation  Support for ROLAP and MOLAP ETL accelerators: dimension and cube operator New 11g R2 features:  Automated orphan management policies for loading dimensional objects  Oracle OLAP Cube-Organized Materialized Views support 2011 © Trivadis8 Title of Presentation  Insert  Header & Footer Date
  • 9. Dimensional Objects Easy to define by using dimension and cube wizard Additional OWB Meta-Objects are created automatically (tables, sequences, bitmap indexes, constraints, …) Implementation of best practices 2011 © Trivadis9 Title of Presentation  Insert  Header & Footer Date
  • 10. Dimension Tables Table <DIM_NAME>_TAB Primary Key on DIMENSION_KEY For each level  Group of columns  Index on business key Manual vs. Automatic binding  Automatic binding - is easy, but … - … overwrites ALL manual modifications on the dimension table  Manual Binding allows you to follow your own naming conventions and design patterns 2011 © Trivadis10 Title of Presentation  Insert  Header & Footer Date
  • 11. «Solved» Dimensions “Solved “ dimensions contain records for higher level elements (control rows)  enable you to link fact data to a dimension at any level Control Rows have  Negative surrogate Keys  NULL attributes for lower levels 2011 © Trivadis11 Title of Presentation  Insert  Header & Footer Date
  • 12. Time Dimension Time dimension is not «solved»  use 01.01.2011 for referencing «January 2011» Primary Key is a DATE attribute  was a NUMBER in pre-11.2 releases  allows partitioning of fact table by date Mapping to load the time dimension table is generated by OWB Different hierarchies are supported  week hierarchy  fiscal year hierarchy 2011 © Trivadis12 Title of Presentation  Insert  Header & Footer Date
  • 13. Fact Table Table <CUBE_NAME>_TAB One column per  measure  referenced dimension Bitmap Index and foreign key for each dimension attribute Unique key for the combination of dimension attributes (optional) No partitioning! No compression! 2011 © Trivadis13 Title of Presentation  Insert  Header & Footer Date
  • 14. Deployment Design Repository Target Schema Deploy Aggregation Materialized Cube Views Dimension Dimension Deploy Data Objects View 2011 © Trivadis14 Title of Presentation  Insert  Header & Footer Date
  • 15. Dimension/Cube Operator Used for loading data into a dimension/cube  can do a lot of tedious work for you Are actually pluggable mappings Dimension Operator  populates dimension surrogate key  realizes SCD (Slowly Changing Dimensions) updates  handles invalid dimension records Cube Operator  looks up surrogate keys based on business key  handles slowly changing dimensions  handles invalid cube records 2011 © Trivadis15 Title of Presentation  Insert  Header & Footer Date
  • 16. Dimension Operator Supports two loading types:  Load  Remove Allows deduplication of level elements Creates OWB$TEMP Tables when mapping is deployed  needed to provide some of the hierarchy management and loading functionality 2011 © Trivadis16 Title of Presentation  Insert  Header & Footer Date
  • 17. Slowly Changing Dimension Support for SCD Types 1, 2 and 3  Type 1: Do not store history  Type 2: Store the complete change history  Type 3: Store only the previous value User can specify which attributes trigger a new version only use from 10.2.0.3 upwards  bugs in earlier versions 2011 © Trivadis17 Title of Presentation  Insert  Header & Footer Date
  • 18. SCD: «Under The Hood» Income_Level and Marital_Status trigger a new version For all other records only the most current record is updated INCOME FIRST LAST MARITAL JOB VONDAT BISDAT B Constantin Welles single Teacher 05-SEP-07 12-OCT-09 C Constantin Welles single Teacher 12-OCT-09 17-AUG-10 C Constantin Welles married Policeman 17-AUG-10 31-DEC-99 5-Sept-07 – Constantin Welles becomes customer. 12-Okt-09 – Constantin Welles gets a raise. 17-Aug-10– Constantin Welles marries. ??? – Constantin Welles has a new job. 2011 © Trivadis18 Title of Presentation  Insert  Header & Footer Date
  • 19. SCD: «Under The Hood» Kimball Design Tip #15: Combining SCD Techniques  “For all prior dimension rows for a given customer, the current roll-up attribute will be overwritten to reflect the current state of the world.” Kimball’s «Hybrid SCD» is not implemented by dimension operator 2011 © Trivadis19 Title of Presentation  Insert  Header & Footer Date
  • 20. Orphan Management What is an «orphan»?  Dimension level element with no or invalid parent level attribute  Fact with no or invalid dimension reference Available for dimensions and cubes  Error tables store any records that are detected as anomalous. Specify values used by the default record 2011 © Trivadis20 Title of Presentation  Insert  Header & Footer Date
  • 21. Dimension Operator: «Behind the Scenes» - 1 2011 © Trivadis21 Title of Presentation  Insert  Header & Footer Date
  • 22. Dimension Operator: «Behind the Scenes» - 2 2011 © Trivadis22 Title of Presentation  Insert  Header & Footer Date
  • 23. Dimension Operator: «Behind the Scenes» - 3 2011 © Trivadis23 Title of Presentation  Insert  Header & Footer Date
  • 24. Cube Operator Loading Type  INSERT LOAD  LOAD - source data is merged into the cube  REMOVE Enable Source Aggregation Handles slowly changing dimensions Orphan Managment 2011 © Trivadis24 Title of Presentation  Insert  Header & Footer Date
  • 25. Cube Operator: «Behind the Scenes» Source Aggregation Dimension Surrogate Key Lookup Orphan Management 2011 © Trivadis25 Title of Presentation  Insert  Header & Footer Date
  • 26. Features, Features, Features, … Loading dimensions  Physical and logical deletes  Dimensions without surrogate key  History Logging Policy  Support Multiple History Loading  Out of Order History Loading  Standard DML Error Logging  Hierarchy Versioning - Attribute changes are also recorded for higher levels Loading cubes  Degenerate dimensions  Different source aggregation functions (SUM, AVG, …)  Different update functions (+=, -=, …) 2011 © Trivadis26 Title of Presentation  Insert  Header & Footer Date
  • 27. It’s all about performance! OWB can create  Relational MViews  Cube Based Mviews Mviews are created when deploying aggregation of cube  MViews are no meta objects in OWB  Relational Mviews are recreated every time you deploy  MView Features like «fast refreshing» and «partition change tracking» are not supported Hint: Select precompute for the leaf level also to avoid OLAP Bug. 2011 © Trivadis27 Title of Presentation  Insert  Header & Footer Date
  • 28. Licenses You need  Data Integrator Enterprise Edition (formerly Warehouse Builder Enterprise ETL) for - SCD 2 and 3 support - Orphan management  OLAP Option for - Creation of Materialized Views 2011 © Trivadis28 Title of Presentation  Insert  Header & Footer Date
  • 29. Be aware of … You can define default values without orphan management. Degenerate dimensions are possible (with 11.2) Each cube must have at least one measure  For factless fact tables use one «dummy» fact with the default value 1 Either all dimensions levels have a surrogate key or none Dimensional operators can also be used as source operators. 2011 © Trivadis29 Title of Presentation  Insert  Header & Footer Date
  • 30. Everything has to fit together Dimension Dimension Configuration Settings Cube Configuration Operator Properties Cube Settings 2011 © Trivadis30 Title of Presentation  Insert  Header & Footer Date
  • 31. Open the toolbox! Take everything that suits your project-specific requirements You should have good reasons not to use dimensional operators Model dimensions and cubes to avoid semantic loss Do prototyping!  Learn how things work Good understanding of the underlying technologies (e.g. OLAP) is necessary With or without dimensional operators: Use the same design pattern everywhere!! 2011 © Trivadis31 Title of Presentation  Insert  Header & Footer Date
  • 32. Summary Oracle Warehouse Builder offers a broad range of support for dimensional objects. When using these features you …  … can efficiently implement your ETL processes  … are «production-ready» in a shorter time span  … avoid semantic loss  … achieve high quality in your implementation  … have a standardized design pattern in your dimension and cube loading mappings 2011 © Trivadis32 Title of Presentation  Insert  Header & Footer Date
  • 33. THANK YOU. Trivadis AG Maren Eschermann Europa-Strasse 5 8152 Glattbrugg Tel. +41-44-808 70 20 Fax +41-44-808 70 21 info@trivadis.com www.trivadis.comBASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 2011 © Trivadis 33 Title of Presentation Insert Header & Footer Date