Dimensional modelingowb11gr2 presentation
Upcoming SlideShare
Loading in...5
×
 

Dimensional modelingowb11gr2 presentation

on

  • 2,195 views

 

Statistics

Views

Total Views
2,195
Views on SlideShare
2,195
Embed Views
0

Actions

Likes
1
Downloads
127
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Dimensional modelingowb11gr2 presentation Dimensional modelingowb11gr2 presentation Presentation Transcript

  • 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
  • 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
  • Oracle’s Data Warehouse Reference Architecture 2011 © Trivadis3 Title of Presentation  Insert  Header & Footer Date
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • «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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Dimension Operator: «Behind the Scenes» - 1 2011 © Trivadis21 Title of Presentation  Insert  Header & Footer Date
  • Dimension Operator: «Behind the Scenes» - 2 2011 © Trivadis22 Title of Presentation  Insert  Header & Footer Date
  • Dimension Operator: «Behind the Scenes» - 3 2011 © Trivadis23 Title of Presentation  Insert  Header & Footer Date
  • 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
  • Cube Operator: «Behind the Scenes» Source Aggregation Dimension Surrogate Key Lookup Orphan Management 2011 © Trivadis25 Title of Presentation  Insert  Header & Footer Date
  • 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
  • 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
  • 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
  • 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
  • Everything has to fit together Dimension Dimension Configuration Settings Cube Configuration Operator Properties Cube Settings 2011 © Trivadis30 Title of Presentation  Insert  Header & Footer Date
  • 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
  • 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
  • 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