giovedì 27 novembre 2008

DATAWAREHOUSE e sistemi OLTP

Un Data warehouse (o DW), termine che in inglese significa letteralmente magazzino di dati, è un archivio informatico contenente i dati di un'organizzazione.

L'imprenditore William H. Inmon, il padre riconosciuto del Data Warehousing, definisce il DW come una raccolta di dati integrata, orientata al soggetto, variabile nel tempo e non volatile di supporto ai processi decisionali.



Secondo Inmon, dunque, un DW deve essere una raccolta di dati:

- Integrata: requisito fondamentale di un DW poichè in esso confluiscono dati provenienti da più sistemi transazionali e da fonti esterne. L'obiettivo dell'integrazione può essere raggiunto tramite l'utilizzo di metodi di codifica uniformi, il perseguimento di una omogeneità semantica di tutte le variabili, l'utilizzo delle stesse unità di misura;

- Orientata al soggetto: il DW è orientato a temi aziendali specifici piuttosto che alle applicazioni o alle funzioni. In un DW i dati vengono archiviati in modo da 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 organizzati in modo tale da favorire la produzione di informazioni. Si passa dalla progettazione per funzioni ad una modellazione dei dati che consenta una visione multidimensionale degli stessi;

- Variabile nel tempo: i dati archiviati all'interno di un DW coprono un orizzonte temporale molto più esteso rispetto a quelli archiviati in un sistema operativo. Nel DW sono, infatti, contenute una serie di informazioni che tentano di restituire un determinato fenomeno in un determinato intervallo temporale solitamente piuttosto esteso. Di conseguenza i dati saranno aggiornati ma solo fino ad un certo punto, diversamente da quanto si verifica in un sistema transazionale, nel quale i dati corrispondono sempre ad una situazione aggiornata, solitamente incapace di fornire un quadro storico del fenomeno analizzato;

- Non volatile: tale caratteristica indica la non modificabilità dei dati contenuti nel DW che consente accessi in sola lettura. Ne deriva una maggiore semplicità di progettazione del database rispetto a quella di un'applicazione transazionale. In tale contesto, infatti, non si considerano le possibili anomalie dovute agli aggiornamenti, né 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.



Gli elementi costitutivi dell'architettura di un DW sono:


- I dati provenienti dai sistemi transazionali dell’azienda e non: tali dati possono essere contenuti all'interno dello stesso DB, provenire da diversi DB o essere anche esterni all'azienda. Spesso l'architettura di un data warehouse prevede l'integrazione dei dati interni con quelli esterni. L'utilizzo di questi ultimi consente di arricchire il patrimonio informativo.

- Il data movement: tale componente è responsabile dell'estrazione dei dati dai sistemi transazionali, dell'integrazione tra dati aziendali e dati esterni, del pre-processing dei dati, del controllo della consistenza dei dati, della conversione delle strutture dati, e dell'aggiornamento dei dizionari dei dati.

- Il data warehouse: i dati estratti dagli archivi transazionali vengono memorizzati internamente al data warehouse. Nel data warehouse l'accesso ai dati è consentito in sola lettura. Tali dati hanno una dimensione storica e sono riferiti a soggetti di business. Essi possono essere memorizzati in un archivio centrale o in un Data Mart, termine che identifica un DW di dimensioni ridotte, specializzato per una particolare area di attività. Si pensi, ad esempio, al Data Mart per il marketing in cui i dati filtrati dagli archivi transazionali sono memorizzati per consentire l'analisi della clientela. All'interno della banca dati possono quindi esistere più Data Mart, aventi finalità diverse e orientati a coprire diverse aree di business. I dati contenuti nel data warehouse possono essere aggregati e indicizzati per rispondere a specifiche necessità informative.

- I metadati: informazione aggiuntiva che arricchisce i dati contenuti nel data warehouse. Spesso essi vengono chiamati in gergo "data about data" indicando la provenienza, l'utilizzo, il valore o la funzione del dato.

- L'utente finale: i dati contenuti nel DW vengono presentati all'utente finale, il quale dispone di un insieme di strumenti per effettuare elaborazioni e produrre informazioni appropriate. I tools a disposizione dell'utente possono essere semplici generatori di query e report, interfacce grafiche che consentono la rappresentazione dei dati o sistemi di analisi dati più complessi.



Il DW è organizzato su quattro livelli architetturali:


1. Trasformazione dei dati: è il livello che si occupa di acquisire i dati e validarli;

2. Preparazione e "stoccaggio" dati: è il livello che fornisce i dati agli utenti e alle applicazioni analitiche;

3. Interpretazione e analisi dati: è il livello, ad elevato valore aggiunto, che presiede alla trasformazione dei dati in informazioni aventi valore strategico;

4. Presentazione dati: è il livello, a basso valore aggiunto, che presiede alla presentazione finale agli utenti delle informazioni e quindi delle risposte cercate.




I principali approcci per sviluppare un ambiente di DW sono:


L'approccio di DW centrale, creato usando dati dal sistema principale ed altre fonti, il quale può essere poi usato per creare/aggiornare DW dipartimentali o Data Mart locali. E’ possibile, dunque, iniziare con un DW semplice, ampliabile nel tempo per soddisfare utenti con richieste crescenti e diventare un ambiente che contenga sistemi di DW interconnessi.


L’approccio con Data Mart indipendenti ognuno memorizzato direttamente dal sistema centrale e altre fonti dei dati. La creazione di un solo Data Mart orientato a risolvere un particolare problema rappresenta una soluzione semplice. Poiché questo ambiente non contiene grandi volumi di data warehouse esso è più maneggevole. Nel caso si adotti una tale semplice soluzione il compito dell'amministratore sarebbe relativamente facile. Questo approccio, però, non si ferma di solito ad un Data Mart e, una volta che ne vengono aggiunti altri, la situazione diventa più complicata. Il compito di portare numerosi Data Mart separati in un solo ambiente di DW è estremamente difficile. Questa situazione si evita solamente se esiste un'architettura centralizzata di amministrazione dello sviluppo del sistema.


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

Esso si differenzia in modo sostanziale dai normali sistemi gestionali che, al contrario, hanno il compito di automatizzare le operazioni di routine.

Se il focus viene posto sulla capacità di supportare il processo decisionale, il data warehouse può essere costruito secondo modalità differenti, che possono andare da una logica completamente accentrata a una logica completamente distribuita.


Il data warehouse è un sistema OLAP (On-Line Analytical Processing) che differisce dai sistemi OLTP (On Line Transaction Processing), sebbene i dati provengano da questi ultimi. I sistemi OLAP sono sistemi orientati al soggetto, integrati, storici e permanenti. Non comprendono dati analitici e statici come i sistemi OLTP, inoltre i dati OLAP non sono adatti ad uso corrente, ma vengono usati per analisi.

Un DW è sempre diviso dal suo ambiente operativo. I dati del DW non vengono mai cambiati; sono memorizzati all'inizio e messi a disposizione, e non sono aggiornati come nei sistemi OLTP. Prima di essere memorizzati nel DW, i dati sono integrati seguendo diverse strategie. Infatti, la fonte dei dati per un DW è un sistema operativo, anche se la prima non è una pura copia del secondo: i dati in un sistema decisionale sono filtrati, classificati cronologicamente, sono aggiunti dei valori riassuntivi e sono cambiati prima di essere caricati nel data warehouse.

Nessun commento: