PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 8
Centralità dei soggetti
A differenza dei sistemi operazionali, la cui progettazione è centrata sulle
applicazioni (per esempio: ordini, fatture, pagamenti), un data warehouse deve
essere organizzato per soggetti di interesse (soggetti tipici sono: prodotto, cliente,
fornitore).
Integrazione
Questa è la più importante delle caratteristiche dei dati contenuti in un data
warehouse.
Il data warehouse raccoglie informazioni provenienti da diverse sorgenti per
renderle disponibili agli utenti interessati all’interno dell’azienda. È possibile
pensare a tutti i dati esistenti come ad un gigantesco puzzle, i cui pezzi sono sparsi
nelle diverse aree dell’organizzazione: solo affiancati correttamente rendono visibile
e analizzabile l’intera immagine.
Figura 2: La principale caratteristica di un data warehouse: integrazione
Nel trasferimento dei dati dall’ambiente operazionale al data warehouse è necessario
attuare un processo di analisi del formato e del contenuto, per individuare ed
eliminare inconsistenze e conflitti.
Permanenza
I dati contenuti in un data warehouse sono sottoposti quasi esclusivamente ad
operazioni di caricamento e di lettura. La loro modifica o eliminazione, a differenza
di quanto accade nei sistemi operazionali, non è generalmente consentita.
Dipendenza dal tempo
L’orizzonte temporale di un data warehouse è notevolmente più ampio di quello
tipico della gestione operativa: i database operazionali contengono, infatti, i valori
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 9
“correnti” dei dati, la cui validità è garantita al momento della lettura; un data
warehouse, invece, consiste in una serie di “fotografie” catturate in diversi istanti di
tempo. L’obiettivo di un data warehouse, infatti, è quello di fornire una visione
storica del business, al fine di rendere più agevoli e consapevoli le decisioni che
incidono sulla gestione e sull’organizzazione dell’azienda.
La complessità intrinseca al processo di progettazione di un data warehouse, già
intuibile, in parte, dall’enunciazione delle sue caratteristiche fondamentali, emerge
chiaramente dall’architettura tipica di un sistema DSS che ne faccia uso.
Figura 3: Architettura di un sistema DSS
I problemi da affrontare sono:
1. Definizione dell’architettura interna del data warehouse e del modello dei dati su cui
realizzare il database.
2. Individuazione delle sorgenti dei dati fra le tante che costituiscono l’ambiente
operazionale.
3. Tecniche di accesso alle sorgenti dei dati fortemente distribuiti (logicamente e
geograficamente) e di trasferimento degli stessi nel data warehouse.
4. Estrazione e cleansing per consentirne l’uso e garantirne la qualità.
5. Trasferimento delle informazioni contenute nel data warehouse verso le applicazioni
che le richiedono, attraverso percorsi sempre più complessi, all’interno
dell’organizzazione.
Data Warehouse
RDBMS
Sistemi
Relazionali
Sistemi
Legacy
Dati
esterni
Estrazione
Cleansing
Analisi
Query
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 10
1.2 Scopo della tesi
Ai problemi cui abbiamo accennato, i progettisti che hanno affrontato l’impegno dello
sviluppo di un data warehouse, hanno dato risposte diverse, sempre molto legate alla
particolarità dell’ambiente in cui essi si trovavano ad operare.
Giova sottolineare, infatti, che l’idea stessa di data warehouse è nata come risposta a
precise esigenze delle aziende: per questo motivo, gran parte delle proposte di
metodologia di sviluppo esistenti hanno preso le mosse dalla necessità di implementare
fisicamente, ed in tempi ragionevoli, un data warehouse che risolvesse i problemi di
volta in volta oggetto di studio, piuttosto che da puntuali considerazioni teoriche.
Lo scopo di questa tesi è riassumibile in quattro punti:
ξ Inquadramento in un contesto generale del problema della progettazione e delle più
significative metodologie finora proposte.
Il confronto delle diverse metodologie di sviluppo richiede infatti l’individuazione
preventiva delle principali fasi in cui si suddivide l’intero processo di progettazione
ed implementazione di un data warehouse, in modo da identificare i principali
problemi ai quali gli autori danno o meno risposta.
ξ Analisi dettagliata delle principali metodologie di progettazione fornite.
L’analisi deve evidenziare le diverse scelte, compiute dagli autori, che assumono
validità generale e suggeriscono soluzioni efficaci ai singoli problemi posti.
ξ Proposta di un metodo generale di progettazione e sviluppo di un data warehouse.
Si tratta dell’obiettivo più ambizioso di questa tesi, perché consiste nell’indicare una
sequenza precisa di passi da percorrere nella progettazione e nell’implementazione
di un data warehouse, facendo tesoro delle metodologie esistenti.
ξ Sperimentazione della metodologia proposta.
Come prima sperimentazione della metodologia proposta si applicano i passi
indicati per realizzare un data warehouse analizzando una semplice situazione reale.
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 11
1.3 Contributi della tesi
Preso atto delle diverse caratteristiche del database da sviluppare rispetto a quelli
normalmente in uso nel contesto operazionale, constatiamo che anche il relativo
processo di progettazione risulta molto diverso da quello ben noto dalla teoria delle basi
di dati.
Nella tesi è stato svolto un lavoro di analisi e di sintesi coerentemente con i singoli
obiettivi elencati nel paragrafo precedente:
ξ Inquadramento in un contesto generale del problema della progettazione e delle più
significative metodologie finora proposte.
Nella tesi sono stati isolati i singoli problemi di progettazione, scomponendo il
processo di sviluppo di un data warehouse in tre fasi fondamentali:
Figura 4: Le fasi fondamentali del processo di progettazione di un data warehouse
1) Analisi degli obiettivi del data warehouse e progettazione del database target.
In questa fase si operano le scelte che determinano l’architettura del data
warehouse ed i modelli dei dati sui quale viene implementato il database-
destinazione.
Apparentemente il lavoro svolto in questa fase non si discosta molto da quello
che caratterizza la tradizionale progettazione di database finalizzati alla gestione
operativa; in realtà considerazioni inerenti al volume dei dati e alla dinamicità
della realtà da rappresentare conducono a sviluppare metodologie di
¾ Analisi degli obiettivi
¾ Progettazione del
database-destinazione
¾ Analisi delle sorgenti
¾ Modellizzazione sorgenti
¾ Scelta delle sorgenti
¾ Mapping sorgente-destinazione
¾ Popolamento data warehouse
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 12
progettazione più sofisticate. L’attenzione è stata rivolta, quindi, non solo alle
singole soluzioni proposte ma anche alle metodologie impiegate nello sviluppo
di un modello generale dei dati di interesse per l’azienda: il cosiddetto
Enterprise Data Model.
2) Analisi/Ingegnerizzazione dei dati e delle applicazioni operazionali esistenti
(individuazione dei dati sorgente).
L’obiettivo di questa fase consiste nell’individuare i dati di interesse, fra quelli
contenuti nelle sorgenti presenti nel contesto operazionale: per far ciò è
necessario comprendere il ruolo giocato dai dati stessi nella gestione operativa.
Spesso ci si imbatte in situazioni molto complesse, perché frammentate e
scarsamente documentate: in tali casi si rende necessario un vero e proprio
processo di reverse engineering sulle applicazioni e sugli archivi di dati
esistenti.
Anche in questa fase l’attenzione è stata rivolta alle metodologie di analisi
proposte e alla qualità della documentazione generata nelle implementazioni
considerate.
3) Mapping dei dati sorgente-destinazione e popolamento del data warehouse
(estrazione e cleansing).
Questa è la fase più delicata del processo di progettazione di un data warehouse:
i problemi da affrontare e da risolvere, in questa fase, sono tanti, e vanno dagli
aspetti concettuali, relativi all’assegnazione dei dati scelti come sorgenti ai
campi del database-destinazione, con l’indicazione delle necessarie
trasformazioni atte a garantirne la compatibilità, alle questioni squisitamente
tecniche che caratterizzano il processo di popolamento del database.
ξ Analisi dettagliata delle principali metodologie di progettazione fornite.
Per ognuna delle tre fasi del processo di sviluppo di un data warehouse sono state
analizzate criticamente le più significative soluzioni e metodologie proposte da
cinque autori, scelti, fra gli altri, perché maggiormente orientati all’individuazione
di una strategia non troppo legata alle particolarità del progetto sviluppato.
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 13
1) Analisi degli obiettivi del data warehouse e progettazione del database target.
Si è osservato che tutte le architetture proposte possono collocarsi all’interno di
una classificazione basata sul numero di livelli su cui sono organizzate:
Figura 5:Architetture possibili di un data warehouse
dall’analisi emerge che gli autori scelti propendono (esplicitamente o
implicitamente) in gran parte, per un’architettura a due livelli; questa è la tipica
posizione di chi fonda la progettazione del data warehouse sul punto di vista
degli utenti, finalizzando il processo di sviluppo al soddisfacimento, nei tempi
più rapidi possibili, delle loro richieste.
Nel contesto delle metodologie di modellizzazione dei dati sono descritte
tecniche che fanno uso di diagrammi E/R, star schemas ed altri diagrammi
derivati dai tradizionali E/R o prettamente informativi.
Una certa importanza è stata anche attribuita agli aspetti legati alle modalità di
descrizione degli oggetti rappresentati, sottolineando lo sforzo di chi ha tentato
di introdurre una terminologia formale, basata su precise regole costruttive, per
indicare tutti gli elementi dei dati di interesse.
2) Analisi/Ingegnerizzazione dei dati e delle applicazioni operazionali esistenti.
Questa fase del processo di progettazione, che sotto molti aspetti è la più
complessa, è stata affrontata in modo approfondito da pochi autori. Anche qui
sono stati descritti i metodi di analisi e di rappresentazione dei dati contenuti
nelle sorgenti, con maggior attenzione rivolta all’individuazione del tipo di
informazioni necessarie per realizzare il successivo mapping dei dati sorgente-
destinazione.
Dati
Operazionali
Op.Sys. Inf.Sys
Op.Sys. Inf.Sys.
Dati derivati
Dati operazionali
Op.Sys. Inf.Sys.
Dati derivati
Dati operazionali
Dati riconciliati
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 14
Sono state anche prese in considerazione alcune situazioni particolari (per
esempio: Reference Database ed Operational Data Stores) riscontrabili in alcuni
contesti operazionali, analizzando le soluzioni proposte dai singoli autori.
3) Mapping dei dati sorgente-destinazione e popolamento del data warehouse.
Prima di confrontare le diverse metodologie, sono stati introdotti alcuni concetti
fondamentali, che caratterizzano i processi che sono oggetto della terza fase
della progettazione, ed evidenziati alcuni aspetti comuni a tutte le metodologie,
suddivisi in tre parti: estrazione dei dati dalla sorgente, trasformazione degli
stessi, inserimento dei dati estratti ed opportunamente trasformati nel data
warehouse.
Figura 6: Principali fasi del processo di popolamento di un data warehouse
Partendo dall’individuazione degli elementi che guidano e determinano le scelte
compiute dai diversi autori, sono state definite le modalità di estrazione possibili
(statiche ed incrementali), le tecniche di inserimento dei dati trasformati (load,
append, merge) ed i tipi di trasformazioni applicabili ai dati-sorgente, viste come
funzioni che operano su records (o campi) in ingresso per restituire gli stessi
records (o campi) modificati, oppure nuovi records (o campi).
Il confronto tra le metodologie proposte ha evidenziato le diverse posizioni degli
autori riguardo la sequenza delle operazioni da svolgere ed i meccanismi di
automazione delle stesse.
ξ Proposta di un metodo generale di progettazione e sviluppo di un data warehouse.
A partire dallo studio condotto si è elaborato un metodo di sviluppo di un data
warehouse, fondato sulla scelta dell’architettura a tre livelli (si veda la Figura 5) e
finalizzato all’implementazione del livello dei dati riconciliati, composto di dieci
passi fondamentali:
ESTRAZIONE TRASFORM. INSERIMENTO
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 15
Passo 1: Realizzazione dell’Enterprise Data Model.
Questa fase conduce alla realizzazione del modello concettuale dei dati su cui si
fonda il database-destinazione.
Sono descritte le operazioni da compiere per progettare il diagramma E/R, a
partire dall’individuazione dei soggetti (super-entità) di interesse per
l’organizzazione.
Passo 2: Realizzazione dei Source Data Models.
Anche per le sorgenti è necessario produrre gli schemi concettuali che le
rappresentano, eventualmente attuando processi di re-ingegnerizzazione.
Passo 3: Integrazione dei Source Data Models e dell’Enterprise Data Model
nel Conceptual Data Warehouse Model.
Questo è il passaggio qualificante della metodologia proposta: a differenza di
quanto riscontrato nell’analisi delle altre metodologie, in cui il mapping si
realizza esclusivamente a livello fisico, qui si propone l’integrazione delle
sorgenti nello stesso modello concettuale del data warehouse. Questa
operazione, che richiede particolare attenzione, consente di rendere disponibile
una mappa dei collegamenti tra i diversi dati, fondamentale sia per gli
sviluppatori, nelle fasi successive dell’implementazione, sia per gli utenti, che
hanno la possibilità di ricostruire la logica che sottintende le trasformazioni ed il
trasferimento dei dati a livello fisico.
Non ultimo, va sottolineato il vantaggio che si ottiene, mediante questa
rappresentazione concettuale, qualora si debbano apportare correzioni ai modelli
a causa di cambiamenti occorsi nel business (nel contesto operazionale e/o nel
tipo di informazioni richieste).
Passo 4: Definizione degli schemi logici.
In questa fase si realizza lo schema logico del data warehouse e si definiscono
gli schemi logici delle sorgenti da integrare.
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 16
Passo 5: Livello fisico.
Come si fa nella progettazione tradizionale, si definiscono le strutture fisiche dei
dati per consentire l’implementazione fisica del data warehouse e si identificano
le strutture esistenti nelle sorgenti.
Passo 6: Mapping.
A partire dai modelli concettuali e logici sviluppati, nonché dalla descrizione
delle strutture fisiche, si definiscono i dettagli del trasferimento dei dati
dall’ambiente operazionale a quello informativo: vista la complessità
dell’operazione e la forte dipendenza, delle soluzioni elaborate, dalla
particolarità del contesto, ci si è soffermati su alcuni scenari tipici accennando
alle strategie di cleansing consigliate.
Passo 7: Definizione della modalità di popolamento.
Si tratta di stabilire la politica di popolamento del data warehouse, scegliendo tra
il refresh e l’update.
Passo 8: Popolamento del data warehouse.
Qui si procede al popolamento delle strutture fisiche del database-destinazione
mediante l’esecuzione di quattro operazioni: estrazione dei dati dalle sorgenti
secondo le direttive indicate nel mapping; trasferimento dei dati estratti
dall’ambiente operazionale a quello del data warehouse; trasformazione dei dati
estratti sulla base del mapping definito; inserimento dei dati estratti e trasformati
nel data warehouse.
Con riferimento all’ultima operazione elencata, sono state indicate le strategie di
inserimento distinguendo i casi di primo popolamento del data warehouse e di
successivo aggiornamento dello stesso, corredando l’esposizione con esempi che
mostrano l’impiego dei timestamps per preservare la natura storica dei dati.
Passo 9: Documentazione.
Non vanno trascurati gli aspetti progettuali relativi alla produzione e
conservazione della documentazione relativa al significato dei dati contenuti nel
data warehouse, alle modalità e all’esito delle operazioni eseguite su di essi. Tali
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 17
informazioni, infatti, rivestono un ruolo fondamentale nel mantenimento e
nell’uso del data warehouse: devono essere rese disponibili agli sviluppatori per
facilitare l’implementazione di successive modifiche nel progetto, nelle sorgenti,
o nelle modalità di popolamento del data warehouse; devono poter essere
utilizzate dagli utenti per comprendere il significato stesso dei dati, la loro
provenienza e per riconoscerne la qualità.
Passo 10: Pianificazione nel tempo del processo di popolamento.
L’ultimo passo della metodologia elaborata consiste nel decidere e pianificare la
frequenza e le modalità con cui devono essere avviate le varie fasi del
popolamento dopo aver inizializzato il data warehouse.
Una caratteristica fondamentale della metodologia descritta consiste nella sua
iteratività: la sequenza di passi illustrata va applicata, infatti, prima ad un
sottoinsieme ristretto di soggetti scelti fra quelli che sono di maggior interesse per
l’azienda, in modo da consentire comunque una implementazione della porzione del
data warehouse interessata in tempi ragionevoli, con conseguente attivazione
dell’importantissimo feedback da parte degli utenti. Successivamente si procede
all’integrazione degli altri soggetti e delle sorgenti via via individuate, ripercorrendo
in sequenza l’intera metodologia.
Per completare il lavoro di elaborazione si sono indicate diverse strategie di
mantenimento del data warehouse, da applicare in due situazioni tipiche
dell’andamento “evolutivo” del business: la richiesta di soddisfare nuove esigenze
informative da parte degli utenti o la necessità di integrare nuove sorgenti di dati
divenute attive nel contesto operazionale.
ξ Sperimentazione della metodologia proposta.
Per rendere più chiari i concetti suesposti e verificare l’applicabilità della
metodologia elaborata, si è sperimentato l’intero processo di sviluppo a partire da un
semplice caso reale: si chiedeva di realizzare un data warehouse per soddisfare le
richieste di informazioni relative ai percorsi didattici degli studenti del Diploma di
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 18
Ingegneria Informatica dell’Università di Roma “La Sapienza”. Per quanto riguarda
gli aspetti progettuali si disponeva di una sola sorgente, comunque significativa per
le caratteristiche riscontrate ed i problemi cui si è data risposta, e di un ambiente
hardware e software, per la simulazione, basato su sistemi operativi diversi e tools di
estrazione/trasferimento dei dati (di cui si è fornita una descrizione sommaria)
prodotti dalla Software AG.
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 19
1.4 Piano della tesi
La tesi si compone di sei capitoli di cui il primo ne costituisce l’introduzione e l’ultimo
comprende alcune considerazioni finali relative al lavoro svolto.
I restanti capitoli, che costituiscono il corpo della tesi, sono organizzati come segue:
Capitolo 2. Il problema della progettazione di un data warehouse
In questo capitolo viene fornita un’introduzione generale sulle problematiche legate
alla progettazione ed all’implementazione di un data warehouse; inoltre si
rappresenta, in un sintetico excursus storico, l’evoluzione dei sistemi di supporto
alle decisioni manageriali e si introducono alcuni concetti e definizioni
fondamentali.
Capitolo 3. Stato dell’arte
In tale contesto si analizzano criticamente e si confrontano le diverse proposte di
rappresentazione dei dati nel contesto informativo e le metodologie di progettazione
di data warehouse, scelte, fra quelle esistenti in letteratura, per la loro completezza e
qualità.
Capitolo 4. Una proposta di metodologia
In questo capitolo si descrive una metodologia di progettazione di un data
warehouse, elaborata sulla base dell’analisi svolta e di considerazioni personali.
Tale metodologia si articola in dieci passi di cui viene fornita la descrizione e le
possibili scelte implementative.
Inoltre si indicano e si giustificano le diverse strategie di mantenimento del data
warehouse da applicarsi nei casi di modifiche del progetto e/o della sua
implementazione, determinate dai possibili cambiamenti nella gestione del business.
PROGETTO DI DATA WAREHOUSE: METODOLOGIA E APPLICAZIONE PAG. 20
Capitolo 5. Una applicazione della metodologia
A scopo sperimentale, è stata applicata la metodologia elaborata e descritta nel
capitolo 4 ad una situazione reale. In questo capitolo vengono illustrate le modalità
con cui si è proceduto alla progettazione di un piccolo data warehouse in risposta a
richieste informative relative alla didattica dell’Università.