La mia Tesi: Gestione del versioning in sistemi di data warehouse

Questa pagina contiene le informazioni relative alla mia tesi di laurea, discussa il 21/7/2005 a Cesena.

Files:
testo-definitivotar
testo della tesi

ALMA MATER STUDIORUM – UNIVERSITÀ DI BOLOGNA
SEDE DI CESENA
FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI
CORSO DI LAUREA IN SCIENZE DELL’INFORMAZIONE

Tesi di Laurea in Sistemi Informativi
Relatore
Chiar.mo Prof. Matteo Golfarelli

Presentata da
Alessandro Ronchi

Sessione I
Anno Accademico 2004/05

Introduzione
“L’inizio è la parte più importante di un lavoro.”
(Platone)

I data warehouse sono database specializzati per l’uso nel campo della business intelligence, finalizzati al supporto delle decisioni in ambito aziendale.

L’uso di sistemi di data warehouse è aumentato rapidamente all’interno del mondo industriale nell’ultimo decennio, e questo successo è dovuto essenzialmente al contributo che hanno saputo apportare all’efficienza ed all’efficacia dei processi decisionali all’interno del dominio aziendale e scientifico. Questa ampia diffusione è stata sostenuta dagli importanti risultati della ricerca in questo campo, volti ad incrementare le performance delle interrogazioni e la qualità dei dati, così come dal rapido sviluppo dei tool commerciali.

A differenza di quanto accade nei database operazionali, nei data warehouse i problemi che riguardano la storicizzazione delle informazioni hanno un impatto maggiore, dato che le interrogazioni coinvolgono periodi di tempo solitamente più lunghi. Diventa comune, infatti, il caso in cui venga richiesto di lavorare su insiemi di dati che corrispondono a lunghi intervalli di tempo, corrispondenti a definizioni intensionali potenzialmente disomogenee, progettate per soddisfare esigenze diverse. Il problema emerge ovviamente all’aumentare del tempo di vita del sistema, dato che le evoluzioni necessarie che non sono state gestite determineranno inevitabilmente un distacco maggiore tra la realtà e la sua rappresentazione all’interno del database, con il rischio che questo diventi presto obsoleto ed inutilizzabile.

Fino ad ora la ricerca si è interessata principalmente ai cambiamenti del livello dei dati, prendendo in considerazione quindi le modifiche alle istanze delle gerarchie di aggregazione. Alcuni prodotti commerciali permettono effettivamente di gestire e tenere traccia dei cambiamenti dei dati e di supportare interrogazioni dei cubi basati su scenari temporali differenti.

A livello intensionale il problema è più complesso, poiché lo schema del data warehouse può cambiare per gestire l’evoluzione dei requisiti aziendali. Possono quindi rendersi necessarie nuove misure e proprietà, mentre altre possono con il tempo risultare obsolete ed inutili. Si può considerare come esempio il caso in cui si aggiunga un livello di dettaglio nella descrizione delle categorie dei prodotti, aggiungendo una sotto-categoria: lo schema di riferimento dovrà mutare per tenere in considerazione questa nuova necessità.

Le soluzioni possibili per questo problema possono essere suddivise in due categorie distinte: l’evoluzione ed il versioning degli schemi. La prima permette di modificare lo schema in base ai cambiamenti necessari, perdendo le definizioni precedenti, mentre la seconda permette di tenere traccia delle modifiche ed utilizzare le diverse definizioni in base al contesto della formulazione delle interrogazioni. Il versioning a livello degli schemi nei data warehouse fino a questo momento è stato solo parzialmente esplorato e non esistono sistemi commerciali di supporto al progettista che permettano di gestire i cambiamenti dei modelli.

Lo scopo di questa tesi è quello di analizzare il problema temporale nei data warehouse, di presentare un approccio per la gestione del versioning e di realizzare un prototipo di sistema per la modellazione degli schemi e la gestione delle versioni. Questo prototipo dovrà supportare la gestione delle history degli schemi concettuali ed il backporting assistito delle nuove modifiche alla versione corrente negli schemi aumentati delle versioni precedenti. In questo modo sarà quindi possibile evitare l’obsolescenza degli schemi concettuali, garantire una minore distanza tra i modelli e la realtà modellata, ed allo stesso tempo rendere disponibili i vecchi dati per le interrogazioni inter-schema che coinvolgono versioni temporali diverse della history degli schemi.

L’organizzazione di questo lavoro di tesi prevede una introduzione dello stato dell’arte delle basi di dati temporali, analizzato all’interno del secondo capitolo, ed un successivo approfondimento delle peculiarità del problema del tempo all’interno dei data warehouse, contenuto nel terzo capitolo. Nel quarto capitolo viene introdotto un approccio per la risoluzione del problema, mentre nel quinto viene mostrato il lavoro di progettazione del prototipo di gestione del versioning.

La mia Tesi: Gestione del versioning in sistemi di data warehouse
Torna su