WELCOME                                                                  Dimensional Modeling
                                                                                 with Oracle Warehouse
                                                                                 Builder 11.2.
                                                                                 Maren Escherman




BASEL   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
AGENDA


1. Introduction
     Dimensional modeling
     From the dimensional model to a relational star schema
2. Oracle Warehouse Builder: Dimensional Features
     How to build a data mart
3. ETL Accelerators
     Loading dimensions and cubes
     Slowly Changing Dimensions
     Invalid data (Orphan Management)
4. Performance Optimization
5. Summary


                2011 © Trivadis
2
                Title of Presentation  Insert  Header & Footer
                Date
Oracle’s Data Warehouse Reference Architecture




           2011 © Trivadis
3
           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 © Trivadis
4
                 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 © Trivadis
5
                 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 © Trivadis
6
                   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 © Trivadis
7
                   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 © Trivadis
8
               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 © Trivadis
9
             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 © Trivadis
10
                 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 © Trivadis
11
                  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 © Trivadis
12
                  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 © Trivadis
13
                 Title of Presentation  Insert  Header & Footer
                 Date
Deployment



       Design Repository                                       Target Schema



                                          Deploy Aggregation      Materialized
                   Cube
                                                                    Views


                                                                  Dimension
              Dimension
                                         Deploy Data Objects
                                                                     View




          2011 © Trivadis
14
          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 © Trivadis
15
                  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 © Trivadis
16
                 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 © Trivadis
17
                  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 © Trivadis
18
                  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 © Trivadis
19
                  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 © Trivadis
20
                  Title of Presentation  Insert  Header & Footer
                  Date
Dimension Operator: «Behind the Scenes» - 1




           2011 © Trivadis
21
           Title of Presentation  Insert  Header & Footer
           Date
Dimension Operator: «Behind the Scenes» - 2




           2011 © Trivadis
22
           Title of Presentation  Insert  Header & Footer
           Date
Dimension Operator: «Behind the Scenes» - 3




           2011 © Trivadis
23
           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 © Trivadis
24
                 Title of Presentation  Insert  Header & Footer
                 Date
Cube Operator: «Behind the Scenes»


                                                              Source Aggregation




                                Dimension Surrogate
                                Key Lookup                        Orphan Management




           2011 © Trivadis
25
           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 © Trivadis
26
                   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 © Trivadis
27
                  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 © Trivadis
28
                  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 © Trivadis
29
                  Title of Presentation  Insert  Header & Footer
                  Date
Everything has to fit together




                                                          Dimension
       Dimension                                         Configuration
        Settings



                                                                         Cube
                                                                     Configuration   Operator
                                                                                     Properties
                                          Cube
                                         Settings




            2011 © Trivadis
30
            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 © Trivadis
31
                 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 © Trivadis
32
                   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.com




BASEL   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

Dimensional modelingowb11gr2 presentation

  • 1.
    WELCOME Dimensional Modeling with Oracle Warehouse Builder 11.2. Maren Escherman BASEL 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.
    AGENDA 1. Introduction  Dimensional modeling  From the dimensional model to a relational star schema 2. Oracle Warehouse Builder: Dimensional Features  How to build a data mart 3. ETL Accelerators  Loading dimensions and cubes  Slowly Changing Dimensions  Invalid data (Orphan Management) 4. Performance Optimization 5. Summary 2011 © Trivadis 2 Title of Presentation  Insert  Header & Footer Date
  • 3.
    Oracle’s Data WarehouseReference Architecture 2011 © Trivadis 3 Title of Presentation  Insert  Header & Footer Date
  • 4.
    Introduction – DimensionalModeling  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 © Trivadis 4 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 © Trivadis 5 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 © Trivadis 6 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 © Trivadis 7 Title of Presentation  Insert  Header & Footer Date
  • 8.
    Dimensional Modeling UsingOWB  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 © Trivadis 8 Title of Presentation  Insert  Header & Footer Date
  • 9.
    Dimensional Objects  Easyto define by using dimension and cube wizard  Additional OWB Meta-Objects are created automatically (tables, sequences, bitmap indexes, constraints, …)  Implementation of best practices 2011 © Trivadis 9 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 © Trivadis 10 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 © Trivadis 11 Title of Presentation  Insert  Header & Footer Date
  • 12.
    Time Dimension  Timedimension 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 © Trivadis 12 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 © Trivadis 13 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 © Trivadis 14 Title of Presentation  Insert  Header & Footer Date
  • 15.
    Dimension/Cube Operator  Usedfor 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 © Trivadis 15 Title of Presentation  Insert  Header & Footer Date
  • 16.
    Dimension Operator  Supportstwo 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 © Trivadis 16 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 © Trivadis 17 Title of Presentation  Insert  Header & Footer Date
  • 18.
    SCD: «Under TheHood»  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 © Trivadis 18 Title of Presentation  Insert  Header & Footer Date
  • 19.
    SCD: «Under TheHood»  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 © Trivadis 19 Title of Presentation  Insert  Header & Footer Date
  • 20.
    Orphan Management  Whatis 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 © Trivadis 20 Title of Presentation  Insert  Header & Footer Date
  • 21.
    Dimension Operator: «Behindthe Scenes» - 1 2011 © Trivadis 21 Title of Presentation  Insert  Header & Footer Date
  • 22.
    Dimension Operator: «Behindthe Scenes» - 2 2011 © Trivadis 22 Title of Presentation  Insert  Header & Footer Date
  • 23.
    Dimension Operator: «Behindthe Scenes» - 3 2011 © Trivadis 23 Title of Presentation  Insert  Header & Footer Date
  • 24.
    Cube Operator  LoadingType  INSERT LOAD  LOAD - source data is merged into the cube  REMOVE  Enable Source Aggregation  Handles slowly changing dimensions  Orphan Managment 2011 © Trivadis 24 Title of Presentation  Insert  Header & Footer Date
  • 25.
    Cube Operator: «Behindthe Scenes» Source Aggregation Dimension Surrogate Key Lookup Orphan Management 2011 © Trivadis 25 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 © Trivadis 26 Title of Presentation  Insert  Header & Footer Date
  • 27.
    It’s all aboutperformance!  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 © Trivadis 27 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 © Trivadis 28 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 © Trivadis 29 Title of Presentation  Insert  Header & Footer Date
  • 30.
    Everything has tofit together Dimension Dimension Configuration Settings Cube Configuration Operator Properties Cube Settings 2011 © Trivadis 30 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 © Trivadis 31 Title of Presentation  Insert  Header & Footer Date
  • 32.
    Summary  Oracle WarehouseBuilder 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 © Trivadis 32 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.com BASEL 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