I Data Warehouse: un'introduzione

 

Il termine Data Warehouse e' ormai entrato nel vocabolario di tutti i responsabili dei sistemi informativi ed in quello degli amministratori di basi dati(DBAs: DataBase Administrators). Ogni sistema informativo di discrete dimensioni contiene al suo interno un Data Warehouse o, almeno, ne applica alcune delle tecniche e gli strumenti.

Ma cos'e' un Data WareHouse (DWH)?
Il DWH e' una base dati che mantiene tutte le informazioni sulle attivita' dell'azienda e che viene utilizzata dal management per prendere decisioni strategiche.

Da dove provengono i dati del DWH?
Dai sistemi informativi dell'azienda. I dati vengono semplicemente raccolti ed inseriti nel data warehouse con programmi di caricamento. Quindi vengono acceduti con programmi di analisi dei dati o ribaltati su DB specializzati (Data Mart)

Chi ha inventato i DWH?
I sistemi EIS (Enterprise Information System), MIS (Management Information System), DSS (Decision Support System), OLAP (OnLine Analytical Processing )... sono sempre esistiti. E lo stesso vale per la denormalizzazione, le time-series, l'analisi multimensionale, i VLDBMS (Very Large Database Management System), ... Non c'e' nulla di particolarmente nuovo o innovativo nei DWH.
W.H.Inmon e' tuttavia considerato il padre dei DWH. Infatti ne ha coniato il termine, ha scritto diversi libri, ha fatto un mucchio di conferenze e, beato lui, di soldi! Il suo merito e' soprattutto quello di aver raccolto in una concezione unica una serie di concetti e strumenti gia' noti e sfruttati in modo singolo.

Ma perche' tutte queste sigle?
Perche' gli americani ne vanno pazzi!! Ma anche perche' nello strano mondo dei DWH sono molto usate per nascondere cose in realta' piuttosto semplici e logiche. Quindi meglio farci l'abitudine da subito...

I sistemi adatti ad ospitare un DWH sono ora meno costosi, le tecniche per disegnarli/implementarli si sono ormai affinate, il mercato dei DWH si e' allargato ed ora anche aziende medie o piccole possono sfruttarne i vantaggi. Quindi la diffusione dei DWH e' sempre maggiore.

Per un informatico e' pertanto importante conoscere i principali elementi dei DWH poiche' se li conosci li ... implementi.
Per un commerciale e' invece importante conoscere i principali elementi dei DWH poiche' se li conosci li ... vendi!.

I capitoli che seguono possono sembrare a prima vista scritti da uno schizzofrenico. Infatti presentano piu' o meno le stesse cose da punti di vista diversi. In realta' questo e' normale per un DWH: si chiama analisi multidimensionale!


Disegno di un Data WareHouse

Le normali tecniche di disegno delle basi dati non sono applicabili nel disegno del DWH. Il DWH e' una base dati ma non una base dati operazionale (OLTP: OnLine Transaction Processing). Quindi vi sono parecchie differenze come riportato nel seguito:

 

I DataWare House e lo spazio-tempo

Lo spazio ed il tempo sono due elementi importantissimi per i DWH.

Il tempo

Vengono eseguiti ad intervalli temporali prefissati i diversi caricamenti ed aggiornamenti di dati del DWH. Tali periodicita' diventano una caratteristica molto importante del DWH per i forti impatti tecnici ed organizzativi che comportano.
Il tempo e' una dimensione di analisi molto importante. Se su un sistema operanzionale e' importante sapere qual'e' fatturato, su un DWH e' importante conoscere il fatturato ad una certa data o su una certa serie di date.
I tempi di caricamento/aggiornamento dei dati debbono essere limitati in modo da consentire aggiornamenti frequenti senza ridurre la fruibilita' del sistema.
I tempi di risposta delle applicazioni debbono essere i piu' ridotti possibile. E' vero che per altre applicazioni sarebbe accettabile che un report, che richiede una query complessa o che accede a milioni di dati, possa richiedere minuti o ore di elaborazione. Su un DWH tali tempi debbono essere drasticamente ridotti.
Il tempo di inserimento di nuove funzionalita'/dimensioni di analisi deve essere limitato in modo da riuscire a seguire in modo flessibile le nuove esigenze di analisi dati.

Lo spazio

Poiche' il DWH riporta tutti i dati dell'azienda le dimensioni sono elevate. Per gli spazi di un DWH spesso si parla di Terabyte.
Spesso vengono sottovalutati diversi spazi che sono comunque necessari: aree temporanee per il trasferimento/correzione/caricamento dati, aree per i sort (siano essere interne alle basi dati che sul sistema operativo), aree per indici e strutture di accesso ai dati (la valutazione per eccesso di 50% e 50% tipica degli operazionali non e' sufficiente).
Per ottimizzare le prestazioni spesso sono necessari compromessi con gli spazi. Un dataMart ottimizzato per gli accessi di una specifica applicazione richiede spazi ulteriori, un nuovo indice richiede spazio, ...

Lo spazio-tempo

Non c'e' bisogno di essere Einstein per capire che vi sono strette relazioni nell'universo dei Data Warehouse sulle dimensioni spazio-temporali! Per avere dei tempi di risposta per le applicazioni ed i tools che operano su enormi DWH si possono utilizzare tecniche di ricerche ad indice, pre-calcolo dei risultati, definizione di tabelle pre-aggregate, denormalizzazione spinta, ... Tutte queste tecniche richiedono ovviamente grandi quantita' di spazio!
Una verita' lapalissiana sulle relazioni spazio-temporali dei DWH: se si vogliono mantenere i dati per un tempo maggiore, c'e' bisogno di piu' spazio. C'e' un pericoloso corollario: se si vogliono mantenere i dati per un tempo indefinito, occorrera' uno spazio indefinito!

 

DataWare House: vero o falso

Un DWH e':

Un DWH NON e':

 

Stategia e tattica

Nell'arte della guerra, nel gioco degli scacchi e con i DWH sono importanti sia la strategia che la tattica. Non saprei dire se i DWH sono piu' vicini al gioco degli scacchi o ad una guerra. Certo che anche con i DWH si combattono molte battaglie!
Strategia:

Tattica:

 

Attivita' sui dati e strumenti

Le attivita' che si possono svolgere sui dati del dataware house sono molteplici. Quando si opera con basi dati di notevoli dimensioni e' tuttavia necessario utilizzare gli strumenti adeguati. I produttori di SW hanno gia' messo a disposizione parecchi programmi che coprono le diverse necessita' dei DWH. Attivita' tipiche:


Testo: Data Warehouse: un'introduzione
Data: 17 Luglio 1999
Versione: 1.0.4
Autore: mail@meo.bogliolo.name