38
CSE601 1 Warehouse Models & Operators Data Models relations stars & snowflakes cubes Operators slice & dice roll-up, drill down pivoting other

CSE6011 Warehouse Models & Operators Data Models relations stars & snowflakes cubes Operators slice & dice roll-up, drill down pivoting

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 1

Warehouse Models & Operators

Data Models relations stars & snowflakes cubes

Operators slice & dice roll-up, drill down pivoting other

Page 2: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 2

Multi-Dimensional Data Measures - numerical (and additive) data

being tracked in business, can be analyzed and examined

Dimensions - business parameters that define a transaction, relatively static data such as lookup or reference tables

Example: Analyst may want to view sales data (measure) by geography, by time, and by product (dimensions)

Page 3: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 3

The Multi-Dimensional Model

“Sales by product line over the past six months”

“Sales by store between 1990 and 1995”

Prod Code Time Code Store Code Sales Qty

Store Info

Product Info

Time Info

. . .

Numerical MeasuresKey columns joining fact table

to dimension tables

Fact table for measures

Dimension tables

Page 4: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 4

Multidimensional Modeling

Multidimensional modeling is a technique for structuring data around the business concepts

ER models describe “entities” and “relationships”

Multidimensional models describe “measures” and “dimensions”

Page 5: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 5

Dimensional Modeling

Dimensions are organized into hierarchies E.g., Time dimension: days weeks quarters E.g., Product dimension: product product line

brand

Dimensions have attributes

Time StoreDate

MonthYear

StoreIDCityState

CountryRegion

Page 6: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 6

Dimension Hierarchies

Store Dimension Product Dimension

District

Region

Total

Brand

Manufacturer

Total

Stores Products

Page 7: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 7

Schema Design

Most data warehouses use a star schema to represent multi-dimensional model.

Each dimension is represented by a dimension table that describes it.

A fact table connects to all dimension tables with a multiple join. Each tuple in the fact table consists of a pointer to each of the dimension tables that provide its multi-dimensional coordinates and stores measures for those coordinates.

The links between the fact table in the center and the dimension tables in the extremities form a shape like a star.

Page 8: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 8

Star Schema (in RDBMS)

Page 9: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 9

Star Schema Example

Page 10: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 10

Star Schema with Sample Data

Page 11: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 11

The “Classic” Star Schema A relational model with a one-to-many relationship

between dimension table and fact table. A single fact table, with detail and summary data Fact table primary key has only one key column per

dimension Each dimension is a single table, highly denormalized Benefits: Easy to understand, intuitive mapping between the

business entities, easy to define hierarchies, reduces # of physical joins, low maintenance, very simple metadata

Drawbacks: Summary data in the fact table yields poorer performance for summary levels, huge dimension tables a problem

Page 12: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 12

Need for Aggregates

Sizes of typical tables: Time dimension: 5 years x 365 days = 1825 Store dimension: 300 stores reporting daily sales Production dimension: 40,000 products in each store

(about 4000 sell in each store daily) Maximum number of base fact table records: 2 billion

(lowest level of detail)

A query involving 1 brand, all store, 1 year: retrieve/summarize over 7 million fact table rows.

Page 13: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 13

Aggregating Fact Tables Aggregate fact tables are summaries of the

most granular data at higher levels along the dimension hierarchies.

Product keyTime keyStore keyUnit sales

Sale dollars

Product keyProduct

CategoryDepartment

Store keyStore nameTerritoryRegion

Time keyDate Month

QuarterYear

Hierarchy

levels

Multi-way aggregates:Territory – Category – Month

(Data values at higher level)

Page 14: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 14

The “Fact Constellation” Schema

DollarsUnitsPrice

District Fact Table

District_IDPRODUCT_KEYPERIOD_KEY

DollarsUnitsPrice

Region Fact Table

Region_IDPRODUCT_KEYPERIOD_KEY

PERIOD KEY

Store Dimension Time Dimension

Product Dimension

STORE KEYPRODUCT KEYPERIOD KEY

DollarsUnitsPrice

Period DescYearQuarterMonthDayCurrent FlagSequence

Fact Table

PRODUCT KEY

Store DescriptionCityStateDistrict IDDistrict Desc.Region_IDRegion Desc.Regional Mgr.

Product Desc.BrandColorSizeManufacturer

STORE KEY

Page 15: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 15

Aggregate Fact Tables

Product keyTime keyStore keyUnit sales

Sale dollars

Category keyTime keyStore keyUnit sales

Sales dollars

Product keyProduct

CategoryDepartment

Time keyDate

MonthQuarter

Year

Store keyStore nameTerritoryRegion

Category keyCategory

Department

Base tableSales facts

StoreProduct

TimeOne-way aggregateSale facts

DimensionDerived from ProductCategory

Page 16: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 16

Families of Stars

Dimensiontable

Fact table

Fact table

Fact table

Dimensiontable

Dimension table

Dimensiontable

Dimensiontable

Dimensiontable

DimensiontableDimension

table

Page 17: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 17

Snowflake Schema

Snowflake schema is a type of star schema but a more complex model.

“Snowflaking” is a method of normalizing the dimension tables in a star schema.

The normalization eliminates redundancy. The result is more complex queries and

reduced query performance.

Page 18: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 18

Sales: Snowflake Schema

Salesrep keySalesperson name

Territory key

Product keyTime key

Customer key….

Product keyProduct nameProduct code

Brand key

Brand keyBrand name

Category key

Category keyProduct category

Territory keyTerritory name

Region key

Region keyRegion name

Sales fact

Product

Salesrep

Page 19: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 19

Snowflaking

The attributes with low cardinality in each original dimension table are removed to form separate tables. These new tables are linked back to the original dimension table through artificial keys.

Product keyProduct nameProduct code

Brand key

Brand keyBrand name

Category key

Category keyProduct category

Page 20: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 20

Snowflake Schema

Advantages: Small saving in storage space Normalized structures are easier to update and maintain

Disadvantages: Schema less intuitive and end-users are put off by the

complexity Ability to browse through the contents difficult Degrade query performance because of additional joins

Page 21: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 21

What is the Best Design?

Performance benchmarking can be used to determine what is the best design.

Snowflake schema: easier to maintain dimension tables when dimension tables are very large (reduce overall space). It is not generally recommended in a data warehouse environment.

Star schema: more effective for data cube browsing (less joins): can affect performance.

Page 22: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 22

Aggregates

sale prodId storeId date amtp1 s1 1 12p2 s1 1 11p1 s3 1 50p2 s2 1 8p1 s1 2 44p1 s2 2 4

Add up amounts for day 1 In SQL: SELECT sum(amt) FROM SALE WHERE date = 1

81

Page 23: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 23

Aggregates

Add up amounts by day In SQL: SELECT date, sum(amt) FROM SALE GROUP BY date

ans date sum1 812 48

sale prodId storeId date amtp1 s1 1 12p2 s1 1 11p1 s3 1 50p2 s2 1 8p1 s1 2 44p1 s2 2 4

Page 24: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 24

Another Example

Add up amounts by day, product In SQL: SELECT date, sum(amt) FROM SALE GROUP BY date, prodId

sale prodId date amtp1 1 62p2 1 19p1 2 48

drill-down

rollup

sale prodId storeId date amtp1 s1 1 12p2 s1 1 11p1 s3 1 50p2 s2 1 8p1 s1 2 44p1 s2 2 4

Page 25: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 25

Aggregates

Operators: sum, count, max, min, median, ave

“Having” clause Using dimension hierarchy

average by region (within store) maximum by month (within date)

Page 26: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 26

Data Cube

sale prodId storeId amtp1 s1 12p2 s1 11p1 s3 50p2 s2 8

s1 s2 s3p1 12 50p2 11 8

Fact table view: Multi-dimensional cube:

dimensions = 2

Page 27: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 27

3-D Cube

dimensions = 3

Multi-dimensional cube:Fact table view:

sale prodId storeId date amtp1 s1 1 12p2 s1 1 11p1 s3 1 50p2 s2 1 8p1 s1 2 44p1 s2 2 4

day 2 s1 s2 s3p1 44 4p2 s1 s2 s3

p1 12 50p2 11 8

day 1

Page 28: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 28

Example

Store

Pro

duct

Time

M T W Th F S S

Juice

Milk

Coke

Cream

Soap

Bread

NYSF

LA

10

34

56

32

12

56

56 units of bread sold in LA on M

Dimensions:Time, Product, Store

Attributes:Product (upc, price, …)Store ……

Hierarchies:Product Brand …Day Week QuarterStore Region Country

roll-up to week

roll-up to brand

roll-up to region

Page 29: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 29

Cube Aggregation: Roll-up

day 2 s1 s2 s3p1 44 4p2 s1 s2 s3

p1 12 50p2 11 8

day 1

s1 s2 s3p1 56 4 50p2 11 8

s1 s2 s3sum 67 12 50

sump1 110p2 19

129

. . .

drill-down

rollup

Example: computing sums

Page 30: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 30

Cube Operators for Roll-up

day 2 s1 s2 s3p1 44 4p2 s1 s2 s3

p1 12 50p2 11 8

day 1

s1 s2 s3p1 56 4 50p2 11 8

s1 s2 s3sum 67 12 50

sump1 110p2 19

129

. . .

sale(s1,*,*)

sale(*,*,*)sale(s2,p2,*)

Page 31: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 31

s1 s2 s3 *p1 56 4 50 110p2 11 8 19* 67 12 50 129

Extended Cube

day 2 s1 s2 s3 *p1 44 4 48p2* 44 4 48s1 s2 s3 *

p1 12 50 62p2 11 8 19* 23 8 50 81

day 1

*

sale(*,p2,*)

Page 32: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 32

Aggregation Using Hierarchies

region A region Bp1 56 54p2 11 8

store

region

country

(store s1 in Region A;stores s2, s3 in Region B)

day 2 s1 s2 s3p1 44 4p2 s1 s2 s3

p1 12 50p2 11 8

day 1

Page 33: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 33

Slicing

day 2 s1 s2 s3p1 44 4p2 s1 s2 s3

p1 12 50p2 11 8

day 1

s1 s2 s3p1 12 50p2 11 8

TIME = day 1

Page 34: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 34

Productsd1 d2

Store s1 Electronics $5.2Toys $1.9

Clothing $2.3Cosmetics $1.1

Store s2 Electronics $8.9Toys $0.75

Clothing $4.6Cosmetics $1.5

ProductsStore s1 Store s2

Store s1 Electronics $5.2 $8.9Toys $1.9 $0.75

Clothing $2.3 $4.6Cosmetics $1.1 $1.5

Store s2 ElectronicsToys

Clothing

($ millions)d1

Sales($ millions)

Time

Sales

Slicing &Pivoting

Page 35: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 35

Summary of Operations Aggregation (roll-up)

aggregate (summarize) data to the next higher dimension element e.g., total sales by city, year total sales by region, year

Navigation to detailed data (drill-down) Selection (slice) defines a subcube

e.g., sales where city =‘Gainesville’ and date = ‘1/15/90’ Calculation and ranking

e.g., top 3% of cities by average income Visualization operations (e.g., Pivot) Time functions

e.g., time average

Page 36: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 36

Query & Analysis Tools

Query Building Report Writers (comparisons, growth, graphs,…)

Spreadsheet Systems Web Interfaces Data Mining

Page 37: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 37

Implementation of OLAP Server ROLAP: relational OLAP – data are stored in

tables in relational databases or extended-relational databases. They use an RDBMS to manage the warehouse data and aggregations using often a star schema.

They support extensions to SQL. A cell in the multi-dimensional structure is

represented by a tuple. Advantage: scalable (no empty cells for sparse

cube). Disadvantage: no direct access to cells.

Page 38: CSE6011 Warehouse Models & Operators  Data Models  relations  stars & snowflakes  cubes  Operators  slice & dice  roll-up, drill down  pivoting

CSE601 38

Implementation of OLAP Server

MOLAP: multidimensional OLAP – implements the multidimensional view by storing data in special multidimensional data structure (MDDS).

Advantage: fast indexing to pre-computed aggregations. Only values are stored.

Disadvantage: not very scalable and sparse.