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