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.