Il modello multidimensionale Per le slides si ringrazia il Prof. Stefano Rizzi (http://www-db.deis.unibo.it/~srizzi/) e il Dott. Angelo Sironi Verso il modello multidimensionale “Che incassi sono stati registrati l’anno passato per ciascuna regione e ciascuna categoria di prodotto?” “Che correlazione esiste tra l’andamento dei titoli azionari dei produttori di PC e i profitti trimestrali lungo gli ultimi 5 anni?” “Quali sono gli ordini che massimizzano gli incassi?” “Quale di due nuove terapie risulterà in una diminuzione della durata media di un ricovero?” “Che rapporto c’è tra i profitti realizzati con spedizioni di meno di 10 elementi e quelli realizzati con spedizioni di più di 10 elementi?” 2 Tecniche di analisi dei dati • Una volta che i dati sono stati ripuliti, integrati e trasformati, occorre capire come trarne il massimo vantaggio informativo • Esistono in sostanza tre approcci differenti, supportati da altrettante categorie di strumenti, all’interrogazione di un DW da parte degli utenti finali: – reportistica: non richiede conoscenze informatiche – OLAP: richiede all’utente di ragionare in modo multidimensionale e di conoscere l’interfaccia dello strumento grafico utilizzato – data mining: richiede all’utente la conoscenza dei principi che stanno alla base degli strumenti utilizzati 3 Reportistica Orientato agli utenti che hanno necessità di accedere, a intervalli di tempo predefiniti, a informazioni strutturate in modo pressoché invariabile 4 OLAP • È la principale modalità di fruizione delle informazioni contenute in un DW • Consente, a utenti le cui necessità di analisi non siano facilmente identificabili a priori, di analizzare ed esplorare interattivamente i dati sulla base del modello multidimensionale • Mentre gli utenti degli strumenti di reportistica svolgono un ruolo essenzialmente passivo, gli utenti OLAP sono in grado di costruire attivamente una sessione di analisi complessa in cui ciascun passo effettuato è conseguenza dei risultati ottenuti al passo precedente – – – – estemporaneità delle sessioni di lavoro richiesta approfondita conoscenza dei dati complessità delle interrogazioni formulabili orientamento verso utenti non esperti di informatica interfaccia flessibile, facile da usare ed efficace 5 OLAP: sessione • Una sessione OLAP consiste in un percorso di navigazione che riflette il procedimento di analisi di uno o più fatti di interesse sotto diversi aspetti e a diversi livelli di dettaglio. Questo percorso si concretizza in una sequenza di interrogazioni spesso formulate non direttamente, ma per differenza rispetto all’interrogazione precedente • Ogni passo della sessione di analisi è scandito dall’applicazione di un operatore OLAP che trasforma l’ultima interrogazione formulata in una nuova interrogazione • Il risultato delle interrogazioni è di tipo multidimensionale; gli strumenti OLAP rappresentano tipicamente i dati in modo tabellare evidenziando le diverse dimensioni mediante intestazioni multiple, colori ecc. • La navigazione di tipo OLAP si basa su un modello dati di tipo multidimensionale 6 Il modello multidimensionale • È il fondamento per la rappresentazione e l’interrogazione dei dati nei data warehouse(1). • I fatti di interesse sono rappresentati in cubi in cui: – ogni cella contiene misure numeriche che quantificano il fatto da diversi punti di vista; – ogni asse rappresenta una dimensione di interesse per l’analisi; – ogni dimensione può essere la radice di una gerarchia di attributi usati per aggregare i dati memorizzati nei cubi base. (1) Nei Data Mart [Sironi] 7 Il cubo delle vendite negozio 10 BigWare parte vite data 10-10-2001 8 Slicing = restrizione sui dati negozio negozio Slicing and dicing 'DiTutto' 'DiTutto' negozio Dicing = condizioni sui dati '5/4/2001' data data regione='Lombardia' categoria='alimentari' data anno=2003 9 Le gerarchie prodotto Brillo Sbianco Lucido tipo categoria detersivo pulizia casa Manipulite Scent Latte Fresco Slurp Latte UHT Slurp Yogurt Slurp sapone tutti i prodotti latticino alimentari Bevimi Colissima negozio bibita città DiTutto2 Bologna Nonsolopappa DiTutto Milano DiTutto3 Como regione Emilia Romagna tutti i negozi Lombardia 10 Aggregazione negozio parte data città negozio tipo parte tipo parte mese mese 11 Aggregazione 12 OLAP: operatori roll-up Roll-Up : (arrotolare) induce un aumento nell’aggregazione dei dati eliminando un livello di dettaglio da una gerarchia. 13 OLAP: operatori roll-up 14 OLAP: operatori roll-up 15 OLAP: operatori drill-down Drill-Down : (trivellare) induce una diminuzione nell’aggregazione dei dati introducendo un ulteriore livello di dettaglio in una gerarchia. 16 OLAP: operatori drill-down 17 OLAP: operatori drill-down 18 OLAP: operatori slice-and-dice Slice-and-Dice : (tagliare a fette e a cubetti) Slice : riduce la dimensionalità del cubo fissando un valore per una delle dimensioni; Dice : (selezione) riduce l’insieme dei dati attraverso la formulazione di un criterio di selezione. 19 OLAP: operatori Slicing sul predicato Year=1998 20 OLAP: operatori Dicing su predicato complesso 21 OLAP: operatori pivoting Pivoting : (ruotare) comporta un cambiamento nella modalità di presentazione con l’obiettivo di analizzare le stesse informazioni sotto diversi punti di vista. 22 OLAP: operatori pivoting 23 OLAP: operatori pivoting 24 OLAP: operatori drill-across Drill-Across : (collegare) stabilisce un collegamento tra due o più cubi al fine di compararne i dati. 25 OLAP: operatori drill-across Drill-across tra il cubo delle vendite (Dollar Sales) e il cubo delle promozioni (Discount). 26 Multidimensional OLAP (MOLAP) • Basato su un modello logico ad hoc sul quale i dati e le operazioni multidimensionali possono essere direttamente rappresentati. • I dati vengono fisicamente memorizzati in vettori e l’accesso è di tipo posizionale. – Di solito, il vettore contiene sia i dati alla granularità più fine sia tutti i suoi aggregati • Vantaggi rispetto all’approccio ROLAP – Le operazioni multidimensionali sono realizzabili in modo semplice e naturale, senza necessità di ricorrere a join – Le prestazioni risultano pertanto ottime. (*)Sironi 27 Multidimensional OLAP (MOLAP) • Svantaggi – Mancanza di uno standard per il modello logico multidimensionale – Condividono l’utilizzo di tecnologie similari per trattare il problema della sparsità (modello fisico) – Elevati costi di aggiornamento – Orientati all’interrogazione – Limiti di capacità e di flessibilità elaborativa (*)Sironi 28 Relational OLAP (ROLAP) • Giustificato dall’enorme lavoro svolto in letteratura sul modello relazionale, dalla diffusa esperienza aziendale sull’utilizzo e l’amministrazione di basi di dati relazionali e dall’elevato livello di prestazioni e flessibilità raggiunto dai DBMS relazionali – Necessità di elaborare tipologie specifiche di schemi che permettano di traslare il modello multidimensionale sul modello relazionale: schema a stella (Kimball Dimensional Model oppure Snowflake). – Problema delle prestazioni (costose operazioni di join tra tabelle di elevate dimensioni): denormalizzazione. front-end back-end Middleware Server relazionale Meta-dati Client OLAP 29 HOLAP (Hybrid OLAP) • Sistemi di questo tipo combinano in un’unica architettura elementi di ROLAP e MOLAP – Tipicamente i dati di dettaglio sono memorizzati su DBMS relazionale, i pre-aggregati su strutture multidimensionali proprietarie – Oppure, i sottocubi densi sono memorizzati in forma multidimensionale, quelli sparsi in forma relazionale 30