Data Warehousing & OLAP

Similar documents
Data Warehousing. Wolf-Tilo Balke Silviu Homoceanu Institut für Informationssysteme Technische Universität Braunschweig

Data Warehouse and Data Mining

Data Warehousing & Data Mining

Data Warehousing & Data Mining

2. Summary. 2.1 Basic Architecture. 2. Architecture. 2.1 Staging Area. 2.1 Operational Data Store. Last week: Architecture and Data model

Data Warehousing & Mining Techniques

Data Warehousing & Mining Techniques

Dta Mining and Data Warehousing

ECT7110 Introduction to Data Warehousing

ECLT 5810 Introduction to Data Warehousing

Data Mining Concepts & Techniques

Summary. 4. Indexes. 4.0 Indexes. 4.1 Tree Based Indexes. 4.0 Indexes. 19-Nov-10. Last week: This week:

Chapter 4, Data Warehouse and OLAP Operations

Information Management course

A Multi-Dimensional Data Model

What is a Data Warehouse?

Data Warehousing & OLAP

ETL and OLAP Systems

Information Management course

Decision Support Systems aka Analytical Systems

Summary. Summary. 5. Optimization. 5.1 Partitioning. 5.1 Partitioning. 26-Nov-10. B-Trees are not fit for multidimensional data R-Trees

IT DATA WAREHOUSING AND DATA MINING UNIT-2 BUSINESS ANALYSIS

collection of data that is used primarily in organizational decision making.

Data Warehousing & OLAP

An Overview of Data Warehousing and OLAP Technology

CS614 - Data Warehousing - Midterm Papers Solved MCQ(S) (1 TO 22 Lectures)

Data Warehouse and Data Mining

Data Warehouses. Yanlei Diao. Slides Courtesy of R. Ramakrishnan and J. Gehrke

MIS2502: Data Analytics Dimensional Data Modeling. Jing Gong

Database design View Access patterns Need for separate data warehouse:- A multidimensional data model:-

Basics of Dimensional Modeling

Data Warehouse. Concepts and Techniques. Chapter 3. SS Chung. April 5, 2013 Data Mining: Concepts and Techniques 1

ALTERNATE SCHEMA DIAGRAMMING METHODS DECISION SUPPORT SYSTEMS. CS121: Relational Databases Fall 2017 Lecture 22

Data Warehousing & On-Line Analytical Processing

REPORTING AND QUERY TOOLS AND APPLICATIONS

MIS2502: Data Analytics Dimensional Data Modeling. Jing Gong

Data Warehouse and Data Mining

Proceedings of the IE 2014 International Conference AGILE DATA MODELS

Data Warehouse and Data Mining

OLAP2 outline. Multi Dimensional Data Model. A Sample Data Cube

Data Warehousing and OLAP

Data Warehousing and Decision Support (mostly using Relational Databases) CS634 Class 20

Syllabus. Syllabus. Motivation Decision Support. Syllabus

Data Warehousing and Decision Support

Improving the Performance of OLAP Queries Using Families of Statistics Trees

Data Warehouse and Data Mining

Data Warehousing & On-line Analytical Processing

CT75 DATA WAREHOUSING AND DATA MINING DEC 2015

CS490D: Introduction to Data Mining Chris Clifton

Chapter 3. The Multidimensional Model: Basic Concepts. Introduction. The multidimensional model. The multidimensional model

Data Warehousing and Decision Support. Introduction. Three Complementary Trends. [R&G] Chapter 23, Part A

DATA WAREHOUSE EGCO321 DATABASE SYSTEMS KANAT POOLSAWASD DEPARTMENT OF COMPUTER ENGINEERING MAHIDOL UNIVERSITY

CSE 544 Principles of Database Management Systems. Alvin Cheung Fall 2015 Lecture 8 - Data Warehousing and Column Stores

Lectures for the course: Data Warehousing and Data Mining (IT 60107)

CS 412 Intro. to Data Mining

Data Warehouse. Asst.Prof.Dr. Pattarachai Lalitrojwong

Chapter 13 Business Intelligence and Data Warehouses The Need for Data Analysis Business Intelligence. Objectives

CHAPTER 8: ONLINE ANALYTICAL PROCESSING(OLAP)

Acknowledgment. MTAT Data Mining. Week 7: Online Analytical Processing and Data Warehouses. Typical Data Analysis Process.

Data Warehousing. Overview

Evolution of Database Systems

This tutorial will help computer science graduates to understand the basic-to-advanced concepts related to data warehousing.

Data Warehousing and Decision Support

Analyse des Données. Master 2 IMAFA. Andrea G. B. Tettamanzi

Data warehouse architecture consists of the following interconnected layers:

CSPP 53017: Data Warehousing Winter 2013! Lecture 7! Svetlozar Nestorov! Class News!

Jarek Szlichta Acknowledgments: Jiawei Han, Micheline Kamber and Jian Pei, Data Mining - Concepts and Techniques

Data Warehouses and OLAP. Database and Information Systems. Data Warehouses and OLAP. Data Warehouses and OLAP

Reminds on Data Warehousing

Summary of Last Chapter. Course Content. Chapter 2 Objectives. Data Warehouse and OLAP Outline. Incentive for a Data Warehouse

Fig 1.2: Relationship between DW, ODS and OLTP Systems

Data warehouses Decision support The multidimensional model OLAP queries

Data Warehousing & Data Mining

Tribhuvan University Institute of Science and Technology MODEL QUESTION

CHAPTER 3 Implementation of Data warehouse in Data Mining

Data warehouse design

Sql Fact Constellation Schema In Data Warehouse With Example

Data Warehousing Conclusion. Esteban Zimányi Slides by Toon Calders

Data Warehousing & Data Mining

Advanced Data Management Technologies Written Exam

Data Warehouse and Data Mining

Processing of Very Large Data

BUSINESS INTELLIGENCE. SSAS - SQL Server Analysis Services. Business Informatics Degree

Data Warehousing Introduction. Toon Calders

Data Warehousing 2. ICS 421 Spring Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa

Decision Support Systems

Advanced Data Management Technologies

Introduction to Data Warehousing

Deccansoft Software Services Microsoft Silver Learning Partner. SSAS Syllabus

Data Mining. Data warehousing. Hamid Beigy. Sharif University of Technology. Fall 1396

Overview. Introduction to Data Warehousing and Business Intelligence. BI Is Important. What is Business Intelligence (BI)?

Data Mining. Data warehousing. Hamid Beigy. Sharif University of Technology. Fall 1394

DATA WAREHOUING UNIT I

Data Cube Technology

CS 1655 / Spring 2013! Secure Data Management and Web Applications

Data Warehousing. Wolf-Tilo Balke Silviu Homoceanu Institut für Informationssysteme Technische Universität Braunschweig

Data Warehouse Logical Design. Letizia Tanca Politecnico di Milano (with the kind support of Rosalba Rossato)

IDU0010 ERP,CRM ja DW süsteemid Loeng 5 DW concepts. Enn Õunapuu

MIS2502: Data Analytics The Information Architecture of an Organization. Jing Gong

Advanced Data Management Technologies

Transcription:

Data Warehousing & OLAP Wolf-Tilo Balke Kinda El Maarry Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de

Summary Last Lecture: Architectures: Three-Tier Architecture Data Modeling in DW multidimensional paradigm Conceptual Modeling: ME/R and muml This week: Data Modeling (continued) Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 2

3. DW Modeling 3. Data Modeling 3.1 Logical Modeling: Cubes, Dimensions, Hierarchies 3.2 Physical Modeling: Array storage, Star, Snowflake Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 3

3.1 Logical Model Elements of the logical model Dimensions and cubes Basic operations in the multidimensional paradigm Cube -selection, -projection, -join Change support for the logical model Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 4

3.1 Logical Model Goal of the Logical Model Refine the real facts and dimensions of the subjects identified in the conceptual model Establish the granularity for dimensions E.g. cubes: sales, purchase, price, inventory dimensions: product, time, geography, client Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 5

3.1 Dimensions Dimensions are entities chosen in the data model regarding some analysis purpose Each dimension can be used to define more than one cube They are hierarchically organized Sales Turnover Prod. Categ Prod. Family Prod. Group Article Purchase Amount Price Unit Price Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 6

3.1 Dimensions Dimension hierarchies are organized in classification levels also called granularities (e.g., Day, Month, ) The dependencies between the classification levels are described in the classification schema by functional dependencies An attribute B is functionally dependent on some attribute A, denoted A B, if for all a dom(a) there exists exactly one b dom(b) corresponding to it Week Year Quarter Month Day Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 7

3.1 Dimensions Classification schemas The classification schema of a dimension D is a semiordered set of classification levels ({D.K 0,, D.K k }, ) With a smallest element D.K 0, i.e. there is no classification level with smaller granularity Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 8

3.1 Dimensions A fully-ordered set of classification levels is called a Path If we consider the classification schema of the time dimension, then we have the following paths T.Day T.Week T.Day T.Month T.Quarter T.Year Year Quarter Month Day Week Here T.Day is the smallest element Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 9

3.1 Dimensions Classification hierarchies Let D.K 0 D.K k be a path in the classification schema of dimension D A classification hierarchy concerning these path is a balanced tree which Has as nodes dom(d.k 0 ) dom(d.k k ) {ALL} And its edges respect the functional dependencies Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 10

3.1 Dimensions Example: classification hierarchy for the product dimension path Prod. Categ Prod. Family Prod. Group Article ALL Category Electronics Clothes Video recorder Video Camcorder Audio TV Prod. Family Prod. Group TR-34 TS-56 Article Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 11

3.1 Cubes Cubes represent the basic unit of the multidimensional paradigm They store one or more measures (e.g. the turnover for sales) in raw and pre-aggregated form More formally a cube C is a set of cube cells C dom(g) x dom(m), where G=(D 1.K 1,, D n.k n ) is the set of granularities, M=(M 1,, M m ) the set of measures E.g. Sales((Article, Day, Store, Client), (Turnover)) Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 12

3.1 Cubes Aggregates are used for speeding up queries For the 3-dim cube sales ((item, city, year), (turnover)) we have 3 aggregates with 2 dimensions e.g. (*, city, year) 3 aggregates with 1 dimension e.g. (*, *, year) 1 aggregate with no dimension (*,*,*) (*, *, *) city (*, *, year) item (*, city, year) Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 13

3.1 Cubes In the logical model cubes (also comprising the aggregates) are represented as a lattice of cuboids The top most cuboid, the 0-D, which holds the highest level of summarization is called apex cuboid The nd cube containing non-aggregated measures is called a base cuboid Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 14

3.1 Cubes But things can get complicated pretty fast (4 dim.) all 0-D(apex) cuboid time item location supplier 1-D cuboids time,item time,location item,location location,supplier time,supplier item,supplier 2-D cuboids time,location,supplier time,item,location time,item,supplier item,location,supplier 3-D cuboids time, item, location, supplier 4-D(base) cuboid Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 15

3.1 Basic Operations Basic operations of the multidimensional paradigm at logical level Selection Projection Cube join Aggregation Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 16

3.1 Basic Operations Multidimensional Selection The selection on a cube C((D 1.K 1,, D g.k g ), (M 1,, M m )) with a predicate P, is defined as σ P (C) = {z ЄC:P(z)}, if all variables in P are either: Classification levelsk, which functionally depend on a classification level in the granularity of K, i.e. D i.k i K Measures from (M 1,, M m ) E.g. σ P.Prod_group= Video (Sales) Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 17

3.1 Basic Operations Multidimensional projection The projection of a function of some measure F(M) of cube C is defined as * F(M) (C) = { (g,f(m)) dom(g) x dom(f(m)): (g,m) C} E.g. * turnover, sold_items (Sales) Sales Turnover Sold_items Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 18

3.1 Basic Operations Join operations between cubes is usual E.g. if turnover would not be provided, it could be calculated with the help of the unit price from the price cube 2 cubes C 1 (G 1, M 1 ) and C 2 (G 2, M 2 ) can only be joined, if they have the same granularity (G 1 = G 2 = G) C 1 C 2 = C(G, M 1 M 2 ) Sales Units_Sold Price Unit Price Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 19

3.1 Basic Operations Comparing granularities A granularity G={D 1.K 1,, D g.k g } is finer than G ={D 1.K 1,, D h.k h }, if and only if for each D j.k j G D i.k i Gwhere D i.k i D j.k j Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 20

3.1 Basic Operations When the granularities are different, but we still need to join the cubes, aggregation has to be performed E.g., Sales Inventory: aggregate Sales((Day, Article, Store, Client)) to Sales((Month, Article, Store, Client)) Country Region District City Client Store Sales Turnover Prod. Categ Prod. Family Prod. Group Week Article Inventory Stock Year Quarter Month Day Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 21

3.1 Basic Operations Aggregation is the most important operation for OLAP Aggregation functions Compute a single value from some set of values, e.g. in SQL: SUM, AVG, Count, Example: SUM (P.Product_group, G.City, T.Month) (Sales) Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 22

3.1 Change support Classification hierarchy, classification schema, cube schema are all designed in the building phase and considered as fixed Practice has proven different DW grow old, too Reasons for classification hierarchy and schema modifications New requirements Data evolution Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 23

3.1 Classification Hierarchy E.g. Saturn sells lots of electronics Assume they feed data to their DW since 2003 Example of a simple classification hierarchy of data until 01.07.2008, for mobile phones only: Mobile Phone GSM 3G Nokia 3600 O2 XDA BlackBerry Bold Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 24

3.1 Classification Hierarchy After 01.07.2008 3G becomes hip and affordable and many phone makers start migrating towards 3G capable phones O2 made its XDA 3G capable Mobile Phone GSM 3G Nokia 3600 O2 XDA BlackBerry Bold Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 25

3.1 Classification Hierarchy After 01.04.2011 phone makers already develop 4G capable phones Mobile Phone GSM 5G 2020?! 3G 4G Nokia 3600 O2 XDA BlackBerry Bold Samsung Galaxy S4 Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 26

3.1 Classification Hierarchy Problem: Sales volume for GSM products can be problematic According to the most actual schema, O2 XDA belongs to the 3G category No O2XDA GSM only device will account for the GSM sales volume Solution: trace the evolution of the data Versioning system of the classification hierarchy with validity timestamps Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 27

3.1 Classification Hierarchy Annotated change data Mobile Phone [01.03.2003, ) [01.04.2005, ) [01.04.2011, ) GSM 3G 4G [01.04.2005, ) [01.03.2003, 01.07.2008) [01.07.2008, ) [01.03.2006, ) [01.04.2011, ) Nokia 3600 O2 XDA BlackBerry Bold Samsung Galaxy S4 Relational Database Systems 1 Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 28

3.1 Classification Hierarchy The tree can be stored as metadata as a validity matrix Rows are parent nodes and columns are child nodes GSM 3G 4G Nokia 3600 O2 XDA Berry Bold Samsung Galaxy S4 Mobile phone [01.03.2003, ) [01.04.2005, ) [01.04.2011, ) GSM [01.04.2005, ) [01.03.2003, 01.07.2008) 3G [01.07.2008, ) [01.03.2006, ) 4G [01.04.2011, ) Nokia 3600 O2 XDA Berry Bold Best phone Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 29

3.1 Classification Hierarchy Flexibility gain: Having the validity information, queries like as is versus as was are possible Even if in the latest classification hierarchy GSM products would not be provided anymore one can still compare sales for O2XDA as GSM vs. 3G Mobile Phone GSM 3G 4G Nokia 3600 O2 XDA BlackBerry Bold Samsung Galaxy S4 Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 30

3.1 Schema Versioning No data loss All the data corresponding to all the schemas are always available After a schema modification the data is held in their belonging schema Old data - old schema Prod. Categ New data - new schema Prod. Categ Prod. Family Prod. Group Prod. Group Article Article Sales Turnover Sales Turnover Purchase Amount Purchase Amount Price Unit Price Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 31.

3.1 Schema Versioning Advantages Allows higher flexibility e.g. querying for the product family for old data Disadvantages Adaptation of the data to the queried schema is done on the spot This results in longer query run time Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 32

3.1 Schema Modification Schema evolution Prod. Categ Prod. Family Prod. Group Article Sales Turnover Modifications can be performed without data loss It involves schema modification and data adaptation to the new schema Purchase Amount Price Unit Price Advantage: Faster to execute queries for DW with many schema modifications Because all data is prepared for the current and single schema Disadvantage: It limits user flexibility - only queries based on the actual schema are supported Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 33

3.2 Physical Model Defining the physical structures Define the actual storage architecture Decide on how the data is to be accessed and how it is arranged Performance tuning strategies (next lecture) Indexing Partitioning Materialization Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 34

3.2 Physical Model The data in the DW is stored according to the multidimensional paradigm The obvious multidimensional storage model is directly encoding matrices Relational DB vendors, in the market place saw the opportunity and adapted their systems Special schemas respecting the multidimensional paradigm Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 35

3.2 Multidimensional Model The basic data structure for multidimensional data storage is the array The elementary data structures are the cubes and the dimensions C=((D 1,, D n ), (M 1,, M m )) The storage of matrices is intuitive as arrays of arrays i.e. physically linearized Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 36

3.2 Linearization Linearization example: 2D cube D 1 = 5, D 2 = 4, cube cells = 20 Query: Jackets sold in March? Measure stored in cube cell D 1 [4], D 2 [3] The 2D cube is physically stored as a linear array, so D 1 [4], D 2 [3] becomes array cell 14 (Index(D 2 ) 1) * D 1 + Index(D 1 ) Linearized Index = 2 * 5 + 4 = 14 D 2 1 36 47 911 11 16 12 17 2 53 10 12 13 64 78 89 14 15 18 16 19 17 5 19 10 25 15 27 20 Jan (1) Feb(2) Mar(3) Apr(4) D 1 Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 37

3.2 Linearization Generalization: Given a cube C=((D 1, D 2,, D n ), (M 1 :Type 1, M 2 :Type 2,, M m :Type m )), the index of a cube cell z with coordinates (x 1, x 2,, x n ) can be linearized as follows: Index(z) = x 1 + (x 2-1) * D 1 + (x 3-1) * D 1 * D 2 + + (x n -1) * D 1 * * D n-1 = = 1+ i=1 n ((x i -1) * j=1 i-1 D i ) Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 38

3.2 Problems in Array-Storage Influence of the order of the dimensions in the cube definition In the cube the cells of D 2 are ordered one beneath the other e.g., sales of all pants involves a column in the cube After linearization, the information is spread among several data blocks or pages If we consider a data block to hold 5 cells, a query over all products sold in January can be answered with just 1 block read, but a query of all sold pants, involves reading 4 blocks D 2 1 36 47 911 11 16 12 17 2 53 10 12 13 64 78 89 14 15 18 16 19 D 1 17 5 19 10 25 15 27 20 Jan (1) Feb(2) Mar(3) Apr(4) Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 39

3.2 Problems in Array-Storage Solution: use caching techniques But caching and swapping is performed by the operating system, too MDBMS has to manage its caches such that the OS doesn t perform any damaging swaps Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 40

3.2 Problems in Array-Storage Storage of dense cubes If cubes are dense, array storage is quite efficient. However, operations suffer due to the large cubes Loading huge matrixes in memory is not good Solution: store dense cubes not linearly but on 2 levels The first contains indexes and the second the data cells stored in blocks Optimization procedures like indexes (trees, bitmaps), physical partitioning, and compression (run-lengthencoding) can be used Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 41

3.2 Problems in Array-Storage Storage of sparse cubes All the cells of a cube, including empty ones, have to be stored Sparseness leads to data being stored in several physical blocks or pages The query speed is affected by the large number of block accesses on the secondary memory Solution: Do not store empty blocks or pages but adapt the index structure 2 level data structure: upper layer holds all possible combinations of the sparse dimensions, lower layer holds dense dimensions Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 42

3.2 Problems in Array-Storage 2 level cube storage Marketing campaign Customer Sparse upper level Time Geo Product Dense low level Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 43

3.2 Physical Model Relational model, goals: As low loss of semantically knowledge as possible e.g., classification hierarchies The translation from multidimensional queries must be efficient The RDBMS should be able to run the translated queries efficiently The maintenance of the present tables should be easy and fast e.g., when loading new data Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 44

3.2 Relational Model Going from multidimensional to relational Representations for cubes, dimensions, classification hierarchies and attributes Implementation of cubes without the classification hierarchies is easy A table can be seen as a cube A column of a table can be considered as a dimension mapping A tuple in the table represents a cell in the cube If we interpret only a part of the columns as dimensions we can use the rest as measures The resulting table is called a fact table Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 45

3.2 Relational Model Product 818 Laptops Mobile p. Time 13.11.2014 18.12.2014 Geography Article Store Day Sales Laptops Hannover, Saturn 13.11.2014 6 Mobile Phones Hannover Saturn 18.12.2014 24 Laptops Braunschweig Saturn 18.12.2014 3 Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 46

3.2 Relational Model Snowflake-schema Simple idea: use a table for each classification level This table includes the ID of the classification level and other attributes 2 neighbor classification levels are connected by 1:n connections e.g., from n Days to 1 Month The measures of a cube are maintained in a fact table Besides measures, there are also the foreign key IDs for the smallest classification levels Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 47

3.2 Snowflake Schema Snowflake? The facts/measures are in the center The dimensions spread out in each direction and branch out with their granularity Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 48

3.2 Snowflake Example n 1 Product group Product_group_ID Description Product_categ_ID Product category Product_category_ID Description 1 n Product Product_ID Description Brand Product_gro up_id 1 n n Sales Product_ID Day_ID Store_ID Sales Revenue n n 1 Day Day_ID Description Month_ID Week_ID n 1 1 n Week Week_ID Description Year_ID Month Month_ID Description Quarter_ID n 1 1 Year Year_ID Description Region Region_ID Description Country_ID 1 n n State State_ID Description Region_ID 1 1 n Store Store_ID Description State_ID 1 time Quarter Quarter_ID Description Year_ID n 1 Country Country_ID Description location fact table dimension tables Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 49

3.2 Snowflake Schema Advantage: With a snowflake schema the size of the dimension tables will be reduced and queries will run faster Easier to maintain (avoid redundancy) Allows for more flexible querying with complex dimensions with many classification levels Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 50

3.2 Snowflake Schema Disadvantages If fact tables are responsible for 90% of the storage requirements then normalizing the dimensions can reduce the performance of the DW because it leads to a largenumber of tables E.g. join between product categ. country and year have to be performed at query time Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 51

3.2 Relational Model Star schema Basic idea: use a denormalized schema for all the dimensions Astar schema can be obtained from the snowflake schema through the denormalization of the tables belonging to a dimension Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 52

3.2 Star Schema -Example Product Product_ID Product group Product category Description 1 n n Sales Product_ID Time_ID Geo_ID Sales Revenue n 1 Time Time_ID Day Week Month Quarter Year 1 Geography Geo_ID Store State Region Country Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 53

3.2 Star Schema Advantages Improves query performance for often-used data Less tables and simple structure Efficient query processing with regard to dimension joining Disadvantages In some cases, high overhead of redundant data Representing many-to-many relationships? Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 54

3.2 Snowflake vs. Star Snowflake vs. Star The structure of the classifications are expressed in table schemas The fact and dimension tables are normalized The entire classification is expressed in just one table The fact table is normalized while in the dimension tables the normalization is broken This leads to redundancy of information in the dimension tables Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 55

3.2 Examples Snowflake Star Product_ID Description Brand Prod_group_ID 10 E71 Nokia 4 11 PS-42A Samsung 2 12 5800 Nokia 4 Bold Berry 4 Prod_group_ID Description Prod_categ_ID 2 TV 11 4 Mobile Pho.. 11 Product_ ID Description Prod. group Prod. categ 10 E71 Mobile Ph.. Electronics 11 PS-42A TV Electronics 12 5800 Mobile Ph.. Electronics 13 Bold Mobile Ph.. Electronics Prod_categ_ID Description 11 Electronics Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 56

3.2 Snowflake to Star When should we go from snowflake to star? Heuristics-based decision When typical queries relate to coarser granularity (like product category) When the volume of data in the dimension tables is relatively low compared to the fact table When modifications on the classifications are rare compared to insertion of fact data Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 57

3.2 Do we have a winner? Snowflake or Star? It depends on the necessity Fast query processing or efficient space usage However, most of the time a mixed form is used The Starflake schema: some dimensions stay normalized corresponding to the snowflake schema, while others are denormalized according to the star schema Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 58

3.2 Our forces combined The Starflake schema: which dimensions to normalize? Frequency of the modifications: if the dimensions change often, normalization leads to better results Amount of dimension elements: the bigger the dimension tables, the more space normalization saves Number of classification levels in a dimension: more classification levels introduce more redundancy in the star schema Materialization of aggregates for the dimension levels: if the aggregates are materialized, a normalization of the dimension can bring better response time Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 59

3.2 More Schemas Galaxies In practice it is possible to have more measures described by different dimensions Thus, more fact tables Store Store_ID Product Product_ID Sales Product_ID Store_ID Sales Revenue Receipts Product_ID Date_ID Date Date_ID Vendor Vendor_ID Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 60

3.2 Physical Models Based on the physical model used: MOLAP (Multidimensional OLAP) ROLAP (Relational OLAP) HOLAP (Hybrid OLAP) DOLAP (Desktop OLAP) MH RD O L A P Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 61

3.2 Physical Models Client MOLAP Presentation layer provides the multidimensional view The MOLAP server stores data in a multidimensional structure The computation (pre-aggregation) occurs in this layer during the loading step (not at query) Server Data Presentation MOLAP Interface MDB Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 62

3.2 MOLAP Advantage: excellent performance All values are pre-generated when the cube is created all 0-D(apex) cuboid time item location supplier 1-D cuboids time,item time,location item,location location,supplier time,supplier item,supplier 2-D cuboids time,item,location time,location,supplier 3-D cuboids time,item,supplier item,location,supplier time, item, location, supplier 4-D(base) cuboid Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 63

3.2 MOLAP Disadvantages Enormous amount of overhead An input file of 200 MB can expand to 5 GB with aggregates Limited amount of data it can handle Cubes can be derived from large amount of data, but usually only summary level information are be included in the cube Requires additional investment Products: Cube technology is often proprietary Cognos (IBM), Essbase (Oracle), Microsoft Analysis Service, Palo (open source) Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 64

3.2 Physical Models Client ROLAP Presentation layer provides the multidimensional view The ROLAP Server generates SQL queries, from the OLAP requests, to query the RDBMS Data is stored in RDBs Server Presentation ROLAP Server RDBMS Data Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 65

3.2 ROLAP Special schema design: e.g., star, snowflake Special indexes: e.g., bitmap, R-Trees Advantages Proven technology (relational model, DBMS) Can handle large amounts of data (VLDBs) Disadvantages Limited SQL functionalities Products Microsoft Analysis Service, Siebel Analytics (now Oracle BI), Micro Strategy, Mondrian (open source) Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 66

3.2 ROLAP vs. MOLAP Based on OLAP needs OLAP needs MOLAP ROLAP Multidimensional View User Benefits Excellent Performance - Real-Time Data Access - High Data Capacity - MIS Benefits Easy Development - Low Structure Maintenance - Low Aggregate Maintenance - MOLAP and ROLAP complement each other Why not combine them? Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 67

3.2 Physical Models HOLAP: Best of both worlds Split the data between MOLAP and ROLAP Vertical partitioning Aggregations are stored in MOLAP for fast query performance, Detailed data in ROLAP to optimize time of cube processing (loading the data from the OLTP) Horizontal partitioning HOLAP stores some slice of data, usually the more recent one (i.e. sliced by Time dimension) in MOLAP for fast query performance Older data in ROLAP Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 68

3.2 Physical Models DOLAP: Developed as extension to the production system reports Downloads a small hypercube from a central point (data mart or DW) Performs multidimensional analysis while disconnected from the data source Computation is performed at the client side Requires little investment It lacks the ability to manage large data sets Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 69

Summary Logical Model Dimensions, Hierarchies, Classification Levels and Cubes Physical Level Array based storage How to perform linearization Problems: Order of dimensions solution: caching Dense Cubes, Sparse Cubes - solution: 2 level storage MOLAP, ROLAP, HOLAP Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 70

Summary Physical Level Relational Implementation through: Star schema: improves query performance for often-used data Less tables and simple structure Efficient query processing with regard to dimensions In some cases, high overhead of redundant data Snowflake schema: reduce the size of the dimension tables However, through dimension normalization - large number of tables Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 71

Next lecture DW Optimization / Indexes Bitmap indexes Tree based indexes Data Warehousing & OLAP Wolf-Tilo Balke Institut für Informationssysteme TU Braunschweig 72