OLAP – On Line Analytical Processing

OLAP – On Line Analytical Processing
Alfredo Cuzzocrea
DEIS – Dipartimento di Elettronica,
Informatica e Sistemistica
Università della Calabria
[email protected]
Testo di Riferimento:
J. Han, M. Kamber “Data Mining: Concepts and Techniques”
1
Outline
Motivazioni
Il Contesto Applicativo
I Cardini di OLAP
Modelli Concettuali a Supporto della Progettazione di OLAP
Data Cubes
Modelli Logici a Supporto della Progettazione di OLAP Data
Cubes
Modello Multidimensionale dei Dati
Operatori ed Operazioni OLAP
Un esempio
Modelli di Rappresentazione Fisica di OLAP Data Cubes
Commercial OLAP Server Systems
2
Outline
Motivazioni
Il Contesto Applicativo
I Cardini di OLAP
Modelli Concettuali a Supporto della Progettazione di OLAP
Data Cubes
Modelli Logici a Supporto della Progettazione di OLAP Data
Cubes
Modello Multidimensionale dei Dati
Operatori ed Operazioni OLAP
Un esempio
Modelli di Rappresentazione Fisica di OLAP Data Cubes
Commercial OLAP Server Systems
3
Motivations
La tecnologia dei DB, Internet ed il recupero
automatico dei dati hanno causato l’esplosione della
dimensione delle sorgenti di dati (large data set)
I Sistemi di Supporto alle Decisioni possono trarre
vantaggio da una più elevata conoscenza derivata da
enormi quantità di dati
Spesso i dati sono contenuti in Sistemi Informativi
eterogenei, complessi e distribuiti
Inadeguatezza dei tradizionali DBMS (tecnologia
OLTP – On Line Transactional Processing)
4
Differences between OLTP and 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
repetitive
historical,
summarized, multidimensional,
integrated, consolidated
ad-hoc
lots of scans
unit of work
read/write
index/hash on prim. key
short, simple transaction
complex query
# records accessed
tens
millions
# users
thousands
hundreds
DB size
100MB-GB
100GB-TB
metric
transaction throughput
query throughput, response
usage
access
5
Outline
Motivazioni
Il Contesto Applicativo
I Cardini di OLAP
Modelli Concettuali a Supporto della Progettazione di OLAP
Data Cubes
Modelli Logici a Supporto della Progettazione di OLAP Data
Cubes
Modello Multidimensionale dei Dati
Operatori ed Operazioni OLAP
Un esempio
Modelli di Rappresentazione Fisica di OLAP Data Cubes
Commercial OLAP Server Systems
Exploitation: Interrogazione Approssimata di OLAP Data
Cubes
6
The Applicative Context – Data
Warehousing Environment
Monitor
+
Integrator
Metadati
Server
OLAP
DB
Extract
Operazionali Transform
Load
Refresh
Data
Warehouse
Serve
Analisi
Query
Report
Data mining
altre
sorgenti
Data Marts
Sorgenti
Archivio Dati
Motore
OLAP
Tool
Front-End
7
Outline
Motivazioni
Il Contesto Applicativo
I Cardini di OLAP
Modelli Concettuali a Supporto della Progettazione di OLAP
Data Cubes
Modelli Logici a Supporto della Progettazione di OLAP Data
Cubes
Modello Multidimensionale dei Dati
Operatori ed Operazioni OLAP
Un esempio
Modelli di Rappresentazione Fisica di OLAP Data Cubes
Commercial OLAP Server Systems
Exploitation: Interrogazione Approssimata di OLAP Data
Cubes
8
OLAP Foundamentals
Si basa su un modello logico multidimensionale dei
dati (dimensioni, misure, gerarchie e livelli)
Consente di estrarre conoscenza da grosse moli di
dati
Supporta analisi di tipo qualitativa
Lavora su dati “storicizzati”
Concetto di reticolo di cuboidi
9
Outline
Motivazioni
Il Contesto Applicativo
I Cardini di OLAP
Modelli Concettuali a Supporto della Progettazione di OLAP
Data Cubes
Modelli Logici a Supporto della Progettazione di OLAP Data
Cubes
Modello Multidimensionale dei Dati
Operatori ed Operazioni OLAP
Un esempio
Modelli di Rappresentazione Fisica di OLAP Data Cubes
Commercial OLAP Server Systems
Exploitation: Interrogazione Approssimata di OLAP Data
Cubes
10
Conceptual Models for supporting the
OLAP Data Cubes Design
Dimensional Fact Model Consente di
modellare a livello concettuale lo schema
multidimensionale dell’OLAP data cube
Product
category description
Sales
Time
day
month
year
money
quantity
brand
street
store
Zone
city
region
week
country
11
Outline
Motivazioni
Il Contesto Applicativo
I Cardini di OLAP
Modelli Concettuali a Supporto della Progettazione di OLAP
Data Cubes
Modelli Logici a Supporto della Progettazione di OLAP Data
Cubes
Modello Multidimensionale dei Dati
Operatori ed Operazioni OLAP
Un esempio
Modelli di Rappresentazione Fisica di OLAP Data Cubes
Commercial OLAP Server Systems
Exploitation: Interrogazione Approssimata di OLAP Data
Cubes
12
Logic Models for supporting the OLAP
Data Cubes Design
Star schema Un singolo oggetto (fact table) in
mezzo connesso ad un numero di oggetti (dimension
tables)
Snowflake schema Un raffinamento dello star
schema in cui la gerarchia dimensionale è
rappresentata esplicitamente (normalizzando le
tabelle delle dimensioni)
Fact constellations fact tables multiple
condividono dimension tables
13
Star Schema
Date
Product
Date
Month
Year
ProductNo
ProdName
ProdDesc
Category
QOH
Sales Fact Table
Date
Product
Store
StoreID
City
State
Country
Region
Store
Cust
Customer
unit_sales
dollar_sales
CustId
CustName
CustCity
CustCountry
Yen_sales
Measurements
14
Snowflake Schema
Year
Year
Product
Month
Month
Year
Date
Sales Fact Table
Date
Month
Date
Product
Store
City
City
State
State
Country
Country
Region
StoreID
City
State
Country
ProductNo
ProdName
ProdDesc
Category
QOH
Store
Cust
Customer
unit_sales
dollar_sales
CustId
CustName
CustCity
CustCountry
Yen_sales
Measurements
15
Fact Constellations
time
time_key
day
day_of_the_week
month
quarter
year
item
Sales Fact Table
time_key
item_key
item_name
brand
type
supplier_type
item_key
location_key
branch_key
branch_name
branch_type
units_sold
dollars_sold
avg_sales
Measures
time_key
item_key
shipper_key
from_location
branch_key
branch
Shipping Fact Table
location
to_location
location_key
street
city
province_or_street
country
dollars_cost
units_shipped
shipper
shipper_key
shipper_name
location_key
shipper_type 16
Outline
Motivazioni
Il Contesto Applicativo
I Cardini di OLAP
Modelli Concettuali a Supporto della Progettazione di OLAP
Data Cubes
Modelli Logici a Supporto della Progettazione di OLAP Data
Cubes
Modello Multidimensionale dei Dati
Operatori ed Operazioni OLAP
Un esempio
Modelli di Rappresentazione Fisica di OLAP Data Cubes
Commercial OLAP Server Systems
Exploitation: Interrogazione Approssimata di OLAP Data
Cubes
17
Multidimensional Data Model
Zo
ne
Sales come funzione di Product, Month, e Region
Product
Zone
Time
Industry
Region
Year
Category Country Quarter
Product
Product
City
Office
Month Week
Day
Time
18
Dimensions, Hierarchies and Levels
all
all
Europe
region
country
city
office
...
Germany ... Spain
Frankfurt
...
North_America
Canada
Vancouver ...
...
Mexico
Toronto
L. Chan ... M. Wind
19
Hierarchies and Aggregations
Le gerarchie consentono di aggregare
automaticamente i dati di interesse quando ci si
focalizza su un livello:
se ci concentriamo su “Mese” i fatti rappresentano i
totali delle vendite per ogni mese
Possiamo concentrarci su diversi livelli della
gerarchia in dimensioni diverse:
le vendite mensili per regione di ogni
prodotto
20
Cuboids Lattice
n
NC = ∏ Li + 1
i=1
time
• n = numero di dimensioni
all • Li = profondità della gerarchia definita
0-D(apex) cuboid
sulla dimensione i
item
time,item time,location
location
item,location
time,supplier
time,item,location
supplier
location,supplier
2-D cuboids
item,supplier
time,location,supplier
time,item,supplier
1-D cuboids
3-D cuboids
item,location,supplier
4-D(base) cuboid
time, item, location, supplier
21
OLAP Measures
Distributive calcolo incrementale
E.g., count, sum, min, max
Algebriche risultato di una funzione algebrica di M argomenti
(M costante) in cui ogni argomento è un aggregato
E.g., avg, min_K, max_K, standard_deviation
Olistiche non c’è un limite costante nel numero di elementi
necessari per definirle a partire da un sottoaggregato
E.g., median, mode, rank
OLAP E’ UNO STRUMENTO DI ANALISI
22
An Example of OLAP Data Cube
Product
Store
Pisa
Roma
Firenze
sum
Milk Bread Orange … ... sum
All Products
January 96, Pisa.
Jan 96
Feb 96
… ...
Time
sum
Ogni dimensione contiene una gerarchia di valori
Ogni cella del cubo contiene valori aggregati
(count, sum, max, etc.)
23