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 è:

Situazione del tutto differente, al contrario, si manifesta in un transazionale in cui i dati corrispondono sempre ad una situazione costantemente aggiornata che tuttavia non fornisce un quadro storico del fenomeno analizzato;

Il data warehouse, quindi, descrive il processo di acquisizione, trasformazione e distribuzione di informazioni presenti all’interno o all’esterno delle aziende come supporto ai ‘’decision maker’’.

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.

Indice

Le componenti e l'architettura del Data Warehouse

Le principali componenti dell’architettura sono:

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.

Vediamo ora, da un punto di vista fisico, come è fatta un’architettura di data warehousing.

Data transformation layer

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:

Data preparation and storage layer

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:

Data interpretation and analysis layer

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.

‘’’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.

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:

Le funzioni di base di uno strumento OLAP sono:

I punti deboli degli strumenti OLAP sono:

Data presentation layer (DW applications)

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:

Un data warehouse comprende diversi livelli di dati:

Gli ambiti applicativi del data warehouse

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:

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

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.

Risk e Asset Management

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.

Database di marketing

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.

Supporto Call Center

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’’.

Knowledge Base

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.

Product Engineering

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.

Sistema informativo di marketing

Si tratta di utilizzare il data warehouse come una sorta di ‘backbone’ per supportare una serie di applicazioni integrate orientate alle analisi commerciali e di marketing. Gli aspetti fondamentali che caratterizzano questo tipo di architettura sono essenzialmente due:

L’idea di fondo del sistema informativo di marketing è quella di sviluppare un percorso evolutivo che parta dal reporting di base per arrivare ad analisi avanzate passando attraverso sistemi di analisi del portafoglio prodotti e clienti e procedure di budgeting e simulazione.

@-business

La diffusione del canale digitale nel settore finanziario pone sicuramente una serie di problemi e di opportunità assolutamente 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 do viste dell’architettura dati.

L’utilizzo del data warehouse è diventato molto rilevante anche in ambito statistico, tanto da esser considerato un elemento chiave della visione di produzione statistica. Il data warehouse è un sistema delle informazioni dove i dati sono organizzati e strutturati per un facile accesso da parte dell’utente e per supportare i processi della decisione. I seguenti sistemi sono abilitati dal data warehouse:

Il primo è utilizzato per risolvere specifici problemi, mentre il secondo per soddisfare ad una continua circolazione dei dati che non dipende da problemi specifici.

Il data warehouse è un sistema OLAP (come accennato precedentemente) che differisce dai sistemi OLTP (On Line Transaction Processing), sebbene i dati provengono dal secondo. I sistemi OLAP sono sistemi subject-oriented, sono integrati, storici e permanenti. Non comprendono dati analitici e statici come i sistemi OLTP, inoltre i dati OLAP non sono dati ad uso corrente, e vengono usati per analisi.

Un data warehouse è sempre diviso dal suo ambiente operativo e comprende tutti i dati dell’ambiente operativo. I dati del data warehouse non vengono mai cambiati; sono memorizzati all’inizio e messi a disposizione, e non sono aggiornati mai come nei sistemi OLTP. Prima di essere memorizzati nel data warehouse, i dati sono integrati seguendo diverse strategie.

La fonte dei dati per un sistema delle decisioni (come data warehouse) è un sistema operativo, anche se la prima non è una pura copia del secondo: i dati in un sistema delle decisioni sono filtrati, classificati dal tempo, sono inclusi valori sommarizzati e sono cambiati prima di essere caricati nel data warehouse. In particolare, per i microdati, i dati sono riassunti in due livelli di aggregazione diversi: il primo livello (‘’primo livello di data mart’’) specifica l’unità del tempo, e nel secondo livello (‘’data mart finale’’) sono memorizzati permanentemente soltanto dati a più alta frequenza. Così, se i dati sono acceduti più frequentemente, il livello di sommarizzazione è più elevato. In altre parole, è memorizzato un numero più piccolo di dati, e l’accesso ai dati è più veloce ed efficiente.

I principali approcci per sviluppare un ambiente di data warehouse sono due: il primo è basato sulla creazione di un data warehouse centrale, usando dati dal sistema principale ed altre fonti. Questo data warehouse centrale può essere utilizzato poi per creare/ aggiornare data warehouse dipartimentali o data mart locali. Il secondo approccio è basato sulla creazione di data mart indipendenti, ognuno memorizzato direttamente dal sistema centrale e altre fonti dei dati.

L’approccio di un data warehouse centrale può iniziare con un semplice data warehouse, diffuso col tempo per soddisfare utenti con crescenti richieste e diventare un ambiente che contiene sistemi di data warehouse collegati. In un semplice ambiente di data warehouse le aree che hanno necessità di essere monitorate sono tre:

È necessario monitorare la rete che provvede all’accesso agli utenti. Ci sono di solito almeno tre repository per i metadati e per le altre informazioni collegate: uno per descrivere la struttura dei dati, per la loro trasformazione e per l’estrazione dei dati; uno per il database del data warehouse; ed uno o più per gli strumenti di navigazione. Questi repository devono essere curati, sia individualmente che nelle totalità. I dati nell’ambiente del database del data warehouse dovrebbero essere maneggiati con la stessa cura. La complessità di questo compito dipende dalla complessità del database scelto, ma include copie di backup, recovery, riorganizzazioni, archiviazioni, operazioni di monitoraggio e tuning. Sono creati sub-set di dati dipartimentali o locali (data marts) per migliorare la performance delle consultazioni dell’utente e ridurre dipendenza sul data warehouse. Questo livello supplementare di dati aumenta la complessità di gestione dell’ambiente: aggiunge un altro livello di metadati e possibilmente un altro repository, richiede controllo e gestione della distribuzione dei dati dei data mart, e, a meno che l’amministrazione dei data mart sia completamente devoluta a livello locale, richiede anche la gestione di dati del database del data mart. La situazione diventa anche più difficile se l’ambiente evolve ulteriormente tramite la creazione di data warehouse multipli. In alcuni di questi casi, le complessità di amministrazione diventano opprimenti.

Nell’approccio di data mart indipendenti, la creazione di un solo data mart orientato a risolvere un particolare problema rappresenta una soluzione semplice. Le tre aree da amministrare sono:

Poiché questo ambiente non contiene volumi grandi di data warehouse è più maneggevole. Nel caso si adotti una tale semplice soluzione di data mart nella realizzazione di data warehouse e nell’organizzazione, il compito dell’amministratore sarebbe relativamente facile. Questo approccio non si ferma di solito con un data mart e, una volta che vengono aggiunti altri data mart, la situazione diventa più complicata. Il compito di portare un numero di data mart separati in un solo ambiente di data warehouse è estremamente difficile. Ogni data mart viene sviluppato di solito individualmente. Tali data mart hanno il potenziale di diventare parte del sistema centrale. In questo modo, possono porre il problema di discordanze nella definizione dei dati che il data warehouse è stato disegnato per risolvere. Questa situazione poco attraente si evita solamente se esiste una sola architettura di amministrazione dello sviluppo del sistema.

È probabile che il data warehouse contenga volumi molto grandi di dati, non sempre attinente a tutti gli utenti. Lavorare attraverso questi volumi di dati non correlati può essere inefficiente e consuma molto tempo nell’esecuzione. In questa situazione è possibile suddividere il data warehouse in specifiche aree di interesse.

Inoltre, molti tool per lo sfruttamento dei dati creano i loro primi ambienti, ognuno col proprio repository. Tale repository contiene le informazioni richieste per l’esplorazione dei dati. Se il data warehouse è amministrato centralmente, questi ambienti devono essere incorporati nella struttura centrale della gestione. Anche dove la responsabilità dell’amministrazione dei tool di sfruttamento dei dati è a livello dell’utente locale, è richiesto un collegamento tra il sistema di amministrazione di data warehouse centrale e gli ambienti distribuiti. Questo collegamento è necessario per assicurare che i cambiamenti dei tool degli ambienti distribuiti possono essere identificati anche centralmente.


Categoria:Statistica Categoria:Informatica

See also: Data warehouse, Database, Qualità dei dati