Data Warehousing & OLAPpages.di.unipi.it/turini/Analisi di Dati/slides-17-18/Slides2-OLAP.pdf ·...
Transcript of Data Warehousing & OLAPpages.di.unipi.it/turini/Analisi di Dati/slides-17-18/Slides2-OLAP.pdf ·...
1
Data warehousing e OLAP(tratti da slides di C.Renso e C.Gozzi)
• Introduzione
– Il contesto, processi aziendali
• Decision Support Systems
• Sistemi di Data Warehousing
– Data mart
– Architettura
– Modellazione Concettuale
– Star Schema, Dimensioni, Livelli
• OLAP
• Progettazione di un Data Warehouse
– Analisi, Integrazione, Progettazione
2
Il Contesto
• Verso la fine degli anni ‘90 si è capita
l’importanza strategica, per il business,
dell’uso dei dati aziendali raccolti dai processi
operazionali (Business Intelligence)
• Il ritorno di investimento dato
dall’automatizzazione dei processi aziendali
non dava il risultato sperato.
• Occorreva sfruttare meglio i dati aziendali
globali accumulati
3
In genere:
abbondanza di dati
ma anche
abbondanza di ridondanza ed inconsistenza
che non permette di utilizzare i dati in modo utile
a fini decisionali
DB4
Il problema
DB1
DB3
DB2
4
Tipiche richieste
• Qual è il volume delle vendite per regione e categorie di prodotto durante l’ultimo anno?
• Come si correlano i prezzi delle azioni delle società produttrici di hardware con i profitti trimestrali degli ultimi 10 anni?
• Quali sono stati i volumi di vendita dello scorso anno per regione e categoria di prodotto?
• In che modo i dividendi di aziende di hardware sono correlati ai profitti trimestrali negli ultimi 10 anni?
5
•gestione dei rischi
•analisi finanziaria
•programmi di marketing
•analisi statistica
•integrazione DB clienti
•integrazione relazioni clienti
•analisi temporale
•telecomunicazioni
•banking
•università
•assicurazioni
•beni di consumo
•salute
•produzione
contesti
problematiche
Possibili applicazioni
6
In sintesi ...
daticonoscenza utile
all’azienda
sistemi di supporto
alle decisioni (DSS)
DSS: Tecnologia che supporta la dirigenza
aziendale nel prendere decisioni tattico-
strategiche in modo migliore e più veloce
7
Processi Aziendali
Processi informativi aziendali:Processi operativi
Operano su dati dipartimentali e dettagliati
Decisioni strutturate e basate su regole definite
Processi gestionali
Operano su dati settoriali e parzialmente aggregati
Decisioni semistrutturate, basate su regole note ma
con intervento umano creativo
Processi direzionali
Operano su dati integrati e aggregati
Decisioni non strutturate, non cis ono regole, il tutto
è basato su capacità umane
8
Processi Aziendali - Una Banca
Processi Operativi:
Gestione di un movimento su Conto Corrente
bancario presso uno sportello
Processi Gestionali
Concessione di un fido
Revisione delle condizioni su conto corrente
Processi Direzionali
Verifica dell’andamento di servizi su carte di
credito
Lancio di una campagna promozionale
Accordi commerciali
9
Processi Aziendali - Compagnia
Telefonica
Processi Operativi:
Stipula dei contratti
Instradamento delle telefonate
Dati contabili telefonate(scatti, durata, tariffa…)
Processi Gestionali
Stipula di contratti speciali
Installazione infrastrutture
Processi Direzionali
Scelta dei parametri che fissano il costo delle
telefonate
Definizione di contratti diversificati
Pianificazione potenziamento infrastrutture
10
Informatizzazione dei sistemi informativi aziendali
Un sistema aziendale può essere tanto più
informatizzato quanto più le sue decisioni
sono strutturate.
Un processo altamente strutturato può essere
facilmente informatizzato, mentro un processo
non strutturato può essere solo parzialmente
supportato da inziative di informatizzazione
11
Sistemi Informativi
Tipologie di sistemi informativi:
Transaction Processing System:
dipartimentali, per sistemi strutturati
Management Information System: settoriali,
anche per processi gestionali
Decision Support System: fortemente
integrati, di supporto alle decisioni
12
Perché i sistemi tradizionali non sono sufficienti?
• Non gestiscono dati storici
• Sono sistemi eterogenei
• Basse prestazioni
• DBMS non adeguati al supporto decisionale
• Problemi di sicurezza
13
• Sistemi tradizionali
– On-Line Transaction Processing (OLTP)
• Sistemi di data warehousing
– On-Line Analytical Processing (OLAP)
Profondamente diversi
Più formalmente…
14
Sistemi di Supporto alle Decisioni
I DSS sono i sistemi che supportano la dirigenza nel
predere decisoni tattico-strategiche, nel modo
migliore e velocemente.
Tipiche operazioni:
1. Quali sono stati i volumi di vendita dello scorso
anno per una certa categoria di prodotto?
2. Quali ordini dovremmo soddisfare per
massimizzare le entrate?
Ci si basa sui dati accumulati OLTP!!!!
15
In dettaglio ...OLTP OLAP
funzione gestione
giornaliera
supporto alle
decisioni
progettazione orientata alle
applicazioni
orientata al soggetto
frequenza giornaliera sporadica
dati recenti, dettagliati storici, riassuntivi,
multidimensionali
sorgente singola DB DB multiple
uso ripetitivo ad hoc
accesso read/write read
flessibilità accesso uso di programmi
precompilati
generatori di query
# record acceduti decine migliaia
tipo utenti operatori manager
# utenti migliaia centinaia
tipo DB singola multiple, eterogenee
performance alta bassa
dimensione DB 100 MB - GB 100 GB - TB
16
Sistemi di Supporto alle Decisioni
In generale i DSS si usano per:
• Customer Retention– Identificare pattern che portano il cliente alla
“defezione”
• Customer Service– Servizi di recommendation del prodotto
• Marketing– Targeting delle promozioni
• Risk Assessment, Fraud Detection– Trovare pattern sospetti
17
Evoluzione dei DSS
• Anni ‘60: rapporti batch– difficile trovare ed analizzare i dati
– costo, ogni richiesta richiede un nuovo programma
• Anni ‘70: DSS basato su terminale– non integrato con strumenti di automazione d’ufficio
• Anni ‘80: strumento d’automazione d’ufficio– strumenti di interrogazione, fogli elettronici, interfacce
grafiche
– accesso ai dati operazionali
• Anni ‘90: data warehousing, con strumenti integrati OLAP
18
I sistemi di data warehousing
Il Data Warehousing si può definire come il
processo di integrazione di basi di dati
indipendenti in un singolo repository (il data
warehouse) dal quale gli utenti finali possano
facilmente ed efficientemente eseguire query,
generare report ed effettuare analisi
19
Data Marts
• Data warehouse dipartimentale
• sistema specializzato che mette insieme i dati
necessari ad un dipartimento
• implementato creando views specifiche alle
applicazioni
• sottoinsiemi materializzati di views dipartimentali
che focalizzano su soggetti determinati.
• Possono utilizzare differenti metafore di
rappresentazione
20
Il data warehouse
Collezione di dati che soddisfa le seguenti proprietà:
• usata per il supporto alle decisioni
• orientata ai soggetti
• integrata: livello aziendale e non dipartimentale
• correlata alla variabile tempo: ampio orizzonte
temporale
• con dati tipicamente aggregati, per effettuare stime
• fuori linea: dati aggiornati periodicamente
21
Il data warehouse
Orientata ai soggetti: considera i dati di
interesse ai soggetti dell’organizzazione e
non quelli rilevanti ai processi organizzativi
– basi di dati operazionali dipartimentali:
• vendita, produzione, marketing
– data warehouse: prodotti, clienti, fornitori
22
Il data warehouse
Integrata:
– i dati provengono da tutte le sorgenti informative
– il data warehouse rappresenta i dati in modo
univoco, riconciliando le eterogeneita` delle
diverse rappresentazioni:
• nomi
• struttura
• codifica
• rappresentazione multipla
23
Il data warehouse
Correlata alla variabile tempo: presenza di dati storici per eseguire confronti, previsioni e per individuare tendenze
– basi di dati operazionali: finestra temporale di pochi mesi
– data warehouse: finestra temporale dell’ordine di anni
24
Il data warehouse
Dati aggregati: nell’attività di analisi dei dati per
il supporto alle decisioni:
– non interessa “chi” ma “quanti”
– non interessa un dato ma la somma, la
media, il minimo, il massimo di un insieme
di dati
25
Il data warehouse
Fuori linea:
– base di dati operazionale: i dati venono acceduti,
inseriti, modificati, cancellati pochi record alla volta
– data warehouse:
• operazioni di accesso e interrogazione diurne
• operazioni di caricamento e aggiornamento
notturne che riguardano milioni di record
26
Data
Warehouse
Extract
Transform
Load
Refresh
OLAP
Server
Analysis
Query
Reports
Data mining
Tools
Serve
Data Marts
Operational
DBs
other
sources
Architettura
27
Popolare un data warehouse
• Estrazione dei dati dalle sorgenti informative
• Trasformazione e pulizia dei dati,
trasformazione di formato e correlazione con
oggetti provenienti da altre sorgenti
• Caricamento aggiunta di informazioni
temporali e generazione di dati aggregati
• Refresh - modalità incrementale
28
Dal data warehouse al cubo OLAP
Dimensioni e misure
– Star schema: Un singolo oggetto (fact table) in mezzo
connessa 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.
29
Star Schema
• Un fatto è un evento di interesse per l’impresa
(vendite, spedizioni, acquisti)
• Le misure sono attributi che descrivono
quantitativamente il fatto da diversi punti di vista
(num di unità vendute, prezzo unitario)
• Una dimensione determina la granularità minima di
rappresentazione dei fatti (il prodotto,il negozio, la
data)
• Una gerarchia determina come le istanze di un fatto
possono essere aggregate e selezionate - descrive
una dimensione
30
Dimensioni
• Devono essere scelte sono le entità rilevanti
per l’analisi
• Tipicamente sono caratterizzate da attributi
testuali o discreti
• La dimensione temporale esiste sempre
Esempio:
•vendite in una catena di supermercati
–Dimensioni: tempo, prodotti, negozio
•Iscrizioni universitarie
–Dimensioni: tempo, corso di laurea, tipologia studenti
31
Dimensioni
Come si identifica se un attributo numerico è un
fatto o una dimensione?
Se è una misura che varia continuamente nel
tempo è un fatto
analisi costo di un prodotto nel tempo
Se è una discrizione discreta di qualcosa che e’
ragionevolmente costante è un attributo di
una dimensione
costo di un prodotto come informazione descrittiva
32
Dimensioni
• Tipicamente le dimensioni sono:
– Tempo
– Collocazione geografica
– Organizzazione
– Clienti
• Il numero di attributi per ogni dimensione è in
genere molto elevato (centinaio)
33
Fatti
• I fatti sono tipicamente numerici addittivi
• Es. vendita in una catena di supermercati i
fatti possono essere
– N. prodotti venduti
– Incassi
– Costi
– …..
34
Addittività dei fatti
• Se i dati si possono aggregare sommando rispetto ad
ogni dimensione, sono detti addittivi (incassi totali)
• Se si possono aggregare sommando su alcune
dimensioni, ma non si possono aggregare
sommando su altre sono detti semiaddittivi (es. le
misure statiche come bilanci finanziari sono
semiaddittive rispetto al tempo)
• Se i fatti non si possono sommare sono detti non
addittivi (es. costi unitari non si possono aggregare
se prima non si moltiplicano per la unita’ vendute)
35
Gerarchie ed aggregati
• L’idea delle gerarchie é 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
• Gerarchia Tipica:
– Comune, Provincia, Regione,Stato, Continente
36
Esempio di Star Schema
Date
Month
Year
Date
CustId
CustName
CustCity
CustCountry
Cust
Sales Fact Table
Date
Product
Store
Customer
unit_sales
dollar_sales
Yen_sales
Measurements
ProductNo
ProdName
ProdDesc
Category
QOH
Product
StoreID
City
State
Country
Region
Store
Chiavi Esterne
La Fact Table è
normalizzata
37
Esempio di Snowflake Schema
Date
Month
Date
CustId
CustName
CustCity
CustCountry
Cust
Sales Fact Table
Date
Product
Store
Customer
unit_sales
dollar_sales
Yen_sales
Measurements
ProductNo
ProdName
ProdDesc
Category
QOH
Product
Month
Year
Month
Year
Year
City
State
City
Country
Region
CountryState
Country
State
StoreID
City
Store
38
Star Schema vs Snowflake Schema
• Uno schema snowflake fattorizza di più e
quindi rende meno efficienti le operazioni di
ricerca (+ operazioni join)
• In genere si usa solo quando aumenta la
leggibilità dello schema e le prestazioni
globali
39
OLAP: On-Line Analytical Processing
• Una visione multidimensionale, LOGICA, dei dati
• Analisi interattiva dei dati
• Modellazione analitica: derivazione delle proporzioni, delle
varianze, etc
• Aggregazioni per ogni intersezione di ogni dimensione.
• Previsione, trend analysis, e statistical analysis.
• Calcola e visualizza i dati in 2D o 3D crosstabs, charts, e
grafi, with semplici operazioni di pivoting degli assi
40
OLAP: Data Cubes
sum
Milk Bread … ... sum
Jan 96
… ...
sum
Feb 96
Product
Store
Time
OrangePisa
RomaFirenze
All Products
January 96, Pisa.
Ogni dimensione contiene una gerarchia di valori
una cella del cubo contiene valori aggregati
(count, sum, max, etc.)
41
OLAP: esempi
prodotto
magazzino
tempo
Il manager regionale esamina
la vendita dei prodotti
in tutti i periodi relativamente
ai propri mercati
Il manager di prodotto esamina
la vendita di un prodotto
in tutti i periodo e in tutti i mercati
Il manager finanziario esamina la vendita
dei prodotti in tutti i mercati relativamente
al periodo corrente e quello precedente
Il manager strategico si concentra su
una categoria di prodotti,
un’area regionale e un orizzonte
temporale medio
42
Operazioni tipiche
• Roll up: riassumi i dati
– il volume totale di vendite per categoria di
prodotto e per regione
• Roll down, drill down, drill through: passa da un
livello di dettaglio basso ad un livello di dettaglio
alto
– per un particolare prodotto, trova le vendite
dettagliate per ogni venditore e per ogni data
• Slice and dice: select & project
– Vendite delle bevande nel West negli ultimi 6
mesi
• Pivot: riorganizza il cubo
43
Operazioni tipiche: Pivot
Product
Time
Product
Store
Pivot
Pivot
Store
Product
Pivot
Pivot
44
Operazioni tipiche: Roll-up/Drill-down
Product
Time
All
Time
Time
Product
All
All
Drill-Down
Roll-up
Roll-up
Drill-Down
Drill-Down
Roll-up
45
Operazioni tipiche: Roll-up/Drill-Down
Time (quarters)
Product
Slice
Time(semesters)
Product
46
Operazioni tipiche: Slice and Dice
Product
Month
Slice
Product
Month