Esistono moltissime definizioni che identificano con precisione il concetto di Data Warehouse, in particolare ne possiamo citare due che ne sottolineano le caratteristiche peculiari:
“Una piattaforma sulla quale vengono archiviati e gestiti dati provenienti dalle diverse aree dell’organizzazione; tali dati sono aggiornati, integrati e consolidati dai sistemi di carattere operativo per supportare tutte le applicazioni di supporto alle decisioni ” (Gartner Group)
“Un insieme di dati subject oriented, integrato, time variant, non volatile costruito per supportare il processo decisionale”
(W.H.Inmon)
Il Data Warehouse è una collezione di dati a supporto del processo decisionale, attraverso il Data Warehouse il management ha l’opportunità concreta di trovare le risposte a tutte quelle domande che hanno un alto impatto sulle performance aziendali; chi ricopre ruoli decisionali deve avere la possibilità di usufruire di tutti gli strumenti che possono rendere la guida dell’azienda massimamente sicura.
Le tipiche problematiche del management relativamente alla fruizione di dati possono essere riassunte come segue:
- Assenza di sintesi nella reportistica
- Risultati diversi da fonti diverse per la stessa tematica
- Impossibilità di navigare nei dati ragionando con oggetti “business”
- Inaffidabilità di alcuni dati critici
- Costi elevati per sintetizzare report e analisi
- Scarsa “collaborazione” o impossibilità di comunicazione dei sistemi informativi transazionali per interrogare i dati
- Assenza di coerenza fra i dati.
- Lentezza nell’interrogazione di dati non ottimizzati per l’analisi
Queste problematiche sono così universali che possono essere considerate come requirements fondamentali per la costruzione di un sistema di Data Warehouse, il quale si poggia perciò su alcune caratteristiche molto importanti:
1- Il Data Warehouse deve consentire l’accesso a dati aziendali garantendo bassi tempi di attesa fra l’interrogazione dei dati e l’output di risultati.
2- I dati esposti devono essere consistenti: un particolare valore (le vendite del prodotto A nella città B nel periodo di tempo C) deve essere sempre lo stesso indipendentemente dal momento dell’interrogazione o dalla modalità di interrogazione dei dati.
3- I dati esposti possono essere ricombinati e separati rispetto agli oggetti di calcolo definiti dal business.
4- Nel concetto di data warehouse rientrano anche gli strumenti software necessari a facilitare l’interrogazione dei dati e a garantire una presentazione chiara della sintesi delle analisi.
5- Il Data Warehouse deve contenere dati coerenti e “ripuliti”: capita che fonti importanti di dati per il Data Warehouse trascinino errori di diverso genere che possono avere un impatto devastante sulla qualità dei dati stessi, parte fondamentale del processo di realizzazione di un sistema di Data Warehouse è rappresentata proprio da attività di recupero, trasformazione e pulitura dei dati.
6- La qualità del Data Warehouse può mettere in luce problematiche nascoste all’interno dei processi aziendali, tipicamente l’assenza di dati relativamente ad una particolare attività dovuta all’opzionalità di compilazione dei dati (causa principale dell’assenza di dati) può evidenziare, proprio grazie al Data Warehouse, la necessità di verificare a livello di processi aziendali l’opportunità di definirla come obbligatoria (e non opzionale).
7- Il Data Warehouse è un sistema in sola lettura, gli utenti non eseguono azioni di aggiunta, modifica o eliminazione dei dati.
Questi punti mettono in evidenza come sia necessario porre l’attenzione sull’esistenza di due universi completamente diversi nell’ambito del trattamento dei dati aziendali :
On line transaction processing (OLTP) è l’insieme dei sistemi transazionali pensati e ottimizzati per garantire la massima sicurezza nella gestione delle transazioni.
On line Analytical processing (OLAP) è l’insieme dei sistemi di analisi dei dati pensati e ottimizzati per garantire la massima performance e la massima “estensione” delle interrogazioni.
Il recente successo della “filosofia” OLAP (tanto elevato da rendere, in molte realtà, il data Warehouse una soluzione necessaria quasi quanto la presenza dei sistemi OLTP) è dovuto in parte alla disponibilità di potenza elaborativa per gestire grossi volumi di dati a basso costo e la possibilità di distribuzione delle informazioni tramite tecnologia intranet/Internet.
Dal punto di vista tecnico/architetturale la definizione di un ambiente data warehouse può essere così semplificata:
1- I dati sorgente, oggetto dell'analisi, vengono forniti dai sistemi transazionali e possono essere di varia natura (sistemi ERP, fogli excel database personali, dati core di applicazioni aziendali, ecc.).
2- Tali dati sono caricati nel data warehouse attraverso procedure di ETL (extraction, transformation e loading) (che possono essere il risultato dello sviluppo di un'interfaccia applicativa in SQL, C, ecc. o possono essere definite e costruite con complessi tool di ETL presenti sul mercato)
3- Nel data warehouse (sorvoliamo sulle complessità relative al disegno della struttura e alle aree di staging, della gestione dei metadati, ecc.) i dati sono presenti al massimo dettaglio e storicizzati e spesso raggiungono dimensioni comunque poco compatibili con l'interrogazione diretta attraverso tool di analisi: vengono così generati dal data warehouse aggregati tematici di dati (datamart) sui quali verranno scatenate le query per le analisi.
4- Un notevole numero di tool permettono di effettuare analisi di ogni tipo o di migliorare ulteriormente le performance delle interrogazioni, i server OLAP (database multidimensionali) possono precalcolare le possibili combinazioni analitiche e memorizzarle fisicamente in un file binario (con esplosione delle dimensioni), tool di analisi appositi possono interrogare i dati sfruttando puntatori che indicano la posizione del dato precalcolato anziché attendere i tempi di elaborazione del motore database. I server OLAP possono memorizzare i dati con diverse modalità utilizzando strutture relazionali (ROLAP) o multidimensionali (MOLAP), per database smisurati (centinaia di giga) spesso si utilizza una modalità ibrida (HOLAP); molti vendor decantano le doti dei loro Server OLAP, è certo comunque che in alcuni casi non è possibile evitare di porre troppa fiducia in chi vende il proprio motore OLAP spacciandolo per il più performante e che in breve si rivela soprattutto una SOLAP...