SlideShare una empresa de Scribd logo
1 de 19
Dimensional Fact Model 
Stuttgart, 26/11/2014 
Stefano Cazzella @StefanoCazzella 
http://caccio.blogdns.net 
http://bimodeler.com 
stefano.cazzella{at}gmail.com 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 1
Complexity in SE and IS development 
The art of programming is the art of 
organizing complexity, of mastering 
multitude and avoiding its bastard chaos as 
effectively as possible. 
– Edsger Dijkstra, “Notes on Structured Programming” 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 2
Project Layers 
Business 
• User requirements 
• Conceptual model 
Design 
• Technical choices 
• Logical model 
Build 
• Tecnology 
• Physical model 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 3
Civil Engineering Example 
Business 
What the 
client 
wants 
Design 
The 
technical 
blueprint 
Build 
The 
desired 
building 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 4
Model-driven engineering 
• Business 
centric 
• No tecnical 
details 
PIM 
Model transformation 
PSM • Tecnical 
• Tecnical 
design 
• System 
architecture 
deliverables 
• System 
realization 
Build 
Model transformation 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 5
Project Layers for Data Mart 
Business 
• Dimensional Fact Model 
Design 
• Relational model 
Build 
• DBMS specific DDL 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 6
Why Dimensional Fact Model ? 
Formal language  well-specified syntax and an unequivocally 
interpretation (semantic) based on a sound algebraic definition 
Simple and effective graphical notation (representation) 
Specifically defined to represent multi-dimensional models 
Does not imply any technical/implementation choice 
1 
2 
3 
4 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 7
Multi-dimensional model 
The SALES event: 
On Nov. 25th, 2014 
the Store 2 sold 10 
pieces of Product X 
for a total revenue of 
€ 220 
Product 
Store 
Store 1 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 8 
Day 
Product X 
Store 2 
Store 3 
Product Y 
Units sold: 10 
pieces 
Revenue: € 220 
Product Z 
3-dimensional SALES hyper-space
SALES Hyper-cube 
SALES 
Hyper-cube 
Nov. 26, 2014 
Nov. 25, 2014 
Nov. 24, 2014 
Nov. 23, 2014 
Product Z 
Product Y 
Product X 
Units sold: 10 pieces 
Revenue: € 220 
The SALES event: 
On Nov. 25th, 2014 
the Store 2 sold 10 
pieces of Product X 
for a total revenue of 
€ 220 
Days 
Stores 
Measures 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 9
DFM Notation Compendium 
Fact schema SALES 
Hierarchy 
Dimension 
Dimensonal attribute 
Dependency 
Non-dimensonal 
attribute 
Measure 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 10
Data Mart building process 
Business user’s needs 
Requirements 
definition 
Model 
Technical knowledge 
transformation 
Deployment 
transformation 
Implementation 
strategy 
Logical data model 
(Relational model: 
tables, columns, etc.) 
Data Mart 
Phisical data model 
(DDL with indexes, 
partions, etc.) 
Model 
Multidimensional 
data model 
(Dimensional Fact Model) 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 11
Data Mart building process 
Business user’s needs 
+ = 
Requirements 
definition 
Formalize user’s needs in a conceptual 
(business-centric) model, then … 
Model 
Technical knowledge 
… transform transformation 
it in a logical model integrating 
technical specifications and best practices … 
Deployment 
transformation 
Implementation 
strategy 
… and transform it again in a physical model 
that realizes the business requirements 
Logical data model 
(Relational model: 
tables, columns, etc.) 
Data Mart 
Phisical data model 
(DDL with indexes, 
partions, etc.) 
Model 
Multidimensional 
data model 
(Dimensional Fact Model) 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 12
Business - From requisite to DFM 
• Context: weblog analytics - the 
analysis of the visits of several 
web sites belonging to different 
domains (eg. Google Analytics) 
• Requisite: monitoring and 
analyzing the number of visits 
and their monthly and daily 
average duration for each page 
of the websites, or each domain, 
distributed by the geographic 
region of the IP of the visitors. 
+ 
 Domain definition 
 Aggregation rules 
 Optional dependencies 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 13
Design choice 
Reference ROLAP model: 
• Star-schema (denormalized dimension table) 
• Snow-flake (hierarchies implemented by tables in 3NF) 
Hierarchy implementation strategy (for every dimension) 
• Use natural key (the dimension attribute  PK column) 
• Use surrogate key (add a new column with no business meaning) 
• Use slow-changing dimension (SCD) of type 2 
• Use implicit dimension (no dimension table, only a column in the fact table) 
Domain  Data type association 
• Text  VARCHAR(250) ; Currency  NUMBER(9,2) ; etc. 
Standard naming conventions and abbreviations 
• Table name prefix (D for Dimensions, F for Facts) ; Number  NBR ; etc. 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 14
Transform DFM in a Relational Model 
SCD-2 
Start date 
End date 
Model 
transformation 
Fact grain 
Technical design choices: 
• Reference ROLAP model  star-schema 
• Hierarchy Viewer use surrogate key 
• Hierarchy Page  SCD – Type 2 
• Hierarchy Time  denormalized with natural key 
Surrogate key 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 15
Build choice 
Choice the DBMS 
• SqlServer – Oracle – Hive / Hadoop 
Generate constraints? 
• Generate unique keys / primary keys / integrity constraints (foreign keys) 
Add specific indexes 
• Add clustered indexes / column-store indexes / bitmap indexes / etc. 
Define table partitions 
• Organize fact tables in partitions (by hash, value, range, etc.) 
Distribute data over multiple volumes 
• Define file groups / tablespaces for tables, partitions, indexes 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 16
Phisical model and DDL (1) 
Implementation choices & best practice: 
• DBMS  SQL Server 
• Fact F_VISITS partitioned by year 
• Column-store index on day and duration 
• 2 distinct file groups for tables and indexes 
Partition scheme and functions 
File groups 
Column-store index 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 17
Phisical model and DDL (2) 
Implementation choices & best practice: 
• DBMS  Oracle 
• Fact F_VISITS partitioned by year 
• Bitmap index on viewer dimension 
• 2 distinct table spaces for tables and 
indexes 
Table spaces 
Table partitions 
Bitmap index 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 18
BI Modeler 
• In order to apply a model-driven approach, BI Project teams 
need a software tool to: 
Manage (draw) all the models - DFM, relational, etc. 
Support (and drive) the model transformation process 
• There was (are) no many tools able to do that so, in 2006 I 
started working on the development of … 
http://bimodeler.com 
BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 19

Más contenido relacionado

La actualidad más candente

What to Expect From Oracle database 19c
What to Expect From Oracle database 19cWhat to Expect From Oracle database 19c
What to Expect From Oracle database 19cMaria Colgan
 
Understanding and Improving Code Generation
Understanding and Improving Code GenerationUnderstanding and Improving Code Generation
Understanding and Improving Code GenerationDatabricks
 
Introduction of sql server indexing
Introduction of sql server indexingIntroduction of sql server indexing
Introduction of sql server indexingMahabubur Rahaman
 
MySQL Optimizer Overview
MySQL Optimizer OverviewMySQL Optimizer Overview
MySQL Optimizer OverviewOlav Sandstå
 
MySQL: Indexing for Better Performance
MySQL: Indexing for Better PerformanceMySQL: Indexing for Better Performance
MySQL: Indexing for Better Performancejkeriaki
 
Enhancing Spark SQL Optimizer with Reliable Statistics
Enhancing Spark SQL Optimizer with Reliable StatisticsEnhancing Spark SQL Optimizer with Reliable Statistics
Enhancing Spark SQL Optimizer with Reliable StatisticsJen Aman
 
How the Postgres Query Optimizer Works
How the Postgres Query Optimizer WorksHow the Postgres Query Optimizer Works
How the Postgres Query Optimizer WorksEDB
 
Overview of Databases and Data Modelling-2.pdf
Overview of Databases and Data Modelling-2.pdfOverview of Databases and Data Modelling-2.pdf
Overview of Databases and Data Modelling-2.pdfChristalin Nelson
 
SQL Server Performance Tuning Baseline
SQL Server Performance Tuning BaselineSQL Server Performance Tuning Baseline
SQL Server Performance Tuning Baseline► Supreme Mandal ◄
 
An Intro to NoSQL Databases
An Intro to NoSQL DatabasesAn Intro to NoSQL Databases
An Intro to NoSQL DatabasesRajith Pemabandu
 
Database Architecture and Basic Concepts
Database Architecture and Basic ConceptsDatabase Architecture and Basic Concepts
Database Architecture and Basic ConceptsTony Wong
 
Best Practices – Extreme Performance with Data Warehousing on Oracle Database
Best Practices – Extreme Performance with Data Warehousing on Oracle DatabaseBest Practices – Extreme Performance with Data Warehousing on Oracle Database
Best Practices – Extreme Performance with Data Warehousing on Oracle DatabaseEdgar Alejandro Villegas
 
Introduction to Cassandra Architecture
Introduction to Cassandra ArchitectureIntroduction to Cassandra Architecture
Introduction to Cassandra Architecturenickmbailey
 
7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth7. Key-Value Databases: In Depth
7. Key-Value Databases: In DepthFabio Fumarola
 
Performance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabasePerformance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabaseTung Nguyen Thanh
 
Leo's notes - Oracle DBA 2 Days
Leo's notes - Oracle DBA 2 DaysLeo's notes - Oracle DBA 2 Days
Leo's notes - Oracle DBA 2 DaysLéopold Gault
 
Building large scale, job processing systems with Scala Akka Actor framework
Building large scale, job processing systems with Scala Akka Actor frameworkBuilding large scale, job processing systems with Scala Akka Actor framework
Building large scale, job processing systems with Scala Akka Actor frameworkVignesh Sukumar
 

La actualidad más candente (20)

What to Expect From Oracle database 19c
What to Expect From Oracle database 19cWhat to Expect From Oracle database 19c
What to Expect From Oracle database 19c
 
Understanding and Improving Code Generation
Understanding and Improving Code GenerationUnderstanding and Improving Code Generation
Understanding and Improving Code Generation
 
Introduction of sql server indexing
Introduction of sql server indexingIntroduction of sql server indexing
Introduction of sql server indexing
 
Sql server basics
Sql server basicsSql server basics
Sql server basics
 
MySQL Optimizer Overview
MySQL Optimizer OverviewMySQL Optimizer Overview
MySQL Optimizer Overview
 
MySQL: Indexing for Better Performance
MySQL: Indexing for Better PerformanceMySQL: Indexing for Better Performance
MySQL: Indexing for Better Performance
 
Enhancing Spark SQL Optimizer with Reliable Statistics
Enhancing Spark SQL Optimizer with Reliable StatisticsEnhancing Spark SQL Optimizer with Reliable Statistics
Enhancing Spark SQL Optimizer with Reliable Statistics
 
How the Postgres Query Optimizer Works
How the Postgres Query Optimizer WorksHow the Postgres Query Optimizer Works
How the Postgres Query Optimizer Works
 
Overview of Databases and Data Modelling-2.pdf
Overview of Databases and Data Modelling-2.pdfOverview of Databases and Data Modelling-2.pdf
Overview of Databases and Data Modelling-2.pdf
 
SQL Server Performance Tuning Baseline
SQL Server Performance Tuning BaselineSQL Server Performance Tuning Baseline
SQL Server Performance Tuning Baseline
 
An Intro to NoSQL Databases
An Intro to NoSQL DatabasesAn Intro to NoSQL Databases
An Intro to NoSQL Databases
 
Database Architecture and Basic Concepts
Database Architecture and Basic ConceptsDatabase Architecture and Basic Concepts
Database Architecture and Basic Concepts
 
Best Practices – Extreme Performance with Data Warehousing on Oracle Database
Best Practices – Extreme Performance with Data Warehousing on Oracle DatabaseBest Practices – Extreme Performance with Data Warehousing on Oracle Database
Best Practices – Extreme Performance with Data Warehousing on Oracle Database
 
Agreggates i
Agreggates iAgreggates i
Agreggates i
 
Introduction to Cassandra Architecture
Introduction to Cassandra ArchitectureIntroduction to Cassandra Architecture
Introduction to Cassandra Architecture
 
7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth
 
Performance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabasePerformance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL Database
 
Leo's notes - Oracle DBA 2 Days
Leo's notes - Oracle DBA 2 DaysLeo's notes - Oracle DBA 2 Days
Leo's notes - Oracle DBA 2 Days
 
Building large scale, job processing systems with Scala Akka Actor framework
Building large scale, job processing systems with Scala Akka Actor frameworkBuilding large scale, job processing systems with Scala Akka Actor framework
Building large scale, job processing systems with Scala Akka Actor framework
 
Basic SQL
Basic SQLBasic SQL
Basic SQL
 

Destacado

L'approccio model-driven di Sopra Group per i progetti di Business Intelligen...
L'approccio model-driven di Sopra Group per i progetti di Business Intelligen...L'approccio model-driven di Sopra Group per i progetti di Business Intelligen...
L'approccio model-driven di Sopra Group per i progetti di Business Intelligen...caccio
 
Dimensional Fact Model @ BI Academy - 2016
Dimensional Fact Model @ BI Academy - 2016Dimensional Fact Model @ BI Academy - 2016
Dimensional Fact Model @ BI Academy - 2016caccio
 
Model Driven Business Intelligence
Model Driven Business IntelligenceModel Driven Business Intelligence
Model Driven Business Intelligencecaccio
 
Why create a Data Mart with Dimensional Fact Model
Why create a Data Mart with Dimensional Fact ModelWhy create a Data Mart with Dimensional Fact Model
Why create a Data Mart with Dimensional Fact Modelcaccio
 
Zackman frame work
Zackman frame workZackman frame work
Zackman frame workganblues
 
Informatica Designer Module
Informatica Designer ModuleInformatica Designer Module
Informatica Designer Moduleganblues
 
Database and Data Warehousing-Building Business Intelligence
Database and Data Warehousing-Building Business IntelligenceDatabase and Data Warehousing-Building Business Intelligence
Database and Data Warehousing-Building Business IntelligenceYeng Ferraris Portes
 
Informatica Server Manager
Informatica Server ManagerInformatica Server Manager
Informatica Server Managerganblues
 
Informatica Power Center 7.1
Informatica Power Center 7.1Informatica Power Center 7.1
Informatica Power Center 7.1ganblues
 
multi dimensional data model
multi dimensional data modelmulti dimensional data model
multi dimensional data modelmoni sindhu
 
Informatica student meterial
Informatica student meterialInformatica student meterial
Informatica student meterialSunil Kotthakota
 
Basics of Microsoft Business Intelligence and Data Integration Techniques
Basics of Microsoft Business Intelligence and Data Integration TechniquesBasics of Microsoft Business Intelligence and Data Integration Techniques
Basics of Microsoft Business Intelligence and Data Integration TechniquesValmik Potbhare
 
MIS BAB 2 - Sistem Pengolahan Data
MIS BAB 2 - Sistem Pengolahan DataMIS BAB 2 - Sistem Pengolahan Data
MIS BAB 2 - Sistem Pengolahan DataRiza Nurman
 

Destacado (15)

L'approccio model-driven di Sopra Group per i progetti di Business Intelligen...
L'approccio model-driven di Sopra Group per i progetti di Business Intelligen...L'approccio model-driven di Sopra Group per i progetti di Business Intelligen...
L'approccio model-driven di Sopra Group per i progetti di Business Intelligen...
 
Dimensional Fact Model @ BI Academy - 2016
Dimensional Fact Model @ BI Academy - 2016Dimensional Fact Model @ BI Academy - 2016
Dimensional Fact Model @ BI Academy - 2016
 
Model Driven Business Intelligence
Model Driven Business IntelligenceModel Driven Business Intelligence
Model Driven Business Intelligence
 
Why create a Data Mart with Dimensional Fact Model
Why create a Data Mart with Dimensional Fact ModelWhy create a Data Mart with Dimensional Fact Model
Why create a Data Mart with Dimensional Fact Model
 
Zackman frame work
Zackman frame workZackman frame work
Zackman frame work
 
Informatica Designer Module
Informatica Designer ModuleInformatica Designer Module
Informatica Designer Module
 
Database and Data Warehousing-Building Business Intelligence
Database and Data Warehousing-Building Business IntelligenceDatabase and Data Warehousing-Building Business Intelligence
Database and Data Warehousing-Building Business Intelligence
 
Informatica Server Manager
Informatica Server ManagerInformatica Server Manager
Informatica Server Manager
 
Informatica Power Center 7.1
Informatica Power Center 7.1Informatica Power Center 7.1
Informatica Power Center 7.1
 
multi dimensional data model
multi dimensional data modelmulti dimensional data model
multi dimensional data model
 
Informatica student meterial
Informatica student meterialInformatica student meterial
Informatica student meterial
 
Basics of Microsoft Business Intelligence and Data Integration Techniques
Basics of Microsoft Business Intelligence and Data Integration TechniquesBasics of Microsoft Business Intelligence and Data Integration Techniques
Basics of Microsoft Business Intelligence and Data Integration Techniques
 
MIS BAB 2 - Sistem Pengolahan Data
MIS BAB 2 - Sistem Pengolahan DataMIS BAB 2 - Sistem Pengolahan Data
MIS BAB 2 - Sistem Pengolahan Data
 
BUSINESS QUIZ -Round 1
 BUSINESS QUIZ -Round 1 BUSINESS QUIZ -Round 1
BUSINESS QUIZ -Round 1
 
Slideshare ppt
Slideshare pptSlideshare ppt
Slideshare ppt
 

Similar a Dimensional Fact Model @ BI Academy Launch

ER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureEmbarcadero Technologies
 
Berenschot printen in 3 d en ie -octrooigilde 12-11-2014
Berenschot   printen in 3 d en ie -octrooigilde 12-11-2014Berenschot   printen in 3 d en ie -octrooigilde 12-11-2014
Berenschot printen in 3 d en ie -octrooigilde 12-11-2014Alfons Laudy
 
Decrease bi development costs with erd md generator
Decrease bi development costs with erd md generatorDecrease bi development costs with erd md generator
Decrease bi development costs with erd md generatorThierry de Spirlet
 
[Sirius Day Eindhoven 2018] ASML's MDE Going Sirius
[Sirius Day Eindhoven 2018]  ASML's MDE Going Sirius[Sirius Day Eindhoven 2018]  ASML's MDE Going Sirius
[Sirius Day Eindhoven 2018] ASML's MDE Going SiriusObeo
 
EclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse Stardust
EclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse StardustEclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse Stardust
EclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse StardustSopra Steria
 
Supporting Architectural Variabiality in Software Product Lines
Supporting Architectural Variabiality in Software Product LinesSupporting Architectural Variabiality in Software Product Lines
Supporting Architectural Variabiality in Software Product LinesJaime Chavarriaga
 
SiriusCon2016 - ASML's MDE Going Sirius
SiriusCon2016 - ASML's MDE Going SiriusSiriusCon2016 - ASML's MDE Going Sirius
SiriusCon2016 - ASML's MDE Going SiriusObeo
 
Power BI / AAS Data Model Optimization 101 v2
Power BI / AAS Data Model Optimization 101 v2Power BI / AAS Data Model Optimization 101 v2
Power BI / AAS Data Model Optimization 101 v2Dan English
 
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...Daniel Zivkovic
 
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...Microsoft TechNet - Belgium and Luxembourg
 
Bdf16 big-data-warehouse-case-study-data kitchen
Bdf16 big-data-warehouse-case-study-data kitchenBdf16 big-data-warehouse-case-study-data kitchen
Bdf16 big-data-warehouse-case-study-data kitchenChristopher Bergh
 
Developing sites with Magnolia 4 / STK
Developing sites with Magnolia 4 / STKDeveloping sites with Magnolia 4 / STK
Developing sites with Magnolia 4 / STKguest0afb3
 
Knowage 8 presentation
Knowage 8   presentationKnowage 8   presentation
Knowage 8 presentationKNOWAGE
 
Dashboard Factory - most efficient way to develop with SAP Design Studio
Dashboard Factory - most efficient way to develop with SAP Design Studio Dashboard Factory - most efficient way to develop with SAP Design Studio
Dashboard Factory - most efficient way to develop with SAP Design Studio Iliya Ruvinsky
 
Enterprise Architecture Workshop London - July 17th 2017
Enterprise Architecture Workshop London - July 17th 2017Enterprise Architecture Workshop London - July 17th 2017
Enterprise Architecture Workshop London - July 17th 2017Daljit Banger
 
How to Quickly Prototype a Scalable Graph Architecture: A Framework for Rapid...
How to Quickly Prototype a Scalable Graph Architecture: A Framework for Rapid...How to Quickly Prototype a Scalable Graph Architecture: A Framework for Rapid...
How to Quickly Prototype a Scalable Graph Architecture: A Framework for Rapid...Enterprise Knowledge
 

Similar a Dimensional Fact Model @ BI Academy Launch (20)

ER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data Architecture
 
Berenschot printen in 3 d en ie -octrooigilde 12-11-2014
Berenschot   printen in 3 d en ie -octrooigilde 12-11-2014Berenschot   printen in 3 d en ie -octrooigilde 12-11-2014
Berenschot printen in 3 d en ie -octrooigilde 12-11-2014
 
Decrease bi development costs with erd md generator
Decrease bi development costs with erd md generatorDecrease bi development costs with erd md generator
Decrease bi development costs with erd md generator
 
[Sirius Day Eindhoven 2018] ASML's MDE Going Sirius
[Sirius Day Eindhoven 2018]  ASML's MDE Going Sirius[Sirius Day Eindhoven 2018]  ASML's MDE Going Sirius
[Sirius Day Eindhoven 2018] ASML's MDE Going Sirius
 
EclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse Stardust
EclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse StardustEclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse Stardust
EclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse Stardust
 
Big Data Modeling
Big Data ModelingBig Data Modeling
Big Data Modeling
 
CV_Vadivu
CV_VadivuCV_Vadivu
CV_Vadivu
 
Supporting Architectural Variabiality in Software Product Lines
Supporting Architectural Variabiality in Software Product LinesSupporting Architectural Variabiality in Software Product Lines
Supporting Architectural Variabiality in Software Product Lines
 
SiriusCon2016 - ASML's MDE Going Sirius
SiriusCon2016 - ASML's MDE Going SiriusSiriusCon2016 - ASML's MDE Going Sirius
SiriusCon2016 - ASML's MDE Going Sirius
 
Power BI / AAS Data Model Optimization 101 v2
Power BI / AAS Data Model Optimization 101 v2Power BI / AAS Data Model Optimization 101 v2
Power BI / AAS Data Model Optimization 101 v2
 
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
 
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
 
FAISAL SULEMAN_CV
FAISAL SULEMAN_CVFAISAL SULEMAN_CV
FAISAL SULEMAN_CV
 
Bdf16 big-data-warehouse-case-study-data kitchen
Bdf16 big-data-warehouse-case-study-data kitchenBdf16 big-data-warehouse-case-study-data kitchen
Bdf16 big-data-warehouse-case-study-data kitchen
 
Developing sites with Magnolia 4 / STK
Developing sites with Magnolia 4 / STKDeveloping sites with Magnolia 4 / STK
Developing sites with Magnolia 4 / STK
 
Knowage 8 presentation
Knowage 8   presentationKnowage 8   presentation
Knowage 8 presentation
 
Data Warehousing And Business Intelligence Training
Data Warehousing And Business Intelligence TrainingData Warehousing And Business Intelligence Training
Data Warehousing And Business Intelligence Training
 
Dashboard Factory - most efficient way to develop with SAP Design Studio
Dashboard Factory - most efficient way to develop with SAP Design Studio Dashboard Factory - most efficient way to develop with SAP Design Studio
Dashboard Factory - most efficient way to develop with SAP Design Studio
 
Enterprise Architecture Workshop London - July 17th 2017
Enterprise Architecture Workshop London - July 17th 2017Enterprise Architecture Workshop London - July 17th 2017
Enterprise Architecture Workshop London - July 17th 2017
 
How to Quickly Prototype a Scalable Graph Architecture: A Framework for Rapid...
How to Quickly Prototype a Scalable Graph Architecture: A Framework for Rapid...How to Quickly Prototype a Scalable Graph Architecture: A Framework for Rapid...
How to Quickly Prototype a Scalable Graph Architecture: A Framework for Rapid...
 

Último

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Dimensional Fact Model @ BI Academy Launch

  • 1. Dimensional Fact Model Stuttgart, 26/11/2014 Stefano Cazzella @StefanoCazzella http://caccio.blogdns.net http://bimodeler.com stefano.cazzella{at}gmail.com BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 1
  • 2. Complexity in SE and IS development The art of programming is the art of organizing complexity, of mastering multitude and avoiding its bastard chaos as effectively as possible. – Edsger Dijkstra, “Notes on Structured Programming” BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 2
  • 3. Project Layers Business • User requirements • Conceptual model Design • Technical choices • Logical model Build • Tecnology • Physical model BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 3
  • 4. Civil Engineering Example Business What the client wants Design The technical blueprint Build The desired building BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 4
  • 5. Model-driven engineering • Business centric • No tecnical details PIM Model transformation PSM • Tecnical • Tecnical design • System architecture deliverables • System realization Build Model transformation BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 5
  • 6. Project Layers for Data Mart Business • Dimensional Fact Model Design • Relational model Build • DBMS specific DDL BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 6
  • 7. Why Dimensional Fact Model ? Formal language  well-specified syntax and an unequivocally interpretation (semantic) based on a sound algebraic definition Simple and effective graphical notation (representation) Specifically defined to represent multi-dimensional models Does not imply any technical/implementation choice 1 2 3 4 BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 7
  • 8. Multi-dimensional model The SALES event: On Nov. 25th, 2014 the Store 2 sold 10 pieces of Product X for a total revenue of € 220 Product Store Store 1 BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 8 Day Product X Store 2 Store 3 Product Y Units sold: 10 pieces Revenue: € 220 Product Z 3-dimensional SALES hyper-space
  • 9. SALES Hyper-cube SALES Hyper-cube Nov. 26, 2014 Nov. 25, 2014 Nov. 24, 2014 Nov. 23, 2014 Product Z Product Y Product X Units sold: 10 pieces Revenue: € 220 The SALES event: On Nov. 25th, 2014 the Store 2 sold 10 pieces of Product X for a total revenue of € 220 Days Stores Measures BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 9
  • 10. DFM Notation Compendium Fact schema SALES Hierarchy Dimension Dimensonal attribute Dependency Non-dimensonal attribute Measure BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 10
  • 11. Data Mart building process Business user’s needs Requirements definition Model Technical knowledge transformation Deployment transformation Implementation strategy Logical data model (Relational model: tables, columns, etc.) Data Mart Phisical data model (DDL with indexes, partions, etc.) Model Multidimensional data model (Dimensional Fact Model) BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 11
  • 12. Data Mart building process Business user’s needs + = Requirements definition Formalize user’s needs in a conceptual (business-centric) model, then … Model Technical knowledge … transform transformation it in a logical model integrating technical specifications and best practices … Deployment transformation Implementation strategy … and transform it again in a physical model that realizes the business requirements Logical data model (Relational model: tables, columns, etc.) Data Mart Phisical data model (DDL with indexes, partions, etc.) Model Multidimensional data model (Dimensional Fact Model) BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 12
  • 13. Business - From requisite to DFM • Context: weblog analytics - the analysis of the visits of several web sites belonging to different domains (eg. Google Analytics) • Requisite: monitoring and analyzing the number of visits and their monthly and daily average duration for each page of the websites, or each domain, distributed by the geographic region of the IP of the visitors. +  Domain definition  Aggregation rules  Optional dependencies BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 13
  • 14. Design choice Reference ROLAP model: • Star-schema (denormalized dimension table) • Snow-flake (hierarchies implemented by tables in 3NF) Hierarchy implementation strategy (for every dimension) • Use natural key (the dimension attribute  PK column) • Use surrogate key (add a new column with no business meaning) • Use slow-changing dimension (SCD) of type 2 • Use implicit dimension (no dimension table, only a column in the fact table) Domain  Data type association • Text  VARCHAR(250) ; Currency  NUMBER(9,2) ; etc. Standard naming conventions and abbreviations • Table name prefix (D for Dimensions, F for Facts) ; Number  NBR ; etc. BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 14
  • 15. Transform DFM in a Relational Model SCD-2 Start date End date Model transformation Fact grain Technical design choices: • Reference ROLAP model  star-schema • Hierarchy Viewer use surrogate key • Hierarchy Page  SCD – Type 2 • Hierarchy Time  denormalized with natural key Surrogate key BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 15
  • 16. Build choice Choice the DBMS • SqlServer – Oracle – Hive / Hadoop Generate constraints? • Generate unique keys / primary keys / integrity constraints (foreign keys) Add specific indexes • Add clustered indexes / column-store indexes / bitmap indexes / etc. Define table partitions • Organize fact tables in partitions (by hash, value, range, etc.) Distribute data over multiple volumes • Define file groups / tablespaces for tables, partitions, indexes BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 16
  • 17. Phisical model and DDL (1) Implementation choices & best practice: • DBMS  SQL Server • Fact F_VISITS partitioned by year • Column-store index on day and duration • 2 distinct file groups for tables and indexes Partition scheme and functions File groups Column-store index BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 17
  • 18. Phisical model and DDL (2) Implementation choices & best practice: • DBMS  Oracle • Fact F_VISITS partitioned by year • Bitmap index on viewer dimension • 2 distinct table spaces for tables and indexes Table spaces Table partitions Bitmap index BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 18
  • 19. BI Modeler • In order to apply a model-driven approach, BI Project teams need a software tool to: Manage (draw) all the models - DFM, relational, etc. Support (and drive) the model transformation process • There was (are) no many tools able to do that so, in 2006 I started working on the development of … http://bimodeler.com BI ACADEMY Launch@Germany - Stuttgart, 26/11/2014 - Stefano Cazzella 19