Il modello multidimensionale - e-Learning

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