2
decisionali più raffinati, sono dotate di infrastrutture informatiche dislocate
geograficamente e basate su differenti piattaforme. I dati in esse residenti
sono a loro volta raccolti in svariate tipologie di contenitori, i c.d. database.
Questi ultimi possono risultare differenti sia dal punto di vista del contenuto
che della struttura. Gli stessi fruitori delle informazioni sono eterogenei e le
loro richieste sono parimenti dissimili.
Tutte le difficoltà elencate finora hanno rallentato lo sviluppo di
sistemi decisionali avvinti perfettamente ai dati in possesso delle imprese.
Ancora oggi vi sono delle difficoltà, ma si pò sicuramente affermare che
ormai il Data Warehousing rientri a pieno titolo tra quegli elementi
imprescindibili sui quali si basa la struttura portante di qualsiasi sistema
decisionale.
Il Data Warehouse è l’anello di congiungimento tra il sistema
decisionale ed i dati in possesso dell’impresa. Le tecniche di Data
Warehousing sono mirate a raggiungere i seguenti scopi: accedere
velocemente ad un’ampia gamma di sorgenti dei dati; omogeneizzare,
trasformare e ripulire i dati; collocare i dati nell’ambito di un modello
facilmente gestibile dagli utenti al fine di supportare le loro decisioni. Sia
ben inteso che la presenza del Data Warehouse è solo una condizione
necessaria al fine della costruzione di un sistema decisionale efficiente e
che porti alle scelte ottimali. L’altro fattore cruciale è quello delle risorsa
umana. Non è possibile estrarre dal Data Warehouse tutte le potenzialità se
gli utenti non sono a conoscenza delle tecniche di analisi più appropriate e
se essi non hanno maturato nessuna esperienza statistica.
Se nel breve periodo l’obiettivo del Data Warehouse è quello della
facilità di fruizione dei dati, nel lungo periodo esso è l’ottenimento di un
vantaggio competitivo derivante dalla trasformazione dei dati in
informazione.
3
Le tecniche di Data Warehousing sono già entrate nella fase di
maturazione. I tentativi pioneristici sono stati molti e da tempo si stanno
configurando organicamente tecniche di sviluppo di riferimento. Esistono
nel mercato molti prodotti capaci di implementare un Data Warehouse.
Tuttavia, non è correto riferirsi al Data Warehouse come un software, ma
piuttosto come una soluzione. Conseguentemente, lo sviluppo di un Data
Warehouse coinvolge molti tool e non solo un singolo applicativo. In
genere si tratta di software costosi a cui hanno accesso solo grandi
organizzazioni. Recentemente la situazione sta mutando. Si stanno
diffondendo applicativi a basso costo accessibili anche da parte di aziende
di piccole e medie dimensioni. Per converso, una delle caratteristiche
salienti dei progetti di Data Warehousing odierni è proprio quella della
corretta determinazione dell’architettura del Data Warehouse in relazione
alle esigenze informative dell’impresa, così da adeguare in modo ottimale
l’impegno finanziario agli obiettivi da raggiungere.
Obiettivo del presente lavoro è quello di realizzare un prototipo di
Data Warehouse nel tentativo di risolvere un caso aziendale reale
sperimentando le attuali tecniche di Data Warehousing. Queste ultime sono
state proposte in rassegna nella prima parte del lavoro, cercando al
contempo di evidenziare il risvolto che esse hanno sul sistema decisionale.
Inoltre, si è posta particolare enfasi sulla necessità di rendere consapevoli
gli utilizzatori della ricchezza informativa del Data Warehouse.
Quest’ultimo punto è la chiave per estrarre dal Data Warehouse tutto il suo
potenziale, rendendolo così uno strumento strategico di prim’ordine.
La trattazione si articola in tre capitoli. La prima parte illustra in
dettaglio gli obiettivi del Data Warehousing e tutte le fasi di sviluppo di un
progetto di Data Warehouse. In essa sono state trattate in modo particolare
le problematiche della definizione del modello dei dati e delle tecniche di
4
analisi degli stessi. Sono stati inoltre indicati i principali tool esistenti nel
mercato.
Il secondo capitolo riguarda la creazione di un prototipo di Data
Warehouse concernente la tematica delle “vendite”. Si tratta di un caso
reale e la sua realizzazione ha comportato l’applicazione di tutti i principi e
delle tecniche viste nella parte precedente, curando direttamente tutte le fasi
dello sviluppo e senza l’ausilio di applicativi forniti da terze parti.
L’ultima parte del lavoro si concentra sull’aspetto economico-
finanziario del Data Warehousing, trattando i processi di budgeting e di
valutazione di un progetto di Data Warehouse. A tale fine si è cercato di
delineare un modello formale di valutazione seguendo i comuni paradigmi
di valutazione dei progetti d’investimento arricchiti dalle peculiarità del
Data Warehousing.
Ai primi tre capitoli sono state accluse tre appendici. Le prime due
contengono il codice di programmazione afferente la parte tecnica del
progetto implementato nel secondo capitolo. Infine, l’ultima appendice
contiene una elencazione delle letture consigliate per ulteriori
approfondimenti sull’argomento. Alle tre appendici segue la bibliografia e
la sitografia.
∗ ∗ ∗
Un particolare ringraziamento è rivolto a Laura Patricia Barberi e
all’Ing. Massimo Marinelli per i loro preziosi consigli di cui si è fatto tesoro
durante la stesura del presente lavoro.
5
1 Il Data Warehousing
1.1 Introduzione
L’analisi dei dati ha rivestito in passato un ruolo critico nella gestione
aziendale ed ancora più lo rivestirà in futuro. Scenari in continuo
cambiamento, estrema volatilità dei mercati, tempi di scelta ridotti rendono
indispensabile l’adozione di strumenti sempre più raffinati ed efficienti di
supporto alle decisioni manageriali.
Affinché coloro che prendono le decisioni in azienda, o decision
makers, possano operare la scelta più opportuna, i dati devono essere
trasformati in informazioni. Nel corso degli ultimi anni, attraverso l’utilizzo
di sistemi informativi aziendali capaci di registrare ogni singolo attributo di
ciascuna transazione, è stata memorizzata una rilevante quantità di dati. La
disponibilità di tali dati ha incentivato notevolmente lo studio della loro
possibile utilizzazione dando vita alla tematica del “Data Warehousing”.
La trasformazione dei dati in informazioni avviene attraverso
l’adozione di un paradigma di modellizzazione dei dati tale da agevolare il
processo d’analisi
1
.
1
D’Ercole L., La Noce F., “Data Warehousing”, Franco Angeli, Milano, 1998
6
Per sistemi operazionali si intendono tutti quei sistemi che
supportano il funzionamento quotidiano dell’impresa e che costituiscono le
basi dell’attività; essi sono stati modificati nel tempo al fine di integrarsi
completamente con il business dell’azienda. Il sistema informazionale è
invece un sistema orientato all’analisi dei dati (OLAP – on line analytical
processing) e quindi al supporto delle decisioni (DSS – decision support
system). I dati utilizzati da questo sistema provengono dall’ambiente
operazionale. Il sistema informativo è la combinazione dei due precedenti
sistemi. Sarebbe errato pensare che il sistema informazionale è ridondante
rispetto a quello operazionale e a tale proposito
2
:
• I dati sono filtrati prima di entrare nel sistema informazionale.
Solo dati necessari al DSS riescono a superare i filtri di
importazione.
• L’orizzonte temporale è differente. L’ambiente operazionale
contiene dati attuali e dettagliati.
• I dati dell’ambiente operazionale, al contrario di quello
informazionale, non sono aggregati.
• Sono indispensabili trasformazioni, modifiche e correzioni prima
che i dati entrino nell’ambiente informazionale.
• La diversità dei report generati dal sistema operazionale e da
quello informazionale sono una altro fattore discriminante: molto
dettagliati e di utilizzo frequente nel primo; poco dettagliati e
aggregati nel secondo.
All’inizio i sistemi informativi erano rappresentati dal solo sistema
operazionale o transazionale (OLTP – on line transactional process) che
2
La Noce F., D’Ercole L., op. cit., Franco Angeli, Milano, 1998
7
teneva traccia di tutte le transazioni aziendali. Negli anni ’70 i sistemi
informativi si basavano su mainframe IBM e su strumenti di sviluppo quali
COBOL, CICS, IMS, DB2. Durante gli anni ’80 si diffusero nuove
piattaforme chiamate mini-computer come l’AS/400 e il VAX/VMS. Questi
sistemi vengono oggi indicati come legacy systems e da essi ancora oggi si
attingono dati. Alla fine degli anni ’80 e inizio anni ’90 fu introdotta
l’architettura client/server; il sistema operativo Unix risultava la piattaforma
server più diffusa. In quegli anni, la maggior parte dei fornitori di
tecnologie per database erano concentrati sull’implementazione delle
funzioni di base, quasi sempre orientate alle performance tecniche, mentre i
tools di interrogazione erano relegati al ruolo di accessori. Pochi vendors,
tra i quali Teradata, erano concentrati su database orientati all’utente ed
erano comunque considerati attori marginali
3
.
Data Warehouse
Metadati
Dati
aggregati
Sistema operazionale
DSS
Fig. 1.1 – Sistema operazionale, Data Warehouse e sistemi decisionali
Gli anni ’90 sono stati caratterizzati dalla diffusione del Personal
Computer che ha reso disponibile agli utenti finali numerosi strumenti di
3
Gupta V.R., “An Introduction to Data Warehousing”, System Services Corp.
(http://www.system-services.com)
8
analisi e un’elevata potenza di calcolo. L’attenzione era essenzialmente
rivolta alle attività individuali piuttosto che a quelle corporate: i dati nel PC
erano personali, gestiti singolarmente e isolati rispetto ai dati dell’azienda,
che risiedevano su mainframe
4
.
Nonostante tutti questi cambiamenti, oggi si stima che più del 70% dei
dati operazionali sia ancora contenuto nei mainframes.
La comprensione della necessità di architetture che rendessero
realmente disponibili le informazioni agli utenti finali, il conseguente
bisogno di accedere a tali dati attraverso le piattaforme attuali e il notevole
sviluppo dell’hardware e del software hanno profondamente modificato la
morfologia dei sistemi informativi. Questi ultimi oggi comprendono anche
sistemi finalizzati all’analisi chiamati sistemi informazionali. Tale
dicotomia ha dato origine ad un processo di separazione dal quale sono nati
i primi sistemi dedicati al supporto delle decisioni manageriali
5
. Sin
dall’inizio fu chiara la duplice necessità di:
• separare l’ambiente operazionale da quello informazionale;
• partizionare i dati di business a diversi livelli di granularità tra cui:
aggregati di informazioni finalizzati ad analizzare fatti ad elevati
livelli di sintesi ed altre partizioni caratterizzate da un livello di
dettaglio maggiore ed utilizzate a fronte di specifiche esigenze di
analisi
6
.
4
Inmon W.H., “Data Warehouse And Software Development”, BillInmon.com
(http://www.billinmon.com), 2000
5
Inmon W.H., “Separating Operational From DSS: Some Criteria”, BillInmon.com
(http://www.billinomn.com), 2000
6
Orr K., “Data Warehousing Technology”, The Ken Orr Institute (http://www.kenorrinst.com),
2000
9
DATI OPERAZIONALI
(di produzione)
DATI INFORMAZIONALI
(decisionali)
• Analitici • Sintetici
• Statici nella struttura, variabili nel
contenuto
• Flessibili nella struttura e nel contenuto
• Utilizzati in modo ripetitivo da personale
operativo
• Utilizzati in modo non ripetitivo
• Guidati dalle transazioni • Orientati e guidati dal processo di analisi
• Orizzonte temporale 60-90 giorni • Orizzonte temporale 5-10 anni
• Non sempre la chiave prevede una
dimensione temporale
• La chiave prevede sempre una
dimensione temporale
• Sono continuamente modificati • Una volta creati, i records non vengono
modificati
Fig. 1.2 – Dati operazionali vs. dati informazionali
Si stima che il livello di ridondanza media tra i due sistemi non superi
l’1%. Il Data Warehouse è l’anello di congiungimento tra i due sistemi e
può essere definito come un insieme di dati subject oriented, integrati,
dipendenti dal tempo, permanenti e finalizzati al supporto delle decisioni
manageriali
7
:
• Subject oriented. La prima caratteristica del Data Warehouse è la
sua organizzazione per soggetti d’interesse (prodotto, cliente,
fornitore etc.). Quest’approccio è contrastante con quello
funzionale, o di processo, utilizzato dai sistemi operazionali
(ordini, fatture, pagamenti etc.). Questi sistemi comprendono
attività di progettazione di database e di processi. Invero, il Data
Warehouse si concentra soltanto sulla modellizzazione dei dati e
sulla progettazione del database. La progettazione dei processi non
è parte dell’ambiente del Data Warehouse. Le differenze si
riflettono immediatamente sul contenuto dei due sistemi.
7
Inmon W.H., “What is a Data Warehouse”, BillInmon.com (http://www.billinmon.com), 2000
10
L’ambiente operazionale comprende quei dati che permettono di
soddisfare immediate richieste funzionali e operazionali (ad
esempio, la fatturazione) molto dettagliate e per questo non
utilizzabili dai DSS. Al contrario, i dati contenuti nel Data
Warehouse presentano una minore granularità infatti un più basso
livello di dettaglio ne permette l’utilizzazione da parte del DSS.
• Integrazione. Condizione necessaria del Data Warehouse.
Differenti sono i modi attraverso i quali si manifesta
l’integrazione. Le convenzioni di naming devono essere consistenti
in modo da adottare un metodo univoco di assegnazione dei nomi
alle entità ed agli attributi che popolano il modello dei dati. Le
unità di misura che permettono la quantificazione delle variabili
devono adottare una metrica omogenea. La codifica consistente
delle strutture dei dati dei Data Mart di cui è composto il Data
Warehouse assicura la chiarezza del modello dei dati e ne permette
una corretta interpretazione. Il complesso processo di integrazione
dei dati ha luogo prima che essi entrino nel Data Warehouse.
Secondo John Ladley di Metagroup, in media il processo di
integrazione dei dati assorbe il 75% delle risorse finanziarie
necessarie per l’implementazione dell’interi progetto.
• Dipendenza dal tempo (time variancy). L’orizzonte temporale di
un Data Warehouse è molto più ampio di quello della gestione
operativa. I database operazionali contengono i valori correnti dei
dati la cui validità è garantita al momento della lettura. Un Data
Warehouse consiste invece in una serie di “fotografie” catturate in
diversi istanti di tempo. L’obiettivo del Data Warehouse è infatti
quello di fornire una visione storica del business, al fine di rendere
più agevoli le decisioni che incidono sulla gestione e
11
sull’organizzazione dell’azienda. Pertanto, tutti i dati in esso
contenuti avranno riferimenti espliciti o impliciti alla dimensione
temporale. Normalmente l’orizzonte temporale dei dati
operazionali è di 60-90 giorni mentre quello del Data Warehouse
varia da 5 a 10 anni.
• Permanenza (non volatilità). I sistemi operazionali sono
progettati per permettere inserimenti, interrogazioni, modifiche e
cancellazioni dei dati. La manipolazione dei dati all’interno del
Data Warehouse è invece molto più limitata: sono permesse solo le
operazioni di caricamento iniziale dei dati e la loro interrogazione.
Una definizione alternativa è quella di Ralph Kimball
8
ove afferma
che un Data Warehouse è una copia completa dei dati operazionali resa
disponibile agli utenti finali in una forma da questi comprensibile ed
utilizzabile nel contesto del business
9
.
Le prime implementazioni di Data Warehouse incontrarono subito un
difficile ostacolo da superare: quello di far comprendere che i modesti o
addirittura inesistenti benefici immediati erano giustificati da opportunità
future che poi si presentarono effettivamente durante gli anni ’90. I periodi
di recessione costrinsero le aziende a razionalizzare i processi e l’esigenza
di inseguire in maniera tempestiva ed efficace i mercati si manifestò in
maniera irrinunciabile. Molte organizzazioni iniziarono a vedere un nuovo
potenziale utilizzo dei dati esistenti. In questo contesto fu compresa a fondo
l’importanza del Data Warehousing. In un’implementazione business-
driven, il vantaggio principale ottenibile dal Data Warehouse è legato alla
8
Ralph Kimball e Bill Inmon sono considerati i “padri” del Data Warehouse. Pur avendo posizioni
differenti, il loro approccio è compatibile. In particolare concordano sull’approccio iterativo
(contrapposto ad uno di tipo “big bang”) e sull’importanza di uno sviluppo più aderente possibile
al modello di business. Sono entrambi sostenitori dello “star scheme” come struttura base di dati
(Gallas S., “Kimball Vs. Inmon”, DMReview.com, 1999).
9
Kimball R., “The Data Warehouse Toolkit”, Wiley, New York, 1996, p. 310
12
sua abilità di interrogare i dati in modo innovativo, divenendo il veicolo che
permette il cambiamento in azienda e quindi utile ad ottenere un vantaggio
competitivo.
Il vantaggio competitivo come obiettivo principe del processo di Data
Warehousing sottende la capacità di fornire informazioni strategicamente
rilevanti al sistema decisionale (DSS), estraendole da una massa di dati
ingestibile. Questa linea di tendenza può essere riassunta in cinque punti
che costituiscono le fondamenta per la progettazione di una soluzione di
Data Warehousing:
• Un’unica sorgente informazionale logicamente concentrata o
distribuita tra più sistemi tematici integrati ove i dati grezzi
provengono da varie fonti eterogenee, esterne o interne. Prima che
i dati vengano resi disponibili sono necessarie operazioni di pulizia
e trasformazione che ne assicurino integrazione e qualità.
• Disponibilità di informazioni fisicamente distribuite: le
informazioni fornite dal Data Warehouse saranno distribuite sia a
livello organizzativo che geografico.
• Informazioni contestualizzate rispetto al business: tanto più le
informazioni saranno aderenti al modello di business adottato tanto
maggiore risulterà la capacità degli utenti di interpretarle e il
vantaggio competitivo da esse ottenibile.
• Consegna automatica delle informazioni: non appena i dati
operazionali sono stati trasformati devono essere instradati verso
gli utenti attraverso sistemi di sincronizzazione e delivery, sempre
presenti se il Data Warehouse è distribuito.