10/7/2015
Datawarehouse
1. Introduzione
1.1 Caratteristiche del Data Warehouse
Per le slides si ringrazia il
Prof. Stefano Rizzi
(http://www-db.deis.unibo.it/~srizzi/)
e il Dott. Angelo Sironi
1
10/7/2015
Uno scenario tipico...
• .. è quello di una grande azienda, con numerose filiali, i cui dirigenti
desiderano quantificare e valutare il contributo dato da ciascuna di
esse al rendimento commerciale globale dell’impresa.
3
Uno scenario tipico...
• .. è quello di una grande azienda, con numerose filiali, i cui dirigenti
desiderano quantificare e valutare il contributo dato da ciascuna di
esse al rendimento commerciale globale dell’impresa.
un raccoglitore di informazioni che
integra e riorganizza i dati provenienti
da sorgenti di varia natura e li rende
disponibili per analisi e valutazioni
finalizzate alla pianificazione e al
processo decisionale
DATA
WAREHOUSE
4
2
10/7/2015
Data Warehousing:
• Una collezione di metodi, tecnologie e strumenti
di ausilio al knowledge worker (dirigente,
amministratore, gestore, analista) per condurre
analisi dei dati finalizzate all’attuazione di
processi decisionali e al miglioramento del
patrimonio informativo.
5
Le lamentele
abbiamo montagne di dati ma non possiamo accedervi!
come è possibile che persone che svolgono lo stesso
ruolo presentino risultati sostanzialmente diversi?
vogliamo selezionare, raggruppare e manipolare i dati in ogni
modo possibile!
mostratemi solo ciò che è importante!
tutti sanno che alcuni dati non sono corretti!
R. Kimball, The Data Warehouse Toolkit
6
3
10/7/2015
Il Data Warehouse
• Al centro del processo, il data warehouse è un
contenitore di dati che si fa garante dei requisiti
esposti.
 Un Data Warehouse è una collezione di dati a
supporto del processo decisionale, che presenta
le seguenti caratteristiche:
–
–
–
–
è orientata ai temi di interesse;
è integrata e coerente;
è rappresentativa dell’evoluzione temporale;
è non volatile.
7
...orientato ai temi di interesse del
assistiti
business
calcolo
ticket
prenotazioni
medici
di base
regioni
refertazione
gestione
ricoveri
L’accento è sulle applicazioni e sui
processi
L’accento è sugli oggetti /
i temi di interesse per il
business
8
4
10/7/2015
...orientato ai temi di interesse del
business
Sistema di Produzione
Data Warehouse
Auto
Clienti
Vita
Polizze
Sanità
Premi
Viaggi
Denunce
9
Cfr. Bibl. [1]
...integrato e
coerente
Il DW si appoggia a più fonti di dati eterogenee: dati estratti dall’ambiente
di produzione, e quindi originariamente archiviati in basi di dati aziendali, o
addirittura provenienti da sistemi informativi esterni all’azienda. Di tutti
questi dati il DW restituisce una visione unificata.
Dati
operazionali
ed esterni
Pulitura
Estrazione
Validazione
Trasformazione
Filtraggio
Data Warehouse
Caricamento
10
5
10/7/2015
...rappresentativo dell’evoluzione
temporale
DB operazionali
DW
Contenuto storico limitato,
spesso il tempo non è parte
delle chiavi,
i dati sono soggetti
ad aggiornamenti
Ricco contenuto storico,
il tempo è parte delle chiavi,
una fotografia del dato
a un certo istante di tempo
non può essere aggiornata
11
...non volatile
DB operazionale
update
load
insert
delete
DW
access
Grandi volumi di dati:
da 20 GB a decine di TB
in pochi anni
In un DW non sono necessarie tecniche sofisticate di
gestione delle transazioni come invece richiesto da
un sistema operazionale… almeno finché non si
voglia costruire un Real Time DW … E, tuttavia, il
DW presenta altre complessità…
12
6
10/7/2015
Riassumendo:
13
Architetture: requisiti
– Separazione: l’elaborazione analitica e quella transazionale
devono essere mantenute il più possibile separate.
– Scalabilità: l’architettura hardware e software deve poter essere
facilmente ridimensionata a fronte della crescita nel tempo dei
volumi di dati da gestire ed elaborare e del numero di utenti da
soddisfare.
– Estendibilità: deve essere possibile accogliere nuove
applicazioni e tecnologie senza riprogettare integralmente il
sistema.
– Sicurezza: il controllo sugli accessi è essenziale a causa della
natura strategica dei dati memorizzati.
– Amministrabilità: la complessità dell’attività di amministrazione
non deve risultare eccessiva.
14
7
10/7/2015
Architetture a 1 livello
Livello delle
sorgenti
Dati operazionali
Middleware
Livello del
warehouse
Livello
di analisi
Strumenti
di reportistica
Strumenti
OLAP
15
Architetture a 1 livello
• Architettura poco utilizzata.
• Il Data warehouse virtuale è implementato
come una vista multidimensionale dei dati
generata da un apposito middleware
• Non rispetta la distinzione tra elaborazione
analitica OLAP ed elaborazione transazionale
OLTP.
• Limitato livello di storicizzazione dei dati.
16
8
10/7/2015
Architetture a 2 livelli
Livello delle
sorgenti
Dati operazionali
Dati esterni
Strumenti ETL
Livello di
alimentazione
Data Warehouse
Meta-dati
Livello del
warehouse
Data mart
DATA MART:
un sottoinsieme o
un’aggregazione dei dati
presenti nel DW primario,
contenente l’insieme
delle informazioni
rilevanti per una
particolare area del
business, una particolare
divisione dell’azienda,
una particolare categoria
di soggetti.
Livello
di analisi
Strumenti
di reportistica
Strumenti per
Strumenti Strumenti l’analisi what-if
di data mining
OLAP
17
Architetture a 2 livelli
• I data mart alimentati dal DW primario sono detti
dipendenti. Per i sistemi collocati all’interno di realtà
aziendali medio-grandi essi sono utili:
– come blocchi costruttivi durante la realizzazione incrementale
del DW;
– in quanto delineano i contorni delle informazioni necessarie a un
particolare tipo di utenti per le loro interrogazioni;
– poiché, essendo di dimensioni inferiori al DW primario,
permettono di raggiungere prestazioni migliori
• In alcuni contesti si preferisce adottare data mart
alimentati direttamente dalle sorgenti, detti indipendenti
– L’assenza di un DW primario snellisce le fasi progettuali, ma
determina uno schema complesso di accessi ai dati e ingenera il
rischio di incongruenze tra i data mart
18
9
10/7/2015
Architetture a 2 livelli
• Vantaggi:
– A livello del warehouse è continuamente disponibile
informazione di buona qualità anche quando, per motivi tecnici
oppure organizzativi, è temporaneamente precluso l’accesso alle
sorgenti
– L’interrogazione analitica effettuata sul DW non interferisce con
la gestione delle transazioni a livello operazionale, la cui
affidabilità è essenziale per il funzionamento dell’azienda
– L’organizzazione logica del DW è basata sul modello
multidimensionale, mentre le sorgenti offrono in genere modelli
relazionali o semi-strutturati
– A livello del warehouse è possibile impiegare tecniche specifiche
per ottimizzare le prestazioni per applicazioni di analisi e
reportistica
19
Architetture a 3 livelli
Livello delle
sorgenti
Dati operazionali
Dati esterni
Strumenti ETL
Dati riconciliati
Caricamento
Meta-dati
Livello di
alimentazione
Data Warehouse
Livello del
warehouse
Data mart
DATI RICONCILIATI:
dati operazionali
ottenuti a valle del
processo di
integrazione e ripulitura
dei dati sorgente: quindi
dati integrati, coerenti,
corretti, correnti e
dettagliati
Livello
di analisi
Strumenti
di reportistica
Strumenti per
l’analisi what-if
Strumenti Strumenti
di data mining
OLAP
20
10
10/7/2015
Architetture a 3 livelli
• Il vantaggio principale del livello dei dati
riconciliati è che esso crea un modello di dati
comune e di riferimento per l’intera azienda,
introducendo al contempo una separazione
netta tra le problematiche legate all’estrazione e
integrazione dei dati dalle sorgenti e quelle
inerenti l’alimentazione del DW
21
Data mart indipendenti
• Ogni organizzazione sviluppa in modo indipendente
• Problemi:
• Incoerenza nelle definizioni dei dati
• Misure e dimensioni con conformi
• No “single version of the truth”
Dati sorgente
Dati sorgente
Dati sorgente
Strumenti ETL
Meta-dati
Data mart
Strumenti
di reportistica
Strumenti
OLAP
Meta-dati
Data mart
Strumenti per
l’analisi what-if
Strumenti
di data mining
22
11
10/7/2015
Data mart bus
• Data Mart tra loro logicamente integrati da dimensioni
comuni
• “Enterprise view”
• Approccio consigliato da Kimball
Dati sorgente
Dati sorgente
Dati sorgente
Strumenti ETL
Meta-dati
dimensioni
conformi
Meta-dati
Data mart
Data mart
Strumenti
di reportistica
Strumenti
OLAP
Strumenti per
l’analisi what-if
Strumenti
di data mining
23
Hub-and-spoke
• Letteralmente “mozzo e raggi”
• Una delle architetture più usate in
contesti medio-grandi.
Dati operazionali
Dati esterni
Strumenti ETL
Data Warehouse
Caricamento
Meta-dati
Data mart
Strumenti
di reportistica
Strumenti per
l’analisi what-if
Strumenti Strumenti
di data mining
OLAP
24
12
10/7/2015
Data warehouse centralizzato
• Approccio consigliato da Inmon
• Implementazione logica, piuttosto
che fisica, dell’architettura huband-spoke
Dati operazionali
Dati esterni
Strumenti ETL
Dati riconciliati
Meta-dati
Caricamento
Data Warehouse
Strumenti
di reportistica
Strumenti per
l’analisi what-if
Strumenti Strumenti
di
data
mining
OLAP
25
Federazione
• Ideale per
contesti molto
dinamici
(fusioniacquisizioni)
• Problema
dell’integrazione
efficace ed
efficiente
Dati sorgente
Dati sorgente
Data mart
Dati sorgente
Data mart
Data mart
Integrazione logico-fisica
Strumenti
di reportistica
Strumenti per
l’analisi what-if
Strumenti Strumenti
di data mining
OLAP
26
13
10/7/2015
Fattori di scelta dell’architettura
• Interdipendenza informativa tra le unità organizzative aziendali
• Bisogni informativi della dirigenza
• Urgenza del progetto di data warehousing
– incoraggia l’adozione di architetture “veloci”
• Natura dei task decisionali
• Vincoli sulle risorse economiche e umane
• Ruolo del progetto di warehousing all’interno della strategia
aziendale
– data mart indipendenti vs. hub-and-spoke
• Compatibilità con piattaforme esistenti
• Capacità dello staff IT
• Posizione organizzativa dello sponsor di progetto
– architetture aziendali vs. architetture dipartimentali
27
Architetture DW: Survey
Cfr. Bibl. [4]
28
14
10/7/2015
ETL
• Il ruolo degli strumenti di Extraction, Transformation and
Loading è quello di alimentare una sorgente dati singola,
dettagliata, esauriente e di alta qualità che possa a sua
volta alimentare il DW (riconciliazione)
• Durante il processo di alimentazione del DW, la
riconciliazione avviene in due occasioni: quando il DW
viene popolato per la prima volta, e periodicamente
quando il DW viene aggiornato.
–
–
–
–
estrazione
pulitura
trasformazione
caricamento
29
Estrazione
• I dati rilevanti vengono estratti dalle
sorgenti.
– L’estrazione statica viene effettuata
quando il DW deve essere popolato per
la prima volta e consiste
concettualmente in una fotografia dei
dati operazionali.
– L’estrazione incrementale viene usata
per l’aggiornamento periodico del DW, e
cattura solamente i cambiamenti
avvenuti nelle sorgenti dall’ultima
estrazione
• La scelta dei dati da estrarre avviene
principalmente in base alla loro qualità e
rilevanza.
Dati operazionali
ed esterni
Estrazione
Pulitura
Trasformazione
Caricamento
Data Warehouse
30
15
10/7/2015
Pulitura
• Si incarica di migliorare la qualità
dei dati delle sorgenti
– dati duplicati
– incongruenze tra valori logicamente
associati
– dati mancanti
– uso non previsto di un campo
– valori impossibili o errati
– valori incongruenti per la stessa
entità dovuti a differenti convenzioni
– valori incongruenti per la stessa
entità dovuti a errori di battitura
Dati operazionali
ed esterni
Estrazione
Pulitura
Trasformazione
Caricamento
Data Warehouse
31
Trasformazione
•
Converte i dati dal formato operazionale
sorgente a quello del DW. La corrispondenza
con il livello sorgente è complicata dalla
presenza di fonti distinte eterogenee, che
richiede una complessa fase di integrazione
Dati operazionali
ed esterni
Estrazione
Pulitura
– presenza di testi liberi che nascondono
informazioni importanti
– utilizzo di formati differenti per lo stesso dato
•
Per l’alimentazione dei dati riconciliati:
– conversione e normalizzazione (operano a
livello di formato di memorizzazione e di unità
di misura per uniformare i dati)
– matching (stabilisce corrispondenze tra campi
equivalenti in sorgenti diverse)
– selezione (riduce il numero di campi e di
record rispetto alle sorgenti)
Trasformazione
Caricamento
Data Warehouse
32
16
10/7/2015
Pulitura e trasformazione
Carlo Bianchi
P.zza Duomo 1
43121 Milano (I)
nome:
cognome:
indirizzo:
CAP:
città:
nazione:
Normalizzazione
nome:
cognome:
indirizzo:
CAP:
città:
nazione:
Correzione
Carlo
Bianchi
P.zza Duomo 1
43121
Milano
I
Carlo
Standardizzazione
Bianchi
Piazza Duomo 1
43121
Milano
Italia
nome:
Carlo
nome:
Carlo
cognome: Bianchi
cognome: Bianchi
indirizzo: Piazza Duomo 1
indirizzo: Piazza Duomo 1
CAP:
43121
CAP:
20121
città:
Parma
città:
Milano
nazione: Italia
nazione: Italia
33
Caricamento
• Il caricamento dei dati nel DW
Dati operazionali
ed esterni
Estrazione
– Refresh: i dati del DW vengono riscritti
integralmente, sostituendo quelli
precedenti
Pulitura
• tecnica normalmente utilizzata solo per
popolare inizialmente il DW
– Update: i soli cambiamenti occorsi nei
dati sorgente vengono aggiunti nel DW
Trasformazione
• tecnica normalmente utilizzata per
l’aggiornamento periodico del DW
Caricamento
Data Warehouse
34
17
10/7/2015
ETL o ELT?
• Extraction Load Transformation
– Suggerito soprattutto da ORACLE
• Prima caricare i dati sul dw e poi attraverso tool del
dbms svolgere le attività di pulizia e trasformazione
• Vantaggi
– Tutte le operazioni nello stesso DBMS
– Più veloce il caricamento
• Svantaggi
– Meno flessibile
– Lega il processo al DBMS
Strumenti
• Sviluppare in proprio
• Commerciali
– IBM
– Oracle
– Informatica
• Open source
– Talend open studio
– Penthao Kettle
– UnifiedViews
18
10/7/2015
Talend
Kettle
19
10/7/2015
UnifiedViews
Bibliografia
[1] William H. Inmon, Building the Data Warehouse, Fourth Edition,
Wiley Publishing Inc., 2005
[2] R. Kimball & M. Ross, The Data Warehosue Tollkit, Second Edition,
Wiley Publishing Inc., 2002
[3] C. Imhoff, N. Galemmo, J. G. Geiger, Mastering Data Warehouse
Design, Wiley Publishing Inc., 2003
[4] H.J. Watson & T. Ariyachandra, Data Warehouse Architectures:
Factors in the Selection Decision and the Success of the
Architectures, 2005
(http://www.terry.uga.edu/~hwatson/DW_Architecture_Report.pdf )
40
20