Lezione 6 - B OnLine Analytical Processing (OLAP): Principi e Modelli 27/02/2010 27/02/2010 1
OLAP On Line Analytical Processing Alfredo Cuzzocrea DEIS Dipartimento di Elettronica, Informatica e Sistemistica Università della Calabria cuzzocrea@si.deis.unical.it Testo di Riferimento: J. Han, M. Kamber Data Mining: Concepts and Techniques 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
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 4
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) 5
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 historical, detailed, flat relational summarized, multidimensional, isolated integrated, consolidated usage repetitive ad-hoc access read/write lots of scans index/hash on prim. key 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 6
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 7
The Applicative Context Data Warehousing Environment Monitor + Integrator Metadati Server OLAP DB Operazionali Extract Transform Load Refresh Data Warehouse Serve Analisi Query Report Data mining altre sorgenti Data Marts Sorgenti Archivio Dati Motore OLAP Tool Front-End 8
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 9
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 10
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 11
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 category brand Product description street Sales money quantity Time day store Zone city region month week year country 12
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 13
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 14
Star Schema Date Date Month Year Store StoreID City State Country Region Measurements Sales Fact Table Date Product Store Customer unit_sales dollar_sales Yen_sales Product ProductNo ProdName ProdDesc Category QOH Cust CustId CustName CustCity CustCountry 15
Snowflake Schema Year Year Country Country Region Month Month Year State State Country Date Date Month City City State Store StoreID City Measurements Sales Fact Table Date Product Store Customer unit_sales dollar_sales Yen_sales Product ProductNo ProdName ProdDesc Category QOH Cust CustId CustName CustCity CustCountry 16
time time_key day day_of_the_week month quarter year Fact Constellations Sales Fact Table time_key item_key branch_key item item_key item_name brand type supplier_type Shipping Fact Table time_key item_key shipper_key from_location branch branch_key branch_name branch_type Measures location_key units_sold dollars_sold avg_sales location location_key street city province_or_street country to_location dollars_cost units_shipped shipper shipper_key shipper_name location_key shipper_type 17
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 18
Multidimensional Data Model Sales come funzione di Product, Month, e Region Product Zone Time Industry Region Year Category Country Quarter Product Product City Month Week Office Day Time 19
Dimensions, Hierarchies and Levels all all region Europe... North_America country Germany... Spain Canada... Mexico city Frankfurt... Vancouver... Toronto office L. Chan... M. Wind 20
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 21
Cuboids Lattice n NC = L i + 1 i = 1 all n = numero di dimensioni L i = profondità della gerarchia definita sulla dimensione i 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 22
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 23
An Example of OLAP Data Cube Store Pisa Roma Firenze sum Product 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.) 24
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 25
OLAP Data Cube Browsing Visualization OLAP capabilities Interactive manipulation 26
OLAP Operators/1 Roll Up decrementa il livello di dettaglio ( aggrega i dati ) Drill Down aumenta il livello di dettaglio ( naviga i dettagli ) Roll Up Nazione Regione Provincia Drill Down 27
OLAP Operators/2 Slice & Dice proiezione e selezione un set di celle OLAP corrisponde ad un query che coinvolge più dimensioni: Sales where Country = Italy and Week > 2 Product Product Slice Month Month 28
OLAP Operators/3 An Example of S&D Analysis Prodotti Regioni Vendite Noccioline Calabria 50 Noccioline Sicilia 60 Noccioline Basilicata 100 Pistacchi Calabria 40 Pistacchi Sicilia 70 Pistacchi Basilicata 80 Patatine Calabria 90 Patatine Sicilia 120 Patatine Basilicata 140 Vendite per Regione Calabria Sicilia Basilicata Noccioline 50 60 100 Pistacchi 40 70 80 Patatine 90 120 140 29
OLAP Operators/3 Pivoting riorganizza il data cube Pivot All All All Pivot Product Time Drill-Down Pivot Product Time Drill-Down Time Drill-Down 30
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 31
Example/1 3D OLAP Data Cube Dimensione: Tempo celle Anno 12 23 24 21 32 32 17 28 34 41 32 39 25 21 20 10 30 15 12 23 24 21 32 32 17 28 34 12 23 24 41 32 39 21 32 32 25 21 20 10 30 15 12 23 24 21 32 32 livello Semestre 1 Semestre 2 trimestre 1 trimestre 2 trimestre 3 trimestre 4 gen feb mar apr mag giu lug ago setr ott nov dic membri Vista 2D 32
Example/2 Vista 2D Dimensione: Prodotto Prodotto 12 23 24 12 32 14 56 24 59 23 13 65 34 27 38 11 73 35 26 52 11 31 42 17 18 19 22 16 53 15 38 12 37 28 29 27 Categoria 1 Categoria 2 31 21 42 18 34 76 11 26 37 45 66 74 69 37 13 24 33 53 sottocategoria 1 sottocategoria 2 sottocategoria 3 sottocategoria 4 23 13 65 34 27 38 11 73 35 26 52 11 31 42 17 18 19 22 P1 P2 P3 P4 P5 P6 P7 P8 31 21 42 18 34 76 11 26 37 33
Example/3 Anno Dimensioni Misura Anno Prodotto Zona Vendita 1999 P1 Z1 18 1999 P2 Z2 15 Z4 Z3 2003 2002 2001 2000 1999 Z1 Z2 15 10 23 17 15 12 25 15 34 16 12 18 P1 15 P2 P3 P4 Prodotto 2000 P1 Z2 12 2000 P3 Z1 16 2000 P1 Z4 15 2001 P1 Z2 15 2001 P3 Z3 34 2002 P1 Z1 17 2002 P2 Z1 15 2002 P2 Z3 25 Zona 2002 P3 Z2 12 2003 P2 Z1 10 2003 P4 Z2 23 Interpretazione Multi-Dimensionale di Dati Relazionali (RDBMS) 34
Example/4 Anno Anno 2003 2002 2001 10 17 15 25 12 23 2003 2002 2001 25 10 32 23 12 Z4 Z3 2000 1999 Z1 Z2 15 15 34 16 12 18 P1 15 P2 P3 P4 Prodotto Z4 Z3 2000 1999 Z1 Z2 15 15 12 15 34 18 C1 16 C2 Categoria Zona Zona Dimensione Prodotto: gerarchia Prodotto Categoria Aggregazione sulla Dimensione Prodotto {P1, P2} C1 {P3, P4} C2 35
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 36
Physical Representation of OLAP Data/1 Multidimensional OLAP (MOLAP) Memorizzazione basata su array multidimensionali (si basa su tecniche ottimizzate di rappresentazione ed algoritmi per matrici sparse) Richiede strutture di indicizzazione dedicate (veloci) per precomputare i dati aggregati Relational OLAP (ROLAP) Utilizza tecniche basate sulla tradizionale tecnologia dei RDBMS (oppure loro estensioni) Presuppone ottimizzazione degli strati di back-end degli RDBMS server e l implementazione di tool di navigazione dei dati aggregati Consente una maggiore scalabilità 37
Physical Representation of OLAP Data/2 Hybrid OLAP (HOLAP) Flessibilità per l utente. Esempio: MOLAP per basso livello e ROLAP per alto livello Specialized SQL servers Supporto dedicato per OLAP query su schemi a stella ed a fiocco di neve Utilissimi nelle applicazioni dedicate 38
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 39
Commercial OLAP Server Systems Oracle OLAP Business Objects Microsoft Analysis Services on SQL Server 40