More Related Content Similar to Dimensional modelingowb11gr2 presentation (20) Dimensional modelingowb11gr2 presentation1. 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 Warehouse Reference Architecture
2011 © Trivadis
3
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 © 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 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
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 © 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
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
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
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
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 © 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 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
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 © Trivadis
19
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 © Trivadis
20
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 © Trivadis
24
Title of Presentation Insert Header & Footer
Date
25. Cube Operator: «Behind the 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 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
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 to fit 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 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
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