D2I
Integrazione, Warehousing e Mining di sorgenti eterogenee

Temi
Unità
Tema 2: Progettazione e interrogazione di Data Warehouse


Responsabile del tema di ricerca

Prof. Sergio Greco Dipartimento di Elettronica, Informatica e Sistemistica dell'Universita' degli Studi della Calabria
Tel: +39 - 0984 - 494751
Fax: +39 - 0984 - 494713

E-mail: greco@si.deis.unical.it
Home page: http://wwwinfo.deis.unical.it/info/personale/greco/greco.html


Unita' coinvolte nel tema
Univ. di Bologna
Univ. della Calabria

e-mail ai partecipanti al tema 2


Obiettivo del tema
Nella letteratura sono state proposte diverse architetture per data warehouse e varie metodologie di progettazione a queste associate. Le architetture possono essere classificate in architetture ad uno, due o tre livelli. In un'architettura dell'ultimo tipo, i tre livelli memorizzano i dati operazionali, riconciliati e derivati. Il livello dei dati riconciliati viene gestito tramite tecniche di integrazione, oggetto del tema 1. Nel contesto data warehouse, si pongono nuove e complesse problematiche relative sia alla progettazione che all'interrogazione dei dati. Obiettivo del tema è lo sviluppo di tecniche per la progettazione e l'interrogazione efficiente di data warehouse, con particolare riferimento al livello dei dati derivati, sia dal punto di vista logico che fisico. Ci si propone di definire tecniche efficaci per la materializzazione di viste in presenza di un carico di lavoro complesso, e per l'individuazione di un insieme ottimale di indici per l'accesso veloce ai dati. Il problema della interrogazione efficiente di data warehouse sarà affrontato principalmente come problema di riscrittura di interrogazioni su viste materializzate. I risultati che si intendono perseguire in questo contesto riguardano la definizione di tecniche di ottimizzazione, basate sulla struttura delle interrogazioni, che estendono metodi già esistenti in maniera da tenere conto delle specificità dell'ambiente data warehouse.


Fasi di lavoro

Fase 1 (durata 4 mesi - dal 1/12/2000 al 31/3/2001)
Le unità coinvolte svolgeranno un lavoro preliminare di analisi delle tematiche di interesse. In particolare, verra'condotta un'analisi approfondita della letteratura sulla progettazione logica e fisica di data warehouse. Per il livello logico si analizzeranno in modo critico le funzioni di costo proposte in letteratura, e si identificheranno le principali limitazioni degli approcci esistenti alla materializzazione di viste, focalizzando l'attenzione sulla determinazione di una classe generale di interrogazioni da usare come punto di partenza per mettere a punto tecniche di materializzazione più efficaci. Verranno poi studiati gli algoritmi di partizionamento proposti nell'ambito delle basi di dati operazionali e dei sistemi distribuiti. Per quanto riguarda la stima della cardinalità delle viste, si valuterà l'efficacia dei criteri di tipo statistico e si evidenzieranno ulteriori possibili criteri da adottare. Per il livello fisico, l'unità analizzerà i tipi di indici più diffusi sugli strumenti per il data warehousing: accanto ai B-tree, verranno considerati join index, star index, bitmap index e projection index. Per ciascun tipo di indice verrà elaborato un modello di costo da utilizzare durante la fase di progettazione fisica. Verranno infine analizzati i più diffusi algoritmi per la scelta degli indici in basi di dati di tipo operazionale. Per quanto riguarda l'interrogazione di data warehouse, dopo uno studio preliminare dello stato dell'arte sulle tecniche di interrogazione efficienti di basi di dati (query containment, query rewriting, ecc.), si procedera' alla individuazione delle specificità del contesto data warehouse in cui dovranno essere risolti i problemi di efficienza delle interrogazioni. Si tratterà essenzialmente di individuare i metodi di ottimizzazione esistenti più adatti ad essere estesi nel nuovo contesto applicativo.

Fase 2 (durata 8 mesi - dal 1/4/2001 al 30/11/2001)
Verra' affrontato dapprima il problema della progettazione logica di data warehouse. Verrà studiato il problema della materializzazione di viste sulla base di un carico di lavoro complesso che contempli la presenza contemporanea di più operatori di aggregazione all'interno delle interrogazioni, tenendo conto dell'utilizzo di misure derivate e di eventuali misure di supporto per realizzare la distributività degli operatori. Verrà poi analizzata l'utilità della frammentazione orizzontale e verticale delle viste materializzate, effettuata sulla base del carico di lavoro e tenendo conto di vincoli di spazio. Per entrambi i problemi dovranno essere definite funzioni di costo ad hoc, che ne permettano una formulazione come problemi di ottimizzazione. Per aumentare l'efficacia degli algoritmi proposti, verranno messi a punto metodi per la stima delle dimensioni delle viste candidate alla materializzazione tenendo conto degli specifici vincoli di cardinalità suggeriti dal dominio applicativo. Successivamente, si affronterà il problema della progettazione fisica utilizzando i modelli di costo messi a punto durante la prima fase. Il problema della scelta ottimale degli indici verrà affrontato delineando un insieme di criteri "di buon senso" da un lato, definendo algoritmi di tipo euristico dall'altro. Per quanto riguarda l'interrogazione di data warehouse, sulla base dei risultati dell'analisi condotta nella fase precedente, si svilupperanno tecniche innovative di interrogazione in ambiente data warehouse attraverso l'estensione di tecniche preesistenti concepite per basi di dati relazionali. L'idea di base è quella di sfruttare le proprietà strutturali delle interrogazioni e delle viste materializzate per ottenere un'esecuzione ottimizzata. A tal fine si propone di sfruttare la proprietà di aciclicità strutturale della query riscritta per guidare il "query rewriting", rendendo in tal modo efficiente la successiva verifica di "query containment". In altri termini, in presenza di più riscritture possibili, vengono preferite quelle che generano interrogazioni con limitata ciclicità. Le informazioni necessarie per l'ottimizzazione (in particolare quelle relative alla descrizione delle viste) saranno estratte dal Meta-Data Repository. Inoltre, le scelte effettuate saranno memorizzate nel Meta-Data Repository per successivi eventuali riutilizzi.

Fase 3 (durata 8 mesi - dal 1/12/2001 al 31/7/2002)
Le tecniche di progettazione definite durante la seconda fase verranno implementate in un prototipo. Il prototipo accetterà in ingresso uno schema concettuale di data mart, un carico di lavoro espresso nei termini individuati durante la prima fase, eventuali vincoli aggiuntivi propri del dominio applicativo (di spazio, di cardinalità, classi di indici disponibili, ecc.); effettuerà il progetto logico utilizzando gli algoritmi di materializzazione e frammentazione proposti nella seconda fase, producendo lo schema logico del data mart; effettuerà il progetto fisico utilizzando gli algoritmi di scelta degli indici proposti nella seconda fase, producendo infine lo schema fisico del data mart. Verranno generate in automatico le istruzioni SQL per la creazione delle tabelle necessarie, nonché per la creazione degli indici. Rispetto alla interrogazione di data warehouse, le tecniche prodotte nella seconda fase saranno implementate a livello prototipale. Il prototipo riceverà in input una interrogazione e, sulla base delle informazioni presenti nel Meta-data repository i meta-dati, produrrà un piano di esecuzione che tende a minimizzare la materializzazione dei predicati coivolti.

Fase 4 (durata 4 mesi - dal 1/8/2002 al 30/11/2002)
Le tecniche di progettazione logica e fisica saranno sperimentate utilizzando i più diffusi strumenti di data warehousing, sulla base di benchmark di varia natura. Verranno validati sperimentalmente i modelli di costo degli indici elaborati durante la prima fase. Infine, verrà effettuata una valutazione comparativa dei benefici della materializzazione, della frammentazione e dell'indicizzazione. Il prototipo per l'interrogazione di data warehouse sarà validato utilizzando dati significativi dal punto di vista quantitativo in maniera tale da poter verificare l'effettiva bontà degli algoritmi implementati.

 
 
 
Sito a cura di Domenico Lembo
lembo@dis.uniroma1.it