Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques...

31
1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date, Eighth Eddition, Addidon Wesley, 2004

Transcript of Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques...

Page 1: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

1

Data Warehousing & OLAP

Data Mining: Concepts and Techniques

— Chapter 3 —

Jiawei Han

and

An Introduction to Database SystemsC.J.Date,Eighth Eddition, Addidon Wesley, 2004

Page 2: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

2

What is Data Warehousing?

What is OLAP?

What is a Data Cube, what is a Cuboid?

What is ROLAP, MOLAP, HOLAP

What is Data Warehouse?

Defined in many different ways, but notrigorously

• A decision support database that is maintained separatelyfrom the organization’s operational database

• Support information processing by providing a solid platformof consolidated, historical data for analysis.

“A data warehouse is a subject-oriented, integrated,time-variant, and nonvolatile collection of data insupport of management’s decision-makingprocess.”—W. H. Inmon

Data warehousing: The process of constructing and using data

warehouses

Page 3: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

3

Data Warehouse—Subject-Oriented Organized around major subjects, such as customer,

product, sales Focusing on the modeling and analysis of data for

decision makers, not on daily operations ortransaction processing

Provide a simple and concise view around particularsubject issues by excluding data that are not useful inthe decision support process

Data Warehouse—Integrated Constructed by integrating multiple, heterogeneous

data sources relational databases, flat files, on-line transaction records

Data cleaning and data integration techniques areapplied. Ensure consistency in naming conventions, encoding

structures, attribute measures, etc. among different datasources

• E.g., Hotel price: currency, tax, breakfast covered, etc. When data is moved to the warehouse, it is converted.

Page 4: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

4

Data Warehouse—Time Variant The time horizon for the data warehouse is

significantly longer than that of operational systems Operational database: current value data Data warehouse data: provide information from a historical

perspective (e.g., past 5-10 years)

Every key structure in the data warehouse Contains an element of time, explicitly or implicitly But the key of operational data may or may not contain “time

element”

Data Warehouse—Nonvolatile

A physically separate store of data transformedfrom the operational environment

Operational update of data does not occur inthe data warehouse environment Does not require transaction processing, recovery,

and concurrency control mechanisms Requires only two operations in data accessing:

• initial loading of data and access of data

Page 5: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

5

Data Warehouse vs.Heterogeneous DBMS

Traditional heterogeneous DB integration: A query driven approach

Build wrappers/mediators on top of heterogeneous databases

When a query is posed to a client site, a meta-dictionary is used totranslate the query into queries appropriate for individual heterogeneoussites involved, and the results are integrated into a global answer set

Complex information filtering, compete for resources

Data warehouse: update-driven, high performance

Information from heterogeneous sources is integrated in advance andstored in warehouses for direct query and analysis

OLTP vs. OLAP OLTP OLAP

users clerk, IT professional knowledge worker

function day to day operations decision support

DB design application-oriented subject-oriented

data current, up-to-date

detailed, flat relational

isolated

historical,

summarized, multidimensional

integrated, consolidated

usage repetitive ad-hoc

access read/write

index/hash on prim. key

lots of scans

unit of work short, simple transaction complex query

# records accessed tens millions

#users thousands hundreds

DB size 100MB-GB 100GB-TB

metric transaction throughput query throughput, response

Page 6: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

6

Why Separate DataWarehouse?

High performance for both systems DBMS— tuned for OLTP: access methods, indexing, concurrency

control, recovery Warehouse—tuned for OLAP: complex OLAP queries,

multidimensional view, consolidation Different functions and different data:

missing data: Decision support requires historical data which operationalDBs do not typically maintain

data consolidation: DS requires consolidation (aggregation,summarization) of data from heterogeneous sources

data quality: different sources typically use inconsistent datarepresentations, codes and formats which have to be reconciled

Note: There are more and more systems which perform OLAPanalysis directly on relational databases

What is OLAP? The term OLAP („online analytical

processing“) was coined in a white paperwritten for Arbor Software Corp. in 1993

Interactive process of creating, managing,analyzing and reporting on data

Analyzing large quantities of data in real-time

Page 7: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

7

OLAP Data is perceived and manipulated as

though it were stored in a „multi-dimensional array“

Ideas are explained in terms ofconventional SQL-styled tables

Data aggregation Data aggregation (agregação) in many

different ways

The number of possible groupingsquickly becomes large The user has to consider all groupings Analytical processing problem

Page 8: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

8

Queries forsupplier-and-parts database

1) Get the total shipment quantity2) Get total shipment quantities by supplier3) Get total shipment quantities by part4) Get the shipment by supplier and part

SP

200P2S4

200P2S3

400P2S2

300P1S2

200P2S1

300P1S1

QTYP#S#

Page 9: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

9

1. SELECT SUM(QTY) AS TOTQTY FROM SP GROUP BY () ;

1600

TOTQTY

2. SELECT S#, SUM(QTY) AS TOTQTY

FROM SP GROUP BY (S#) ;

200S4

200S3

700S2

500S1

TOTQTYS#

Page 10: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

10

3. SELECT P#, SUM(QTY) AS TOTQTY FROM SP GROUP BY (P#) ;

1000P2

600P1

TOTQTYP#

4. SELECT S#, P#, SUM(QTY) AS TOTQTY FROM SP GROUP BY (S#,P#) ,

200P2S4

200P2S3

400P2S2

300P1S2

200P2S1

300P1S1

TOTQTYP#S#

Page 11: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

11

Drawbacks Formulation so many similar but distinct

queries is tedious Executing the queries is expensive Make life easier,

more efficient computation Single query

GROUPING SETS, ROLLUP, CUBE options Added to SQL standard 1999

GROUPING SETS Execute several queries simultaneously

SELECT S#, P#, SUM (QTY) AS TOTQTYFROM SPGROUP BY GROUPING SETS ( (S#), (P#) ) ;

Single results tableNot a relation !!null missing information 1000P2null

600P1null

200nullS4

200nullS3

700nullS2

500nullS1

TOTQTYP#S#

Page 12: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

12

SELECT CASE GROUPING ( S# ) WHEN 1 THEN ‘??‘ ELSE S# AS S#, CASE GROUPING ( P# ) WHEN 1 THEN ‘!!‘ ELSE P# AS P#, SUM ( QTY ) AS TOTQTYFROM SPGROUP BY GROUPING SETS ( ( S# ), ( P# ) );

1000P2??

600P1??

200!!S4

200!!S3

700!!S2

500!!S1

TOTQTYP#S#

ROLLUP

SELECT S#,P#, SUM ( QTY ) AS TOTQTYFROM SPGROUP BY ROLLUP (S#, P#) ;

GROUP BY GROUPING SETS ( ( S#, P# ), ( S# ) , ( ) )

1600nullnull

200nullS4

200nullS3

700nullS2

500nullS1

200P2S4

200P2S3

400P2S2

300P1S2

200P2S1

300P1S1

TOTQTYP#S#

Page 13: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

13

ROLLUP The quantities have been „roll up“ (estender)

for each supplier Rolled up „along supplier dimension“GROUP BY ROLLUP (A,B,...,Z)

(A,B,...,Z)(A,B,...)(A,B)(A)()

GROUP BY ROLLUP (A,B) is not symmetric in A and B !

CUBE

SELECT S#, P#, SUM ( QTY ) AS TOTQTYFROM SPGROUP BY CUBE ( S#, P#) ;

GROUP BY GROUPING SETS ( (S#, P#), ( S# ), ( P# ), ( ) )

1600nullnull

1000P1null

600P1null

200nullS4

200nullS3

700nullS2

500nullS1

200P2S4

200P2S3

400P2S2

300P1S2

200P2S1

300P1S1

TOTQTYP#S#

Page 14: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

14

CUBE Confusing term CUBE (?)

Derived from the fact that in multidimensionalterminology,data values are stored in cells of amultidimensional array or a hypercube

• The actual physical storage my differ In our example

• cube has just two dimensions (supplier, part)• The two dimensions are unequal (no square rectangle..)

Means „group“ by all possible subsets of theset {A, B, ..., Z }

CUBE Means „group“ by all possible subsets of the

set {A, B, ..., Z } M={A, B, ..., Z }, |M|=N

Power Set (Algebra) P(M):={N | N⊆M}, |P(M)|=2N

..proof by induction

Subset represent different grade ofsummarization

Data Mining: such a subset is called a Cuboid

Page 15: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

15

Cross Tabulations Display query results as cross tabulations

More readable way Formatted as a simple array Example: two dimensions (supplier and

parts)

16001000600

2002000S4

2002000S3

700400300S2

500200300S1

TotalP2P1

What is a Data Cube?

A data cube, such as sales, allows data to bemodeled and viewed in multiple dimensions Dimension tables, such as

• item(item_name, brand, type)• time(day, week, month, quarter, year) ...hierarchy

Fact table contains measures (numerical values,such as dollars_sold) and keys to each of the relateddimension tables

Page 16: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

16

2-D view of sales dataaccording to dimensions timeand item

3-D view of sales data accordingto dimensions time, item, location

Page 17: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

17

3-D data cube representation

4-D view of sales data according todimensions time, item, location,supplier

Page 18: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

18

Cuboid

Names in data warehousing literature:

The n-D cuboid, which holds the lowest level ofsummarization, is called a base cuboid .. {{A},{B},..}

The top most 0-D cuboid, which holds the highest-levelof summarization, is called the apex cuboid .. {∅}

The lattice of cuboids forms a data cube

Cube: A Lattice ofCuboids ....(Power Set)

time,item

time,item,location

time, item, location, supplier

all

time item location supplier

time,location

time,supplier

item,location

item,supplier

location,supplier

time,item,supplier

time,location,supplier

item,location,supplier

0-D(apex) cuboid

1-D cuboids

2-D cuboids

3-D cuboids

4-D(base) cuboid

24=16

Page 19: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

19

Conceptual Modeling of DataWarehouses

Modeling data warehouses: dimensions & measuresinstead of relational model

Subject, facilitates on-line data analysis oriented Most popular model is the multidimensional model Most common modeling paradigm:

Star schema Data warehouse contains a large central table (fact table)

• Contains the data without redundancy A set of dimension tables (each for each dimension)

Example of Star Schematime_keydayday_of_the_weekmonthquarteryear

time

location_keystreetcitystate_or_provincecountry

location

Sales Fact Table

time_key

item_key

branch_key

location_key

units_sold

dollars_sold

avg_salesMeasures

item_keyitem_namebrandtypesupplier_type

item

branch_keybranch_namebranch_type

branch

Page 20: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

20

Snowflake schema

Snowflake schema: A refinement of starschema where some dimensional hierarchyis normalized into a set of smallerdimension tables, forming a shape similar tosnowflake

Example of SnowflakeSchema

time_keydayday_of_the_weekmonthquarteryear

time

location_keystreetcity_key

location

Sales Fact Table

time_key

item_key

branch_key

location_key

units_sold

dollars_sold

avg_sales

Measures

item_keyitem_namebrandtypesupplier_key

item

branch_keybranch_namebranch_type

branch

supplier_keysupplier_type

supplier

city_keycitystate_or_provincecountry

city

Page 21: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

21

Fact constellations

Fact constellations: Multiple fact tables sharedimension tables, viewed as a collection ofstars, therefore called galaxy schema or factconstellation

Example of FactConstellation

time_keydayday_of_the_weekmonthquarteryear

time

location_keystreetcityprovince_or_statecountry

location

Sales Fact Table

time_key

item_key

branch_key

location_key

units_sold

dollars_sold

avg_salesMeasures

item_keyitem_namebrandtypesupplier_type

item

branch_keybranch_namebranch_type

branch

Shipping Fact Table

time_key

item_key shipper_key

from_location

to_location

dollars_cost

units_shipped

shipper_keyshipper_namelocation_keyshipper_type

shipper

Page 22: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

22

Measures of Data Cube:Three Categories(Depending on the aggregate functions)

Distributive: if the result derived by applying the function ton aggregate values is the same as that derived byapplying the function on all the data without partitioning

• E.g., count(), sum(), min(), max()

Algebraic: if it can be computed by an algebraic functionwith M arguments (where M is a bounded integer), each ofwhich is obtained by applying a distributive aggregatefunction

• E.g., avg(), min_N(), standard_deviation()

Holistic: if there is no constant bound on the storage sizeneeded to describe a subaggregate.

• E.g., median(), mode(), rank()

Hierarchies Independent variables are often related in

hierarchies (taxonomy) Determine ways in which dependent data can be

aggregated Temporal hierarchy

Seconds, minutes, hours, days, weeks, months,years

Same data can be aggregated in manydifferent ways Same independent variable can belong to different

hierarchies

Page 23: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

23

Hierarchy - Locationall

Europe North_America

MexicoCanadaSpainGermany

Vancouver

M. WindL. Chan

...

......

... ...

...

all

region

office

country

TorontoFrankfurtcity

View of Warehouses andHierarchies

Specification of hierarchies Schema hierarchy

day < {month < quarter;week} < year

Set_grouping hierarchy{1..10} < inexpensive

Page 24: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

24

Multidimensional Data Sales volume as a function of product,

month, and region

Prod

uct

Region

Month

Dimensions: Product, Location, TimeHierarchical summarization paths

Industry Region Year

Category Country Quarter

Product City Month Week

Office Day

Drill up and down Drill up:

going from a lower level of aggregation to a higher Drill down:

means the opposite

Possible difference between drill up and roll up• Roll up: creating the desired groupings or aggregations• Drill up: accessing the aggregations

Example for drill down:• Given the total shipment quantity, get the total quantities for

each individual supplier

Page 25: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

25

A Star-Net Query ModelShipping Method

AIR-EXPRESS

TRUCKORDER

Customer Orders

CONTRACTSCustomer

Product

PRODUCT GROUP

PRODUCT LINE

PRODUCT ITEM

SALES PERSON

DISTRICT

DIVISION

OrganizationPromotion

CITY

COUNTRY

REGION

Location

DAILYQTRLYANNUALY

Time

AllAllAll

All

All

All

All

All

Typical OLAP Operations

Roll up (drill-up): summarize data by climbing up hierarchy or by dimension reduction

Drill down (roll down): reverse of roll-up from higher level summary to lower level summary or

detailed data, or introducing new dimensions Slice and dice: project and select Pivot (rotate):

reorient the cube, visualization, 3D to series of 2D planes Other operations

drill across: involving (across) more than one fact table drill through: through the bottom level of the cube to its

back-end relational tables (using SQL)

Page 26: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

26

Fig. 3.10 TypicalOLAP Operations

Multi-dimensional queryLanguage No standard yet.. DMQL, DMX,..

• MDX was introduced by Microsoft with Microsoft SQLServer OLAP Services in around 1998, as the languagecomponent of the OLE DB for OLAP API. More recently,MDX has appeared as part of the XML for Analysis API.Microsoft proposed that the MDX is a standard, and itsadoption among application writers and other OLAPproviders is steadily increasing.

Page 27: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

27

Data Warehouse: A Multi-Tiered ArchitectureData Warehouse: A Multi-Tiered Architecture

DataWarehouse

ExtractTransformLoadRefresh

OLAP Engine

AnalysisQueryReportsData mining

Monitor&

IntegratorMetadata

Data Sources Front-End Tools

Serve

Data Marts

Operational DBs

Othersources

Data Storage

OLAP Server

OLAP Server Architectures Relational OLAP (ROLAP)

Use relational or extended-relational DBMS to store and managewarehouse data and OLAP middle ware

Include optimization of DBMS backend, implementation ofaggregation navigation logic, and additional tools and services

Greater scalability Multidimensional OLAP (MOLAP)

Sparse array-based multidimensional storage engine Fast indexing to pre-computed summarized data

Hybrid OLAP (HOLAP) (e.g., Microsoft SQLServer) Flexibility, e.g., low level: relational, high-level: array

Specialized SQL servers (e.g., Redbricks) Specialized support for SQL queries over star/snowflake schemas

Page 28: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

28

MOLAP Multidimensional database (server)

Data is stored in cells of a multi-dimensional array Three dimensions: products, customers, time intervals Each individual cell value might then represent the total

quantity of the indicated product sold to the indicated customerin the indicated time interval

Variable dependent or independent Independent: products, customers, time intervals Dependent: quantity

Independent, dependent Independent variables form the

dimension of the array by which the datais organized

• addressing scheme of the array• Also named: dimensional, location

Dependent variable values stored in thecells of the array

• Also named: nondimensional, content

Page 29: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

29

Problems Often we do not know which variables are

independent and which dependent Chosen based on hypothesis, and then tested A lot of iteration of trail and error Pivoting:

Swapping between dimensional andnondimensional variables

Array transpose, dimensional reordering, adddimensions

MOLAP Array cells often empty

The more dimensions, there more empty cells Empty cell Missing information How to treat not present information ? How does the system support

• Information is unknown• Has been not captured• Not applicable• ....

Arrays are sparse Support techniques to store sparse arrays

Page 30: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

30

HOLAP (hybrid OLAP) HOLAP, combine ROLAP and MOLAP

Controversy: which approach is the best?

MOLAP provides faster computation butsupports smaller amount of data than ROLAP

ROLAP provide scalability, SQL standard hasbeen extended International Organization for Standardization (ISO):

SQL/OLAP, Document ISO/ICE 9075-1:1999/Amd.1:2000(E)

Summary:Data Warehouse and OLAP Technology

Why data warehousing? A multi-dimensional model of a data warehouse

Star schema, snowflake schema, fact constellations A data cube

OLAP operations: drilling, rolling, slicing, dicing andpivoting

OLAP servers: ROLAP, MOLAP, HOLAP

Page 31: Data Warehousing & OLAP - ULisboa · 1 Data Warehousing & OLAP Data Mining: Concepts and Techniques — Chapter 3 — Jiawei Han and An Introduction to Database Systems C.J.Date,

31

Implementation & Computationof DW and Data Cube