Data Warehouse

I parte: Introduzione e applicazioni nel mondo realedi

Con l‘aumentare della complessità nel mondo economico e con il forte avvento della globalizzazione, la quantità di dati che un‘azienda media o grande deve mantenere è enorme ed ancora più complesso risulta prendere decisioni in base a questo ampio insieme di dati. A partire dagli anni ‘80, sono presenti sul mercato sistemi di supporto alle decisioni (DSS), che permettono di estrapolare informazioni anche in presenza di grandi quantità di dati. Tra questi sistemi, negli ultimi anni si e focalizzata l‘attenzione del mondo accademico e industriale sui sistemi di data warehousing. I sistemi di data warehousing sono ormai una realtà consolidata in molte organizzazioni di dimensioni medio-grandi, e il ruolo strategico che essi rivestono nel garantire un facile accesso a informazioni chiave altrimenti difficilmente reperibili e ampiamente riconosciuto.

DSS

I Decision Support System sono divenuti un'area culturale della ricerca scientifica nei primi anni Settanta grazie al lavoro di Gorry e Scott Morton, i quali hanno evidenziato l'utilità e le potenzialità di questi sistemi. Dal nome si può dedurre quali siano gli elementi alla base dei DSS:

  • Decision: sta ad indicare l'attenzione rivolta ad attività decisionali e a problemi direzionali;
  • Support: indica che le tecnologie informatiche sono di aiuto nel prendere le decisioni, ma non si sostituiscono al decisore, il quale rimane il vero protagonista;
  • System: evidenzia che questi strumenti mirano all'integrazione tra utenti, macchine e metodologie di analisi.

In generale, viene definito Decision Support System un sistema software che mette a disposizione dell'utente, il decisore, una serie di funzionalità di analisi dei dati e di utilizzo di modelli in maniera interattiva ed estremamente semplice, allo scopo di aumentare l'efficienza e l'efficacia del processo decisionale.

 

Dalla definizione emergono, quindi, gli aspetti essenziali di un DSS:
  • facilità d'uso e flessibilità dell'interfaccia utente;
  • ambiente interattivo;
  • supporto per la soluzione di problemi non strutturati o semi strutturati;
  • efficacia nell'utilizzo dei modelli e nell'analisi dei dati di interesse;
  • possibilità per il sistema di diventare parte integrante del processo decisionale.

Molto spesso non sono solo l'intuito o le capacità del decisore a determinare lo sviluppo o la sopravvivenza di un'azienda, ma la velocità con cui certe decisioni vengono prese, e quindi la riduzione del gap problema-azione. La risposta pronta e in tempi brevi permette un continuo adattamento al cambiamento dell'ambiente, sia interno che esterno, anche se questo comporta una soluzione non ottimale e quindi migliorabile con ulteriori analisi e più dati. Pertanto, ciò che si richiede a un DSS è la capacità di consolidare informazioni, di produrre report o dati previsionali, di consentire simulazioni, il tutto in modo flessibile e semplice.

Componenti di un DSS

L'approccio più diffuso su quali siano le parti fondamentali di un DSS è quello che individua tre componenti: una base di dati, una base di modelli e un sistema software.

 

La base dati contiene dati e informazioni che, direttamente o indirettamente, interessano l'utente. Un DSS deve quindi avere una base dati indipendente rispetto alle basi dati gestionali e spesso integrata con informazioni esterne (per esempio, in ambito economico e finanziario, tassi d'interesse, quotazioni etc.).

 

L'altra risorsa informativa di notevole importanza, oltre ai dati, sono i modelli di decisione. Proprio partendo dall'idea che i modelli sono una fonte importantissima d'informazione, si è evoluta negli ultimi 20 anni un'area della ricerca nell'ambito dei DSS: il Model Management. Fin qui abbiamo usato il termine "modello" in maniera intuitiva, ma è necessario precisare subito cosa s'intende con questo termine. Non c'è una definizione condivisa, ma quella predominante è: "Un modello è una procedura automatizzata che analizza dati in risposta a un determinato problema".

Una base di modelli contiene tutti i modelli, cioè le procedure, necessarie per risolvere i problemi dell'utente. Lo scopo della ricerca in questo campo è quello di introdurre un metodo per l'organizzazione e la gestione dei modelli come è già avvenuto per le basi di dati.

 

Il sistema software, secondo Sprague e Carlson, è suddiviso in tre componenti:

  • Data Base Management Software (DBMS);
  • Model Base Management Software (MBMS);
  • Dialog Generation/Management Software (DGMS).

Il più famoso fra i tre è il DBMS, su cui basta solo dire che è il software che permette di definire schematicamente l'organizzazione dei dati, come memorizzarli, modificarli, gestirli permettendo un'interrogazione semplice della base dati.

Il MBMS deve facilitare la memorizzazione, la modifica e l'uso dei modelli. Il suo ruolo è analogo a quello di un DBMS con una differenza sostanziale: il MBMS gestisce procedure e non dati. Ad oggi, non esistono standard per i MBMS il cui livello sia paragonabile a quello raggiunto per i DBMS.

Il DGMS è il software che realizza l'interfaccia utente, e definisce il tipo d'interazione con esso. Determina le richieste che l'utente può fare, quali risposte può ottenere e in che modo; inoltre lo guida nell'uso del DSS.

Il Data Warehousing

Tra i sistemi di supporto alle decisioni, i sistemi di data warehousing sono probabilmente quelli su cui negli ultimi anni si è maggiormente focalizzata l'attenzione sia nel mondo accademico, sia in quello industriale.

È possibile definire in modo informale il data warehousing come una collezione di metodi, tecnologie e strumenti di ausilio al cosiddetto "lavoratore della conoscenza" (knowledge worker: dirigente, amministratore, gestore, analista) per condurre analisi dei dati finalizzate all'attuazione di processi decisionali e al miglioramento del patrimonio informativo.

 

Al centro del processo di data warehousing, ossia del complesso di attività che consentono di trasformare i dati operazionali in conoscenza a supporto delle decisioni, c'è il data warehouse (letteralmente, "magazzino di dati"), un contenitore (repository) di dati che diventa garante dei requisiti esposti.

Esistono tante definizioni di data warehouse e tra queste, William H. Inmon [INM96], colui che per primo ne ha parlato esplicitamente, definisce il data warehouse come una raccolta di dati di supporto per il processo decisionale che presenta le seguenti caratteristiche:

  • è orientata ai soggetti di interesse;
  • è integrata;
  • è non volatile;
  • è rappresentativa dell'evoluzione temporale.

Orientato ai soggetti

Nei tradizionali database, spesso ci troviamo davanti a una struttura dati orientata a ottimizzare le operazioni che giornalmente più volte sono necessarie nella gestione di un'azienda: l'inserimento di un nuovo ordine o di una fattura, la registrazione dell'uscita di un prodotto, il carico e scarico dei magazzini. Tali sistemi, proprio perche' pensati per questo scopo, sono detti operazionali oppure OLTP (On Line Transaction Processing). A differenza di questi, un data warehouse è orientato ai soggetti che determinano le scelte dei manager, quali ad esempio i clienti, i fornitori, le vendite e gli acquisti. Il data warehouse permette di raggruppare e confrontare i soggetti tra loro.

Integrazione

La più importante delle caratteristiche di un data warehouse è l'integrazione. Essa nasce dalla necessità di dare coerenza ai dati provenienti da diverse applicazioni progettate per scopi diversi. Poiche' i manager, per poter prendere le loro decisioni, necessitano di ogni possibile fonte di dati interna o esterna all'azienda, il problema da affrontare è quello di rendere questi dati accessibili e omogenei in un unico ambiente, ma questo pone delle difficoltà come quelle che si possono vedere in figura 1.

 

Figura 1 - Esempi di integrazione. Dal tipo di codifica, alle unità di misura, alle fonti multiple per la descrizione di un unico elemento, al conflitto dei tipi utilizzati, uno dei principali problemi dei sistemi di datawarehouse diventa quello di integrare tali differenze.

 

 

Possono esistere quattro fonti di dati dove il sesso di un cliente è stato memorizzato in modo diverso: allora nel data warehouse bisogna decidere quale forma vogliamo tenere come valida e di conseguenza bisogna codificare i dati provenienti dalle altre tre applicazioni prima di inserirli nel data warehouse. Ovviamente le parti di codice che si occupano di trasformare i dati saranno diverse per ciascuna sorgente.

 

Una situazione simile alla precedente si ha quando ad esempio applicazioni diverse misurano una grandezza con unità di misura diverse: allora bisogna trasformare le misure incompatibili in una che abbiamo scelto e definito come standard.

 

Più applicazioni possono contenere la descrizione di un articolo e in questo caso occorre decidere quale sia la descrizione più completa da memorizzare o se memorizzarle tutte in una sola. In applicazioni diverse, gli attributi che si riferiscono a uno stesso argomento (come un codice articolo) possono essere stati definiti in modo diverso, quindi bisogna scegliere il tipo più adatto alla memorizzazione nel data warehouse. Questi sono solo alcuni esempi dei problemi che si riscontrano nell'integrazione dei dati.

Non volatilità dei dati

La terza caratteristica che deve avere un data warehouse è la non-volatilità, ossia i dati in esso contenuti non devono poter essere cambiati dall'utente, questo perche' il data warehouse viene usato per fare indagini e non per inserire o modificare operazioni. Non è nel data warehouse che si va a modificare l'indirizzo di un cliente, anche perche' in tal caso si perderebbe ogni riferimento storico al fatto che il cliente ha cambiato indirizzo. I dati vengono caricati solitamente in massa e in modalità batch e successivamente acceduti dagli end-user.

Evoluzione temporale

L'ultima caratteristica importante di un data warehouse è la dipendenza dal tempo. A differenza dei database dove le operazioni direttamente accessibili, di solito, sono quelle degli ultimi 60-90 giorni, in un data warehouse l'intervallo temporale si allarga fino ad arrivare a coprire un arco di 5-10 anni. In ambiente operazionale il database contiene il "valore corrente" (ad esempio l'indirizzo odierno di un fornitore) e questo dato può essere modificato solo perdendo ogni riferimento al dato precedente, mentre in un data warehouse i dati possono essere visti come delle sofisticate foto istantanee (snapshot) fatte in determinati momenti, perciò tengono conto anche della storia dei soggetti. La struttura chiave di un sistema operazionale può o meno contenere degli elementi di tempo (anno, mese, data, ora), mentre quella di un data warehouse deve sempre contenere qualche elemento di tempo.

Consistenza

Un data warehouse non è solo un insieme di dati strutturati, ma è piuttosto un sistema composto anche da applicazioni che servono ad estrarre, analizzare e presentare i dati. I dati presenti in un data warehouse devono essere consistenti. Questo significa che se due persone interrogano l'archivio in momenti diversi per conoscere le vendite avvenute nel mese di gennaio devono ottenere lo stesso risultato; inoltre se i dati di un determinato periodo per qualche motivo non sono stati caricati completamente, l'utente che li richiede deve essere avvisato che i dati che sta analizzando sono incompleti. Da ciò si vede come risulti utile la figura del responsabile della qualità dei dati pubblicati nel data warehouse che rende disponibili le informazioni solo quando hanno sufficienti requisiti di analisi.

Applicazioni del DW

Nelle banche, e in generale nelle istituzioni finanziarie, gli ambiti di utilizzo del Data Warehouse sono molteplici, poiche' tutte le aree gestionali di tali organizzazioni sono caratterizzate da volumi considerevoli di dati su cui devono essere prese decisioni strategiche. A usufruire dei dati di un Data Warehouse sono varie tipologie di utente:responsabili marketing, product manager, responsabili commerciali. Ognuno di questi con proprie esigenzeapplicative: dal semplice query e reporting fino alle applicazioni di analisi economica. Poiche' il data warehouse può avere un valore strategico, all'interno di tali tipi di organizzazioni è fondamentale per il management definire una strategia per il data warehouse. La strategia per il data warehouse è essenzialmente un percorso evolutivo che porta l'azienda da applicazioni DW non mission-critical verso una situazione in cui il data warehouse è una componente fondamentale del sistema informativo aziendale.

La strategia di data warehousing di un'azienda può essere classificata in base a due dimensioni fondamentali:

  • utilizzo del DW esistente: livello di maturità degli utenti e delle funzioni di supporto del DW nell'utilizzo dell'esistente;
  • utilizzo del DW in prospettiva: il Data Warehouse assume il ruolo di piattaforma di decision support.

Le aziende attraversano dunque quattro fasi nella storia dell'utilizzo del data warehouse:

  • la prima fase, chiamata supporto (basso utilizzo del DW esistente, basso utilizzo in prospettiva del DW) è la fase in cui si trovano le aziende che hanno fallito uno o più progetti di warehousing e non pensano di ampliarne l'utilizzo in prospettiva. In questa fase si possono trovare anche aziende che non hanno un DW e non pensano di realizzarlo.
  • la seconda fase, chiamata opportunità (basso utilizzo del DW esistente, alto utilizzo in prospettiva del DW), è la fase in cui si trovano le aziende che, pur avendo fallito uno o più progetti di warehousing o avendo semplicemente esplorato la tematica senza approfondirla, puntano a sviluppare le attività di decision support tramite il data warehouse.
  • la terza fase (alto utilizzo del DW esistente, alto utilizzo del DW per la prospettiva), è quella fase in cui il data warehouse diviene strategico per i processi decisionali aziendali. In questa fase si trovano tutte quelle aziende che hanno intrapreso con successo un progetto di warehousing e che ne stanno sfruttando appieno le potenzialità.
  • la quarta fase, chiamata factory (alto utilizzo del DW esistente, basso utilizzo prospettico del DW) è la fase in cui si trovano le aziende in cui il data warehouse è maturo, la metodologia di implementazione consolidata e le aree decisionali critiche sono presidiate. In questa fase l'imperativo principale è l'efficienza e il risparmio di costi derivanti dal data warehouse e dal suo utilizzo.

Lo schema di figura 2 riassume quanto appena detto.

 

Figura 2 - Strategia di Data Warehousing.

 

 

Individuiamo ora quali sono le aree applicative più indicate per il data warehouse nel settore finanziario [WIK].

Controllo di gestione

Questa può essere l'area applicativa di base per un sistema di data warehousing in qualunque organizzazione. In questo caso il data warehouse viene utilizzato sostanzialmente come piattaforma di reporting e analisi di redditività. È inutile e pericoloso ipotizzare di realizzare un data warehouse solo per il controllo di gestione. Tale iniziativa ha senso solo se questo è il primo passo evolutivo nella strategia di data warehousing dell'azienda. Infatti, costruire un data warehouse per il controllo di gestione consente di analizzare e risolvere rapidamente esigenze estremamente rilevanti e il cui beneficio è immediatamente chiaro, affrontando problemi (a livello di struttura, validazione e calcolo dei dati) ben noti nella loro struttura.

Risk e Asset Management

Un'altra area applicativa interessante è identificabile nelle attività di Risk e Asset Management, soprattutto in due attività ben specifiche: primo, l'analisi e la simulazione dei portafogli e dei relativi rischi; secondo, il reporting.

Tali aree applicative sono di particolare importanza e strategicità e il data warehouse è lo strumento appropriato per affrontarle, anche per la possibilità di integrare al suo interno dati provenienti da fonti esterne all'azienda. In questo caso il data warehouse va dotato di strumenti di analisi avanzati e basati su algoritmi statistici di analisi e simulazione.

Un'altra sotto-area di grande interesse può essere lo sviluppo di sistemi per l'individuazione delle frodi. Anche in questo caso è necessario il ricorso a strumentazione di tipo statistico.

Supporto alle vendite

Non necessariamente il data warehouse è appropriato per affrontare e risolvere questo tipo di esigenza, a meno che esista la necessità di immagazzinare e gestire rilevanti masse di dati. In molti casi il database di marketing è banalmente un'anagrafica clienti arricchita di alcune informazioni "non amministrative", in casi più avanzati diventa uno strumento fondamentale di supporto al "marketing one-to-one". In questo caso il database di marketing costituisce una base di informazioni fondamentale per indirizzare correttamente campagne e iniziative promozionali o per attivare servizi avanzati di "customer care". In questo caso, data la rilevante massa di dati da gestire, il data warehouse può diventare la piattaforma tecnologica ideale.

Nel settore bancario il marketing one-to-one è ancora allo stadio embrionale, almeno dal punto di vista del marketing centrale, e questo è dovuto al fatto che molto spesso il marketing one-to-one viene fatto dalla filiale, l'unica struttura aziendale in grado storicamente di instaurare un rapporto fiduciario con il cliente finale, che identifica l'azienda nello "sportello" e nel suo "impiegato".

e-business

La diffusione del canale digitale nel settore finanziario pone una serie di problemi e di opportunità nuove. In primo luogo questo tipo di canale implica una velocità di cambiamento e quindi di reazione nettamente superiore. Il data warehouse può essere lo strumento analitico che consente di cogliere dinamiche all'interno di rilevanti masse di transazioni on-line. In secondo luogo l'informazione può essere uno strumento di supporto o l'oggetto stesso della transazione e in questo caso il data warehouse può essere la piattaforma utilizzata per coprire tale ambito applicativo.

Il data warehouse può essere quindi di supporto a sistemi di trading on-line sia dal punto di vista dell'analisi che dal punto di vista dell'architettura dati.

Conclusioni

In questo primo articolo sul Data Warehouse, si è introdotto e approfondito il concetto dei DSS, strumenti utilizzati da chi deve prendere decisioni durante il processo decisionale. La categoria più importante fra di essi sono i sistemi di Data Warehousing, su cui negli ultimi anni si è focalizzato l'interesse industriale e accademico.

Si sono elencati gli ambiti in cui i DW sono applicati nella realtà, in particolare nel controllo di gestione e nel supporto alla vendita. Come si è evidenziato, i vantaggi derivanti dall'assunzione di un Data Warehouse nella propria azienda sono molteplici.

I sistemi di analisieconomica erano un tempo dominio degli uffici/centri studi che potevano permettersi solo poche aziende di grosse dimensioni o le associazioni/enti dicategoria. Oggi queste applicazioni sono svolte al proprio computer poiche' esiste una tecnologia che permette di manipolare in modo semplice e intuitivo i dati di complesse realtà aziendali.

Nel prossimo articolo, verrà esposto un modello progettuale di Data Warehouse, partendo dalle sorgenti di dati fino ad arrivare alla definizione completa della struttura dati da interrogare.

Riferimenti

[INM96] W. H. Inmon,"Building the data warehouse", John Wiley & Sons, 1996.

 

[WIK] Voce "Data warehouse" su Wikipedia

http://it.wikipedia.org/wiki/Data_warehouse

 

Condividi

Pubblicato nel numero
154 settembre 2010
Mirco Gamberini è nato a Faenza (RA) e si è laureato in Scienze dell‘Informazione presso la sede di Cesena dell‘Università di Bologna, con una tesi sulla valutazione di prodotti di Business Intelligence, in particolare su SQL Server Analysis Services. Da ottobre 2009 svolge, presso il gruppo Imola Informatica, l‘attività di…
Articoli nella stessa serie
Ti potrebbe interessare anche