ANALISI DEI DATI OLAP (On Line Analytical Processing) Data

ANALISI DEI DATI
OLAP
(On Line Analytical Processing)
Data Warehousing
Data Mining
Il Sistema ideale
A2
A1
DBMS
Una sola interfaccia di comunicazione
sia verso il DB che verso le applicazioni
An
DB
Una sola base di Dati
La situazione reale
Non esiste una situazione stazionaria
C’è una continua evoluzione dei parametri che
influenzano la realizzazione e la vita di un DB:



Esigenze
Strutture
Tempi di realizzazione
Non esiste un’unica base di dati all’interno di una stessa
organizzazione.
Soluzioni:



Eterogenee
Distribuite
Autonome
Sistemi OLTP e OLAP (1)
OLTP (On Line Transaction Processing)







Sistemi per la gestione dei dati
Utilizzo di un set di operazioni ben definito
Bassa complessità delle operazioni
Le operazioni coinvolgono una piccola quantità di dati
Continuo aggiornamento dei dati
Generalmente viene utilizzato lo “stato corrente” di
un’applicazione
Devono essere rispettate le proprietà ACIDe
(atomicità, correttezza, isolamento, durabilità) delle
transazioni
Sistemi OLTP e OLAP (2)
OLAP (On Line Analytical Processing):






Sistemi per l’analisi dei dati
Permettono di eseguire operazioni non previste nella
progettazione del DB (sistemi di supporto alle
decisioni)
Operano su grosse moli di dati
I dati sono “statici” (usualmente si utilizzano dati
storici)
Operano su dati provenienti da più fonti eterogenee
Le proprietà ACIDe non sono rilevanti perché le
operazioni sono di sola lettura
Sistemi OLTP e OLAP (3)
OLTP (On Line Transaction
Processing)







Sistemi per la gestione dei
dati
Utilizzo di un set di
operazioni ben definito
Bassa complessità delle
operazioni
Le operazioni coinvolgono
una piccola quantità di dati
Continuo aggiornamento
dei dati
Generalmente viene
utilizzato lo “stato corrente”
di un’applicazione
Devono essere rispettate
le proprietà ACIDe
(atomicità, correttezza,
isolamento, durabilità)
delle transazioni
OLAP (On Line Analytical
Processing):






Sistemi per l’analisi dei dati
Permettono di eseguire
operazioni non previste nella
progettazione del DB (sistemi di
supporto alle decisioni)
Operano su grosse moli di dati
I dati sono “statici” (usualmente
si utilizzano dati storici)
Operano su dati provenienti da
più fonti eterogenee
Le proprietà ACIDe non sono
rilevanti perché le operazioni
sono di sola lettura
Sistemi OLTP e OLAP (4)
OLTP
A
1
A
2
OLAP
terminalisti
analisti
A
n
DB
Terminalisti: utenti finali. Possono
eseguire operazioni di lettura e di
scrittura
A
2
A
DWMS
DW
A
1
n
Analisti: Pochi utenti, occupano
posizioni di alto livello nell’impresa
e svolgono attività di supporto
alle decisioni.
Data warehouse
Utilizzano dati provenienti da più DB
I meccanismi di importazione sono di tipo
asincrono e periodico

In tal modo non vengono penalizzate le prestazioni
delle data source
La warehouse non contiene dati perfettamente
allineati con il flusso di transazioni negli OLTP
Problema legato alla qualità dei dati:

La semplice raccolta di dati può non essere
sufficiente per una corretta analisi perché i dati
possono contenere inesattezze, errori, omissioni
Architettura della DW (1)
Export dei dati
Data mining
DW
Accesso ai Dati
Allineamento dei Dati (refresh)
Acquisizione dei Dati
Export
Export
Export
Data Filter
Data Filter
Data Filter
Data Source
Data Source
Data Source
Architettura della DW (2)
Data Source
Data Filter
Export
Sorgenti dei dati per la DW. Possono essere di
qualsiasi tipo, anche non gestite tramite DBMS
oppure gestite da DBMS di vecchia generazione
(legacy system).
Controlla la correttezza dei dati prima
dell’inserimento nella warehouse. Può eliminare dati
scorretti e rilevare o correggere eventuali
inconsistenze tra dati provenienti da molteplici data
source. Viene fatta la pulizia dei dati necessaria ad
assicurare un buon livello di qualità.
L’esportazione dei dati avviene in maniera
incrementale: il sistema di esportazione colleziona
solo le modifiche delle data source
Architettura della DW (3)
Acquisizione dei Dati
•
E’ responsabile del caricamento iniziale dei dati nella DW.
•
Predispone i dati all’uso operativo, svolge operazioni di ordinamento,
aggregazione e costruisce le strutture dati della warehouse.
•
In applicazioni con pochi dati il modulo è invocato periodicamente per acquisire
tutto il contenuto della DW
•
In genere,invece, i dati vengono allineati in modo incrementale, con il modulo
successivo
Allineamento dei Dati (refresh)
Propaga incrementalmente le modifiche della data source in modo da aggiornare il
contenuto della DW. L’aggiornamento può essere effettuato tramite l’invio dei dati o
l’invio delle transazioni. Nel primo caso all’interno delle data source vengono inseriti
dei trigger che registrano cancellazioni, inserimenti e modifiche(coppie inserimentocancellazione) in archivi variazionali. Nel secondo caso viene usato il log delle
transazioni per costruire gli archivi variazionali.
Architettura della DW (4)
Accesso ai Dati
E’ il modulo che si occupa dell’analisi dei dati. Realizza in maniera efficiente
interrogazioni complesse caratterizzate da join tra tabelle, ordinamenti e
aggregazioni complesse. Consente nuove operazioni come roll up, drill down e
data cube.
Data mining
Consente di svolgere ricerche sofisticate sui dati e di esplicitare relazioni
“nascoste” tra i dati.
Export dei dati
Consente l’esportazione dei dati da una DW ad un’altra. Architettura
gerarchica.
Schema di una DW
Ci si concentra su sottoinsiemi molto
semplici dei dati aziendali che si vogliono
analizzare (dati dipartimentali).
Ogni schema elementare prende il nome
di data mart.
L’organizzazione dei dati di un data mart
avviene secondo uno schema
multidimensionale o schema a stella.
Schema a stella (1)
prodotto
Unità centrale
rappresenta i fatti
(0,N)
(1,1)
supermercato
(0,N)
(1,1)
Vendita
(1,1)
(0,N)
promozione
(1,1)
(0,N)
tempo
Diverse unità poste a
raggiera intorno ai
fatti rappresentano le
dimensioni
Schema a stella (2)
Varie relazioni uno a molti collegano ciascuna
occorrenza di fatto con una ed una sola
occorrenza di ciascuna delle dimensioni.
La struttura regolare è indipendente dal
problema considerato. (occorrono almeno due
dimensioni altrimenti il problema degenera in
una semplice gerarchia uno-molti)
Un numero elevato di dimensioni è sconsigliato
perché la gestione dei fatti e l’analisi si
complicano.
Schema a stella: esempio (1)
Ciascuna occorrenza di vendita ha
per identificatore i quattro codici:
Prodotto: CodProd
•Nome
•Categoria
•Marca
•Peso
•Fornitore
•CodProd
•CodMarket
(0,N)
•CodPromo
•CodTempo
Gli attributi non
chiave sono
Amm e Qta.
(1,1)
Supermercato:
CodMarket
•Nome
•Città
•Regione
•Zona
•Dimensioni
(0,N)
(1,1)
(1,1)
Vendita
•Amm
•Qta
(1,1)
(0,N)
Tempo: CodTempo
•GiornoSett
•GiornoMese
•GiornoAnno
•SettimanaMese
•SettimanaAnno
(0,N)
Promozione:
CodPromo
•Nome
•Tipo
•Percentuale
•FlagCoupon
•DataInizio
•DataFina
•Costo
•Agenzia
Schema a stella: esempio (2)
Nella dimensione del tempo sono presenti dati
derivati e ridondanze.
Le ridondanze servono per facilitare le
operazioni di analisi dei dati.
I fatti sono in forma normale di Boyce-Codd in
quanto ogni attributo non chiave dipende
funzionalmente dalla sua unica chiave.
Le dimensioni sono in genere relazioni non
normalizzate.
Schema a fiocco di neve
(0,N)
Evoluzione dello
schema a stella,
introdotta per
strutturare
gerarchicamente le
dimensioni non
normalizzate
(1,1)
(1,1)
Fornitore
(0,N)
Prodotto
Categoria
(0,N)
(1,1)
(0,N)
Supermercato
(1,1)
(0,N)
Città
(1,1)
(0,N)
Regione
Vendita
(1,1)
(0,N)
Tempo
(1,1)
(0,N)
Giorno
(1,1)
(0,N)
Promozione
ANALISI DEI DATI: OPERAZIONI
1) Interfaccia standard di formulazione
delle query
2) Drill down e Roll up
3) Data Cube
INTERFACCIA STANDARD DI
FORMULAZIONE DELLE QUERY(1)
L’analisi dei dati di un data mart
organizzato a stella richiede l’estrazione di
un sottoinsieme dei fatti e delle
dimensioni
Le dimensioni vengono usate per
selezionare i dati e per raggrupparli
I fatti vengono tipicamente aggregati
Il tutto avviene in base agli interessi degli
analisti.
INTERFACCIA STANDARD DI
FORMULAZIONE DELLE QUERY(2)
Promozione.Nome
Prodotto.Nome
Tempo.Mese
3x2
Coupon 15%
SuperSaver
Vino
Pasta
Olio
Gen … Dic
SuperSaver
Pasta … Olio
Feb … Apr
Prodotto.Nome
Tempo.Mese
•Prodotto
•Tempo
Amm
Schema
Opzioni
Attributi delle dimensioni:
•Promozione
Qta
Condizioni
sum
sum
Vista
Attributi dei Fatti:
• Aggregati (SUM)
INTERFACCIA STANDARD DI
FORMULAZIONE DELLE QUERY(3)
Promozione.Nome
Prodotto.Nome
Tempo.Mese
3x2
Coupon 15%
SuperSaver
Vino
Pasta
Olio
Gen … Dic
SuperSaver
Pasta … Olio
Feb … Apr
Prodotto.Nome
Tempo.Mese
Qta
Amm
Schema
Opzioni
Condizioni
sum
sum
Vista
select Tempo.Mese, Prodotto.Nome, sum(Amm), sum(Qta)
from Vendite, Tempo, Prodotto
where Vendite.CodTempo = Tempo.CodTempo
and Vendite.CodProdotto = Prodotto.CodProdotto
and (Prodotto.Nome = ‘Pasta’ or Prodotto.Nome = ‘Olio’)
and Tempo.Mese between ‘Feb’ and ‘Apr’
and Promozione.Nome = ‘SuperSaver’
group by Tempo.Mese, Prodotto.Nome
order by Tempo.Mese, Prodotto.Nome
Tempo.mese
Prodotto.nome
sum(Amm)
sum(Qta)
DRILL DOWN E ROLL UP(1)
Il drill down permette di aggiungere una dimensione di
analisi disaggregando i dati.
Il roll up dualmente consente di eliminare una
dimensione di analisi.
Alternando operazioni di drill down e roll up l’analista
può evidenziare la dipendenza dei fenomeni
rappresentati nei fatti dai fatti delle varie dimensioni.
L’operazione di roll up può essere fatta agendo sui
risultati dell’interrogazione, quella di drill down richiede la
riformulazione dell’interrogazione(servono dati non
presenti nell’interrogazione).
DRILL DOWN E ROLL UP(2)
Tempo.mese
Zona
Esempio:
Feb
somma delle quantità vendute di Nord
Mar
Centro
pasta
Apr
Sud
Prodotto.Nome Sum(Qta)
Pasta
46 Kg
54
Pasta
50 Kg
Pasta
51 Kg
43Kg
Tempo.mese Prodotto.Nome Zona
Sum(Qta)
Feb
Pasta
Nord
18
Feb
Pasta
Centro
15
Feb
Pasta
Sud
13
Mar
Pasta
Nord
18
Mar
Pasta
Centro
18
Mar
Pasta
Sud
14
Apr
Pasta
Nord
18
Apr
Pasta
Centro
17
Apr
Pasta
sud
16
DATA CUBE (1)
L’operatore data cube permette di svolgere tutte le possibili
aggregazioni presenti in una tabella estratta per l’analisi.
Il valore polimorfo ALL(presente in tutti i domini e
corrispondente all’insieme di tutti i possibili valori presenti nel
dominio) viene usato per rappresentare l’aggregazione
Marca
Anno
Colore
Vendite
Ferrari
1998
rosso
50
Ferrari
1999
rosso
85
Porsche
1998
rosso
80
select Marca, Anno, Colore, sum(Vendite)
from Vendite
where (Marca = ‘Ferrari’ or Marca = ‘Porsche’)
and Colore = ‘Rosso’
and Anno between 1998 and 1999
group by Marca, Anno, Colore
with cube
Marca
Anno
Colore
Sum(vendite)
Ferrari
1998
Rosso
50
Ferrari
1999
Rosso
85
Ferrari
1998
ALL
50
Ferrari
1999
ALL
85
Ferrari
ALL
Rosso
135
Ferrari
ALL
ALL
135
Porsche
1998
Rosso
80
Porsche
1998
ALL
80
Porsche
ALL
Rosso
80
Porsche
ALL
ALL
80
ALL
1998
Rosso
130
ALL
1999
Rosso
85
ALL
ALL
Rosso
215
ALL
1998
ALL
130
ALL
1999
ALL
85
ALL
ALL
ALL
ALL
215
ALL
DATA CUBE (2)
1999
1998
rosso
ALL
Ferrari
Porsche
DATA CUBE (3)
I punti dello spazio rappresentano le
possibili tuple.
I tre piani cartesiani rappresentano le
aggregazioni su una sola dimensione.
Gli assi cartesiani rappresentano le
aggregazioni su due dimensioni.
L’origine degli assi cartesiani rappresenta
l’aggregazione di tutte e tre le dimensioni.
DATA CUBE (4)
La complessità della
Marca
Anno Colore Sum(vendite)
valutazione del data cube
cresce in modo
Ferrari
1998 Rosso 50
combinatorio col crescere
Ferrari
1999 Rosso 85
del numero degli attributi
Porsche 1998 Rosso 80
di raggruppamento.
Ferrari
1998 ALL
50
Per risolvere il problema
Ferrari
1999 ALL
85
è stata introdotta una
Porsche 1998 ALL
80
nuova estensione di SQL
Ferrari
ALL
ALL
135
(che la clausola with roll
Porsche ALL
ALL
80
up), in cui le aggregazioni
sono progressive.
select Marca, Anno, Colore, sum(Vendite)
from Vendite
where (Marca = ‘Ferrari’ or Marca = ‘Porsche’)
and Colore = ‘Rosso’
and Anno between 1998 and 1999
with roll up
Data mining
Ricerca di informazioni nascoste all’interno
delle DW.
Classici esempi sono quelli per le analisi di
mercato, per l’individuazione di oggetti
acquisiti assieme o in sequenza.
Il processo di data mining: Fasi
1. Comprensione del dominio.
2. Preparazione sul set di dati. Individuazione
di un sottoinsieme dei dati della DW su cui
effettuare il mining.
3. Scoperta dei pattern. Ricerca e
individuazione di pattern ripetitivi tra i dati.
4. Valutazione dei pattern. Trarre implicazioni
applicative dai pattern trovati. Valutazione degli
esperimenti da compiere successivamente.
5. Utilizzo dei risultati. Prendere decisioni
operative a seguito del processo di data
mining.
Problemi di data mining (1)
Regole di associazione. Scoprire
associazioni ti tipo causa-effetto.
Pannolini → Birra
e’ possibile definire in modo preciso le
probabilità relative alle regole di associazione.


supporto: probabilità che in una osservazione sia
presente sia la premessa che la conseguenza di
una regola.
confidenza: probabilità che in una osservazione sia
presente la conseguenza di una regola essendo già
presente la premessa.
Problemi di data mining (2)
Discretizzazione: viene rappresentato un
intervallo continuo di valori tramite pochi
valori discreti (es. alto, basso, medio) per
preparare i dati.
Classificazione: catalogazione di un
fenomeno in una classe predefinita. Fa
uso di algoritmi di classificazione (es.
alberi decisionali)