Data Warehouse
Nonostante il termine data warehouse (DW) sia diventato molto di moda negli ultimi anni ed un gran numero di aziende stia implementando o per implementare sistemi di DW, non esiste una unanime definizione di magazzino di dati.
Secondo alcuni autori il DW č semplicemente un sinonimo di database fisico (relazionale o multidimensionale) che contiene dati; secondo altri, il DW può essere definito come un ambiente con strutture dati finalizzate al supporto delle decisioni, fisicamente separato dai sistemi operazionali. Entrambe le definizioni, tuttavia, sembrano abbastanza limitanti e non in grado di spiegare a fondo il concetto.
Inmon, che per primo ha parlato esplicitamente di data warehouse, invece, lo definisce come una raccolta di dati integrata, subject oriented, time variant e non-volatile di supporto ai processi decisionali. Quindi, lâintegrazione dei dati di un DW costituisce una delle premesse necessarie che ne consentono una progettazione adeguata e che lo distinguono da ogni altro sistema di supporto alle decisioni.
Secondo Inmon la raccolta di dati č:
- Integrata: requisito fondamentale di un data warehouse č lâintegrazione della raccolta dati. Nel data warehouse confluiscono dati provenienti da piů sistemi transazionali e da fonti esterne. Lâobiettivo dellâintegrazione può essere raggiunto percorrendo differenti strade: mediante lâutilizzo di metodi di codifica uniformi, mediante il perseguimento di una omogeneitĂ semantica di tutte le variabili, mediante lâutilizzo delle stesse unitĂ di misura;
- subject oriented: perchĂŠ il DW č orientato a temi specifici dellâazienda piuttosto che alle applicazioni o alle funzioni. In un DW i dati vengono archiviati in modo che possano essere facilmente letti o elaborati dagli utenti. Lâobiettivo, quindi, non č piů quello di minimizzare la ridondanza mediante la normalizzazione ma quello di fornire dati che abbiano una struttura in grado di favorire la produzione di informazioni. Si passa dalla progettazione per funzioni alla modellazione dei dati al fine di consentire una visione multidimensionale degli stessi;
- time variant: i dati archiviati allâinterno di un DW hanno un orizzonte temporale molto piů esteso rispetto a quelli archiviati in un sistema operazionale. Nel DW sono contenute una serie di informazioni relative alle aree di interesse che colgono la situazione relativa ad un determinato fenomeno in un determinato intervallo temporale piuttosto esteso. Ciò, tuttavia, comporta che i dati contenuti in un DW sono aggiornati fino ad una certa data, che nella maggior parte dei casi, č antecedente a quella in cui lâutente interroga il sistema.
- non-volatile: tale caratteristica indica la non modificabilitĂ dei dati contenuti nel DW che consente accessi in sola lettura. Comporta, inoltre, una maggiore semplicitĂ di progettazione del database rispetto a quella di un database relazionale che supporta una applicazione transazionale. In tale contesto non si fronteggiano le possibili anomalie dovute agli aggiornamenti e tanto meno si ricorre a strumenti complessi per gestire lâintegritĂ referenziale o per bloccare record a cui possono accedere altri utenti in fase di aggiornamento.
Esso si differenzia, però, in modo sostanziale dai normali sistemi gestionali che, al contrario, hanno il compito di automatizzare le operazioni di routine.
Inoltre, si può notare che la definizione di Inmon precedentemente citata introduce un concetto di assoluta indifferenza rispetto alle caratteristiche architetturali dei sistemi transazionali e alla dislocazione fisica dei dati nei diversi database.
Se il focus viene posto sulla capacità di supportare il processo decisionale, il data warehouse può essere costruito secondo modalità differenti che vanno da una logica completamente accentrata, a una logica completamente distribuita.
Le principali componenti dellâarchitettura sono:
Vediamo ora, da un punto di vista fisico, come č fatta unâarchitettura di data warehousing.
Lâarchitettura di data warehousing vera e propria inizia dallo strato denominato data transformation, cioč dallâinsieme di applicazioni che svolgono lâattivitĂ di estrazione, trasformazione e caricamento dei dati dai sistemi transazionali alimentanti verso il data warehouse.
La fase di estrazione dei dati dai sistemi alimentanti viene nella maggior parte dei casi implementata utilizzando i linguaggi proprietari delle piattaforme alimentanti. Si tratta per lo piů di query ad hoc, parametrizzate per quanto riguarda lâarco temporale, eseguite periodicamente solitamente nei momenti di minore attivitĂ del sistema.
La fase di âââtrasformazioneâââ, quella a piů elevato valore aggiunto tra le tre contenute in questo layer applicativo, applica regole di integrazione, trasformazione e ââcleansingââ (business rule) ai dati estratti dai sistemi alimentanti. Ă in questo layer che molto spesso si gioca la credibilitĂ dei dati del data warehouse presso gli utenti. Nella maggior parte dei casi i dati estratti dai sistemi transazionali sono o incompleti o comunque non adatti a prendere decisioni in quanto non coerenti con le analisi da effettuarsi.
In alcuni casi le operazioni di trasformazione possono risultare nella casistica del âârejectââ: cioč dellâimpossibilitĂ , salvo intervento umano, di accettare parte del flusso alimentante per lâeccessiva e non risolvibile âimpuritĂ â dei dati alimentanti.
Le trasformazioni possono essere di vari tipi:
Questo livello coincide con il massimo dettaglio disponibile (in termini di dati) allâinterno del sistema di data warehousing.
Una volta che i dati hanno superato il ââquality layerââ vengono âstoccatiâ in questo livello architetturale per garantire due tipi di utilizzi:
A questo livello dellâarchitettura del sistema di data warehousing troviamo oggetti tra loro molto diversi per funzione e tecnologia. Le tre funzionalitĂ base espletate da questo livello architetturale sono: aggregazione, analisi e interpretazione.
In una situazione in cui non esiste il data warehouse gli utenti sono costretti ad accedere ai sistemi legacy per ottenere le informazioni loro necessarie.
In alcuni casi si può decidere di estrarre dai sistemi legacy una o piů sintesi (data mart) per gli utenti che effettueranno lâanalisi su di esse. In questa situazione, anche se la tecnologia e lâarchitettura assomigliano molto a quelle di un data warehouse, lâimpossibilitĂ di arrivare a dati di dettaglio superiore di quello delle sintesi disponibili (drill-through) ne riduce la potenza informativa.
Peraltro il data warehouse non va necessariamente considerato come una base dati a cui tutti gli utenti accedono liberamente per le proprie analisi. Questo può essere vero dove gli utenti siano particolarmente addestrati e, comunque sia, ha delle serie controindicazioni in quanto le risorse hardware necessarie per supportare un elevato numero di utenti che eseguono ââquery multijoinââ sono difficilmente prevedibili e pianificabili. Molti presunti progetti di Warehousing falliscono proprio perchĂŠ ci si limita a âportare dentro i dati â senza però di fatto renderli disponibili agli utenti meno esperti.
La situazione ideale č quella in cui esiste un data warehouse centrale che contiene tutti i dati al minimo livello di dettaglio richiesto per effettuare analisi avanzate e per costruire aggregazioni per tutti gli utenti. In questo caso i data mart possono essere o âââtematiciâââ (cioč contenenti tutte le informazioni riguardo un certo soggetto) o per âââgruppi specifici di utentiâââ.
Questa strategia architetturale fa del data warehouse un vero processo di ââinformation deliveryââ, ove la richiesta di altre e diverse sintesi decisionali comporta non giĂ la costruzione di altri flussi di alimentazione ma piuttosto la creazione di altri data mart. Lo sviluppo di nuovi flussi generanti nuovi data mart č unâattivitĂ routinaria di gestione del data warehouse. La differenza con quanto si dovrebbe fare utilizzando i sistemi legacy č essenzialmente di costo: generare un nuovo data mart allâinterno di unâarchitettura di warehousing ha costi e tempi di sviluppo e di controllo qualitĂ dei dati nettamente inferiore.
âââAnalisi e interpretazioneâââ
La funzionalitĂ di âââanalisiâââ consente di effettuare indagini sulle aggregazioni costruite dal sistema. Tipicamente le funzionalitĂ di analisi di un data warehouse sono supportate da tecnologia di tipo âââOLAPâââ (On-Line Analytical Processing).
LâOLAP č essenzialmente un approccio tecnologico ai processi decisionali che si focalizza sullâanalisi dimensionale delle informazioni. Le sue caratteristiche principali sono:
Questo livello, ingiustamente considerato il piů importante da chi pensa che costruire un sistema di decision support voglia dire disegnare degli spettacolari report layout, contiene tutti i sistemi di presentazione delle informazioni agli utenti.
I sistemi appartenenti a questo layer architetturale possono essere raggruppati in tre grandi categorie:
Del data warehouse ne parlano in molti ma lo praticano in pochi, e questo č un motivo che rende difficile identificare e motivare le aree applicative del data warehouse.
Nelle banche e in generale nelle istituzioni finanziarie gli ambiti di utilizzo sono molteplici, poichĂŠ tutte le aree gestionali di tali organizzazioni sono caratterizzate da volumi considerevoli di dati su cui devono essere prese decisioni strategiche. PoichĂŠ il data warehouse può avere un valore strategico, allâinterni 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â a 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:
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 ed il cui beneficio č immediatamente chiaro, affrontando problemi (a livello di struttura, validazione e calcolo dei dati) estremamente noti nella loro struttura.
Unâaltra area applicativa di estremo interesse č identificabile nelle attivitĂ di Risk e Asset Management, soprattutto in due attivitĂ ben specifiche: lâanalisi e la simulazione dei portafogli e dei relativi rischi; il reporting.
Tali aree applicative sono di particolare importanza e strategicitĂ ed il data warehouse č lo strumento appropriato per affrontarle, anche per la possibilitĂ di integrare al suo interno dati provenienti anche da fonti esterne allâazienda. In questo caso il data warehouse va dotato di strumentistica di analisi avanzata e basata su algoritmi statistici di analisi e simulazione.
Unâaltra sotto-area di grande interesse può essere lo sviluppo di sistemi di individuazione delle frodi. Anche in questo caso č necessario il ricorso a strumentazione di tipo statistico per lâimplementazione di questo genere di applicazione.
Non necessariamente il data warehouse č lo strumento appropriato per affrontare e risolvere questo tipo di esigenza a meno che esiste 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 ââtargettareââ 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 nello âsportelloâ e nel suo âimpiegatoâ lâazienda.
Anche in questo caso il data warehouse č unâopzione tecnologica, non lâunica praticabile e non necessariamente la piů economica. Utilizzare unâarchitettura di data warehousing a supporto di unâattivitĂ di Call Center ha sicuramente senso nel caso in cui le richieste non sono necessariamente di tipo strutturato e quindi risolvibili con il classico âinquiry a terminaleâ. Ă evidente però che la tipologia di utente per questo tipo di sistema č piů evoluto del normale operatore di ââCall Centerââ.
Anche in questo caso valgono le considerazioni fatte per il Database di Marketing: non necessariamente il data warehouse č la tecnologia piů idonea per questo tipo di esigenza, ma lo diventa nel momento in cui la conoscenza in oggetto č costituita prevalentemente da informazioni strutturate e preferibilmente numeriche. In questo caso, anche dal punto di vista tecnologico, un database relazionale č sicuramente la soluzione piů idonea, efficiente ed economica. Non č cosĂŹ se invece le informazioni sono di tipo destrutturato, in questo caso la soluzione piů adatta č una piattaforma di groupware. Si deve però fare attenzione a non confondersi con i cosiddetti database multimediali: il fatto che un database relazionale abbia funzionalitĂ multimediali non significa che sia un data warehouse. Infatti, ciò che distingue un data warehouse da ciò che non lo č, non č la tecnologia utilizzata, ma lâarchitettura applicativa e il disegno della base di dati.
Il data warehouse può essere anche una piattaforma decisionale per lâanalisi e la concettualizzazione di nuovi prodotti da offrire alla clientela e/o per aggredire nuovi mercati o segmenti di mercato. Tale funzionalitĂ č ovviamente supportata se il data warehouse č dotato non solo di strumenti di analisi dei risultati, ma anche di ambienti di simulazione che consentono la costruzione ed il testing âin laboratorioâ di nuove soluzioni da proporre ai clienti. In tali ambienti č possibile individuare alcuni importanti aspetti come la marginalitĂ , il punto di pareggio economico, il segmento di clientela interessato, i meccanismi di cannibalizzazione, lâelasticitĂ della domanda e lâimpatto sullâequilibrio finanziario aziendale.Le componenti e l'architettura del Data Warehouse
Il data warehouse viene strutturato su quattro livelli architetturali:
Questi quattro livelli âoperativiâ del data warehouse possono esistere sotto due condizioni fondamentali:
Da un punto di vista architetturale il data warehouse č un sistema periferico, non č cioč fisicamente residente sul sistema informativo centrale. Il motivo di ciò va ricercato nel peculiare tipo di attivitĂ svolto: una piattaforma di tipo transazionale č maggiormente orientata allâesecuzione costante di operazioni di update, ragione per cui lâottimizzazione viene fatta soprattutto sullâI/O; una piattaforma di decision support invece deve essere ottimizzata per effettuare un numero limitato di query particolarmente complesse. Lâunica eccezione a tale regola può essere rappresentata da soluzioni di tipo mainframe, ove la possibilitĂ di definire macchine virtuali allâinterno della stessa machina fisica rende possibile la coesistenza sullo stesso server fisico delle applicazioni transazionali e delle applicazioni di decision support. Data transformation layer
DATA PREPARATION AND STORAGE LAYER
Data interpretation and analysis layer
âââAggregazioneâââ
La funzionalitĂ di âââaggregazioneâââ provvede a costruire sintesi decisionali partendo dai dati di dettaglio presenti nel layer precedentemente descritto. Qui si deve fare una importante precisazione architetturale.
Le funzioni di base di uno strumento OLAP sono:
I punti deboli degli strumenti OLAP sono:Data presentation layer (DW applications)
Un data warehouse comprende diversi livelli di dati:Gli ambiti applicativi del data warehouse
Tutte le aziende attraversano dunque quattro fasi nella storia dellâutilizzo del data warehouse:
Individuiamo ora quali sono le aree applicative piů indicate per il data warehouse nel settore finanziario.Controllo di gestione
Risk e Asset Management
Database di marketing
Supporto Call Center
Knowledge Base
Product Engineering