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)?
Da dove provengono i dati del DWH?
Chi ha inventato i DWH?
Ma perche' tutte queste sigle?
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.
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!
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:
Lo spazio ed il tempo sono due elementi
importantissimi per i DWH.
Un DWH e':
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:
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
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.
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)
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.
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...
Per un commerciale e' invece importante conoscere i principali elementi dei
DWH poiche' se li conosci li ... vendi!.
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 operazionale
e' importante sapere qual e' fatturato, sul suo DWH sara' 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!
Se si comprime si riduce lo spazio ma di converso si aumenta il tempo
necessario per estrarre le informazioni: ancora un legame spazio-tempo.
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 infinito!
Un DWH NON e':
Quando si tratta di uno strumento integrato lo si definisce un
ETL o un ETTL (Extraction, [Transport,] Transformation and Loading).
Data: 17 Luglio 1999
Versione: 1.0.5
Autore: mail@meo.bogliolo.name