ETL (EXTRACTION TRASFORMATION LOADING)
Cosa va a finire nel DW? Come alimen<amo la Base Da<? Partendo da varie fon< possiamo dedurre informazioni
eterogenee e queste informazioni vengono trasformate e ristru*urate u<lizzando le trasformazioni ETL per essere poi
immagazzinate nel data warehouse aziendale. L’ETL è l’insieme di metodi per alimentare un DW.
ESTRAZIONE: Quello che facciamo è estrarre i da< rilevan< dalle sorgen<. Può essere di due <pi:
Sta<ca: Quando il DW viene popolato per la prima volta e consiste nell’andare a prendere tuI i da< operazionali che
erano presen< nella sorgente
Dinamica: Quando il DW viene aggiornato (in maniera periodica) e andiamo a prendere solamente i cambiamen<
avvenu< nelle sorgen< dall’ul<ma estrazione. Può, per esempio, essere basato sul <me-stamp (ogni dato ha una data
in cui è modificato) oppure viene guidato dalle sorgen<.
PULITURA: Quello che devo fare è migliorare la qualità dei da< provenien< dalle sorgen<, questo perché possono
presentarsi delle duplicazioni, una inconsistenza dei da<, oppure mancano dei da<, vi è l’u<lizzo di un campo che non
era previsto, noto che ci sono valori impossibili o erra<, noto che ci sono valori sbaglia< magari per errori di baItura…
TRASFORMAZIONE: Fase in cui converto i da< dal formato operazionale della sorgente a quello del DW. Fase
abbastanza complicata perché le fon< sono eterogenee e bisogna fare una fase di integrazione. Per esempio: per lo
stesso dato possono essere sta< usa< forma< differen<, oppure da< di testo che nascondono l’informazione.
Per l’alimentazione dei da< riconcilia< posso procedere con:
-conversione e normalizzazione: trasformo tuI i da< nello stesso formato
-matching: stabilisco corrispondenze tra campi equivalen< in sorgen< differen<
-selezione: vado a ridurre il numero di campi rispe*o alle sorgen<
Per l’alimentazione del DW invece:
-faccio una fase di de-normalizzazione al posto della normalizzazione
-faccio un processo di aggregazione per produrre da< in maniera sinte<ca.
CARICAMENTO: il dato poi deve essere caricato nel DW, faIbile a*raverso due approcci:
Refresh: da< del DW vengono riscriI completamente, andando a sos<tuire quelli vecchi (di solito viene
U<lizzato per la “popolazione” iniziale del DW
Update: solo i cambiamen< che si sono verifica< nei da< sorgente vengono aggiun< al DW u<lizzato per aggiornare
periodicamente il DW
INTERROGAZIONI AL DATA WAREHOUSE
Una volta che ho pulito i da<, integra<, trasforma< devo capire come posso estrapolarli e come no<amo dalla figura,
per interagire con una DW bisogna u<lizzare un Motore OLAP dato che essendo la DW un sistema basato sul
paradigma OLAP, non possiamo non usarlo per relazionarci con la base di da<. Queste è una delle differenze con una
classica base di da< supportata da un DBMS che è invece basato sul paradigma OTLP.
Bisogna infaI dis<nguere due <pi di INTERROGAZIONI:
OLAP: (on-line analy<cal processing): tu*e quelle operazioni che da un grosso insieme di da< mi vanno ad
estrarre l’informazione in maniera sinte<zzata. Analisi dinamica e mul<dimensionale di un gran
Numero di “record” in modo tale da misurare le prestazioni aziendali in termini numerici.
L’interaIvità è una cara*eris<ca fondamentale in modo che il carico di lavoro vari nel tempo.
OLTP: (on-line transac<onal processing): indico tu*e quelle operazioni che sono legate ad una transazione.
(acquisto di un biglie*o, emissione di uno scontrino). Eseguono transazioni che leggono e scrivono
Un numero rido*o di “record” provenien< da diverse tabelle legate da relazioni. Il nucleo del
Carico del lavoro è interno ai programmi applica<vi.
Essendo diverse, non conviene me*erle sullo stesso <po di tecnologia ed inoltre il paradigma OLAP ha come misura di
efficienza e di efficacia il tempo di risposta essenziale per prendere rapide decisioni dato che poi i sistemi OLAP sono
u<lizza< per l’elaborazione di da< orientata al supporto decisionale, quindi sono adegua< a funzionalità collocate a
livello di pianificazione e strategico della piramide di Anthony.
OPERAZIONI SUL DATA WAREHOUSE
Una volta che ho pulito i da<, integra<, trasforma< devo capire come posso analizzarli al meglio per trarne il massimo
vantaggio informa<vo. Abbiamo 3 approcci differen< che comprendono altre*ante tecniche di analisi dei da< del DW
volte ad interagire con l’ipercubo dei faI per o*enere informazioni più o meno de*agliate sulla base delle esigenze:
REPORTISTICA: Vado a riportare i faI, non è richiesta nessuna conoscenza informa<ca. Tipicamente fa*a
per uten< che hanno necessità di accedere in intervalli di tempo defini< a informazioni stru*urate. Questo
produce grafici di trend in cui è possibile valutarne la cara*eris<ca (crescente, decrescente, costante…).
Oppure mediante l’u<lizzo di torte o istogrammi.
OPERATORI OLAP : Tipicamente è quella più comune. Viene svolta sudde*a interrogazione ogni volta che ho delle
analisi da fare che non sono iden<ficabili a priori. Analizzo i da< in base al modello mul<dimensionale che posseggo
che in questo caso è un sistema OLAP ed Ogni interazione consiste nell’applicazione di un operatore OLAP tra i quali:
!ROLL-UP: ho il mio cubo e lo aggrego secondo diversi livelli della gerarchia (dal punto di vista tabellare vado a
sommare lungo più righe o lungo più colonne)
!DRILL-DOWN: operatore inverso del roll-up, ho un parallelepipedo e lo scompongo in so*o-parallelepipedi andando
a diminuire il livello di aggregazione dei da<. Dal punto di vista tabellare vado a “disaggregarla” in base al criterio per
cui magari prima avevo aggregato.
!SLICE AND DICE: Operatore di “affe*amento” o “creazione di piccoli cubi” da un grande cubo. Lo si fa a*raverso
selezioni semplici o complesse. Non faccio delle aggregazioni definite su una dimensione ma su più dimensioni
contemporaneamente.
!PIVOTING: operazione par<colarmente complessa che cambia la stru*ura del cubo ossia voglio o*enere una
diversa dei da< del cubo (cubo organizzato in colonne ver<cali, magari lo cambio analizzandolo per righe orizzontali).
!DRILL ACROSS: È un operatore che combina i da< da gruppi diversi in modo tale che così possiamo o*enere un
nuovo cubo.
DATA MINING: è un <po di aIvità che ha lo scopo di scoprire informazioni nascoste nei da<. Questo perché quando
ho un quan<ta<vo di da< par<colarmente elevato, un utente non è in grado di rilevare tuI i pa*ern(modelli) che sono
presen< (come, per esempio, dei da< espressi mediante trend che l’occhio umano non riesce a visualizzare). L’u<lizzo
algoritmi di intelligenza ar<ficiale possono aiutare la ricerca dell’utente ed il data mining è proprio quella l’aIvità volta
a riconoscere ed estrarre in modo automa<co informazioni nascoste da basi di da< di grandi dimensioni, come ad
esempio il data warehouse. Il processo di data mining è composto da diversi passi che possono essere itera< varie
volte al fine di raffinare l’informazione o*enuta.
Considerando le funzionalità fornite possiamo individuare diverse tecniche di data mining:
!REGOLE ASSOCIATIVE: che sono regole di implicazione logica che sono presen< nella base di da< e che ci
consentono di individuare delle cara*eris<che in comune tra oggeI (studio di abitudini di acquisto in modo tale da
fare pubblicità mirata o studio della variabilità delle vendite quando viene a mancare un prodo*o). Possibili
applicazioni di tali regole in promozionali efficaci (suggerimento di prodoI in base ad acquis< preceden<
dei clien<) e l’aIvazione di azioni preven<ve di manutenzione degli impian<. Un esempio del primo caso è osservabile
sul sito di acquis< on line Amazon.
!CLASSIFICAZIONE: Come esempio di modello di classificazione consideriamo gli Alberi di Decisione,
in cui i nodi sono gli a*ribu< del sogge*o da classificare, gli archi i valori assumibili dall’a*ributo, le foglie sono le classi
a cui gli elemen< possono essere assegna<. Gli alberi decisionali u<lizza< per comprendere un determinato fenomeno,
grazie ad essi infaI riusciamo a classificare per importanza le cause che vanno a determinare quel fenomeno o quel
determinato evento.
!CLUSTERING: Il clustering, come la classificazione, perme*e di raggruppare un insieme di elemen< in base alle loro
cara*eris<che, assegnando loro una classe di appartenenza. Il risultato del clustering quindi è un insieme
di cluster (raggruppamen<) compos< da elemen< tali che siano verificate le seguen< condizioni:
-la somiglianza tra gli elemen< appartenen< allo stesso cluster è massima;
-la somiglianza tra elemen< di cluster diversi è minima;
Questa tecnica è par<colarmente u<le perché ci consente di segmentare i clien< in categorie. (per esempio: in ambito
medico in base ad una determinata sintomatologia).
Vi sono poi delle tecniche che vanno a costruire delle Serie Temporali. In questo caso andiamo a riconoscere dei
modelli (pa*ern) che sono ricorren< o a<pici (viene par<colarmente usato per rappresentare schemi associa< alla
crescita dei <toli in borsa, per l’individuazione di difeI o anomalie in un sistema di monitoraggio).
PROGETTAZIONE DI UN DATA WAREHOUSE
Quello che spesso accade è che molte organizzazioni non sono in grado di affrontare progeI di DW per mancanza di
esperienza e capacità. Questo perché a tali organizzazioni manca un approccio metodologico:
Principalmente abbiamo due differen< metodologie di progeGo di un DW:
Approccio Top-Down: Questo <po di approccio analizza tuI i bisogni aziendali e pianifica lo sviluppo del DW in modo
tale da proge*arlo e realizzarlo nel migliore dei modi e in maniera del tu*o completa.
Si basa su una visione globale dell’obieIvo con lo scopo di produrre un DW consistente e integrato. Purtroppo, questo
<po di metodo porta a numerosi difeI che possono essere, per esempio, lunghi tempi di realizzazione con
conseguen< cos< eleva< e conseguente impa*o nega<vo nei confron< dei clien< che non riescono a verificare se
effeIvamente il proge*o è u<le o meno, una elevata complessità nell’analizzare tu*e le sorgen< di interesse, una
improbabile possibilità di individuare nel de*aglio tu*e le necessità di tu*e le aree dell’azienda.
Approccio BoGom-Up: Questo <po di approccio viene realizzato in maniera incrementale, assemblo in maniera
itera<va più data mart ciascuno dei quali risulta essere specializzato per un determinato se*ore aziendale e di
interesse per una categoria di uten<. Grazie a tale approccio si o*engono risulta< concre< in poco tempo in questo
modo riesco ad o*enere un riscontro dell’effeIva u<lità del sistema mentre lo s<amo realizzando, non richiede
inves<men< par<colarmente ingen<. L’unico dife*o di questo approccio è che ci limita ad una visione parziale del
nostro interesse.
Il primo data mart da realizzare è quello sicuramente più strategico per l’impresa e che ha un ruolo di riferimento per il
DW (data mart che ha già fon< da< già disponibili in modo tale da non sprecare tempo nel ricercarle). La proge*azione
del data mart si ar<cola in: analisi delle sorgen<, analisi dei requisi<, proge*azione conce*uale, raffinamento del
carico di lavoro, proge*azione logica, proge*azione Dell’alimentazione, proge*azione fisica. I ruoli principali sono
l’utente finale, l’amministratore, il progeIsta e l’analista
FATTI
Sono i cubi dell’ipercubo che rappresenta il sitema mul<dimensionale del DW.
Sono i conceI su cui gli uten< finali basano il processo decisionale, un fa*o descrive una categoria di even< che si
verificano in azienda. Dobbiamo determinare la granularità, ovvero il livello di de*aglio più fine in cui i da< verranno
rappresenta<. La scelta della granularità è un compromesso tra: raggiungere elevata flessibilità di u<lizzo oppure
conseguire delle buone prestazioni. Per ogni fa*o poi dobbiamo determinare l’intervallo storico ossia l’arco temporale
che gli even< che vengono memorizza< vanno a coprire. Una volta scelto il fa*o devo andare a considerare vincoli di
proge*azione logica e fisica (quali per esempio lo spazio disponibile), devo poi proge*are l’alimentazione (quan<
livelli, quali data mart se dipenden< o indipenden<) poi devo fare una analisi dei da< (diverse <pologie di
interrogazione) e infine faccio dei piani di avviamento e di formazione.
MODELLO LOGICO DI UN DATA WAREHOUSE
Una volta definito il modello conce*uale (D
-
Appunti Economia dei sistemi industriali
-
Appunti del corso Economia dei Sistemi Industriali parte di Nastasi
-
Appunti del corso Economia dei Sistemi Industriali, parte di Reverberi
-
Appunti Economia dei Sistemi Industriali