UNIVERSITA’ DEGLI STUDI DI MODENA
E REGGIO EMILIA
Facoltà di Ingegneria – Sede di Modena
Corso di Laurea in Ingegneria Informatica
A BENCHMARKING ENVIRONMENT
FOR VALIDATING
A DATA WAREHOUSE MAINTENANCE COST-MODEL
AMBIENTE DI BENCHMARKING
PER LA VALIDAZIONE DI UN MODELLO DI COSTO
RELATIVO A POLITICHE DI MANUTENZIONE DI UN DATA WAREHOUSE
Relatore:
Chiar.ma Prof.ssa Bergamaschi Sonia
Correlatore:
Chiar.mo Prof. Bonfatti Flavio
Tesi di Laurea di:
Gelati Gionata
Obiettivo della tesi
Sviluppo di una applicazione software per verificare la correttezza
di un modello di costo in ambito Data Warehouse
si è fatto riferimento al modello di costo pubblicato
da Engström et al.
la Tesi è stata svolta presso l’Università di Exeter (UK)
e l’Università di Skövde (Svezia)
Percorso
Il problema affrontato
Gli elementi più significativi del modello di costo
Applicazione software
Esempi di risultati sperimentali
Data Warehouse
Database
Sorgente DB1
Database
Sorgente DB2
..
Database Sorgente
DBN
Data Warehouse
Il sistema considerato nel modello di costo
Database sorgente
Tabella
Dati
Data Warehouse
Vista
Delta
Update
Utenti
Query
Utenti
Il problema affrontato
nel Modello di costo
nella Tesi
Validazione
Sperimentale:
corrispondenza tra
il comportamento
di un sistema reale
e le predizioni del
modello
Specifiche sulla
qualità del servizio
Update
Politiche di
manutenzione
Processo di
selezione
basato
su criteri
di valutazione
Caratteristiche del sistema
Una politica
Sistema reale
+
Strumenti per
eseguire
esperimenti
Il modello di costo (1)
CHAW
(change
aware)
CHAC
(change
active)
DAW
(delta
aware)
La capacità di dire su richiesta
quando l’ultimo cambiamento è
stato effettuato
La capacità di rilevare e
riportare automaticamente che
cambiamenti
sono
stati
effettuati
La capacità di propagare i delta
change
(su
richiesta
o
automaticamente)
Caratterizzazione delle proprietà della sorgente
Il modello di costo (2) - Nuova metrica (qualitativa e quantitativa)
Istante in cui la query è
posta
Risposta basata sullo
stato 1 di S1 e 3 di S2
t
Z
DW
t
S1
0
1
t
S2
0
1
2
3
Misura staleness (Z)
Database
sorgente
Tempo di
esecuzione
Tempo di comunicazione
Data
Warehouse
Tempo di
esecuzione
Misure tradizionali (esecuzione e comunicazione)
Applicazione software – Criteri guida
Per il linguaggio: portabilità, gestione della concorrenza,
gestione connessioni a database;
Per l’architettura funzionale: chiara separazione tra le classi
che modellano il sistema e le classi che si occupano di
controllare e misurare lo stesso;
Per i benchmark: rilevanza delle grandezze osservate,
scalabilità,
chiarezza
nell’esporre
le
caratteristiche
dell’implementazione e nel presentare i risultati.
Applicazione software - Architettura
Saccess
Interbase
ACCESS
Database sorgente
Supdater
thread
Wquerier
thread
Emulazione del carico
Row
Table
Nuovi tipi di dato
Director
Waccess
Wrapper
thread
Configuration
Data generator
Gui
Data warehouse
Controllo e misurazione
Entità del sistema
Classi di benchmark
Applicazione software – Implementazione (1)
Caratteristiche della sorgente
Tabella
Database
Sorgente
sorgente
Aggiornamenti
Supdater
Wrapper
Numero
dell’ultimo
update inviato
al DW
Tabella
Trigger
DAW
Update
Insert
Delete
Se
DAW
Se non
DAW
confronto
Waccess
Numero dell’ultimo
update della sorgente che
ha subito il commit
Le proprietà CHAC e CHAW
Wrapper
La proprietà DAW
Applicazione software – Implementazione (2)
Emulazione del carico di lavoro
Caratterizzazione degli update
Basata sull’analisi di Adelberg / Garcia-Molina:
Update parziali
Frequenza aperiodica
Esecuzione immediata
Distribuzione di Poisson
Applicazione software – Implementazione (3)
Emulazione del carico di lavoro
Esplorazione di nuovi algoritmi per produrre
il flusso di update
Pre- scheduling
Pro: flusso di update
pronto all’inizio di un
esperimento
Contro: numero di
update comunque
limitato
Run-time
Pro: flusso illimitato
Contro: attenzione ai
ritardi introdotti
Vincente:
Algoritmo del Guide Attribute a run-time
Validazione e Verifica
Validazione:
garantita dal modello di costo considerato
Verifica:
svolta mediante controllo dei protocolli e
del comportamento sotto carico
Verifica (1)
I protocolli
Here's Config
Here's the Sync.Init ok!
Here's WAccess
Here's Wquerier
Here's DBAccess
Here's SAccess
jdbc:interbase://vale.ida.his.se//db/chaffinch.gdb
Here's Wrapper
Here's SUpdater
The SUpdate has been correctly set up
Here's Datagenerator
The Datagenerator has been correctly settup
Delete successful!
Here's MeasuresComputing
Here's Monitor
DAWTriggers Enabled
Delete successful!
SAccess: DAWdeleted
Source Setup ok
Datagenerator:Table initialised!
Initializing policy
Source: sending the table in order of key for computing deltas
Source: sending the table...
Warehouse: view recomputed
SAccess: DAWdeleted
Wrapper: initialisation successfully completed!
Sync: Starting new thread for Wrapper
Sync: Starting new thread for Source Updater
SUpdater: thread effectevely started
Sync: Supdater started....
Sync: Starting new thread for Warehouse Querier
Metodo:
introduzione di
output di sistema
un
appropriato
Utilità:
1) Controllare la corretta sequenza
di operazioni nell’eseguire le
politiche di manutenzione
2) Verificare la effettiva
indipendenza tra i processi
concorrenti
Verifica (2)
Comportamento sotto carico
Metodo:
creazione di applicazioni esterne di
supporto per il monitoraggio della
dinamica del sistema
Utilità:
1) Osservare la evoluzione del
sistema nel tempo
2) Controllare le proprietà
statistiche degli algoritmi
(es: dimensione della tabella
sorgente e distribuzione dei
valori dei GA)
Benchmark
Ambiente di esecuzione
Piattaforma: Sun Ultra 5, Solaris 8, 128 MB, Interbase 6.0, Java
1.2, Codice bytecode 77 Kb
Tuning dei parametri di basso livello del sistema operativo e del
Dbms
Ispezione della qualità dei risultati: si scartano i risultati ottenuti
da esperimenti che non soddisfano i criteri di integrità definiti
(es: overlapping update, overlapping query)
Benchmark
Esempi (1)
P1 vs P2
Z (sec)
Legenda
180
160
140
120
100
80
60
40
20
0
P1: Modifica
Incrementale con DAW
(violetto)
0
0,01
0,02
0,03
0,04
polling frequency (1/sec)
0,05
0,06
P2: Modifica totale (blu)
Staleness al variare della frequenza di polling in caso di
aggiornamenti periodici del data warehouse. Le due politiche
offrono prestazioni sempre più simili al diminuire della frequenza
di aggiornamento del DW.
Benchmark
Esempi (2)
P1 vs P2
160
140
IC (sec)
120
100
80
60
40
20
0
0
0,02
0,04
0,06
0,08
0,1
0,12
polling frequency (1/sec)
Risultati sperimentali
( P1 blu, P2 violetto)
Predizioni del modello di costo
(P1 nero, P2 verde)
Costo integrato (esecuzione e comunicazione) al variare della
frequenza di polling. L’evidenza sperimentale è in pieno accordo
con le predizioni del modello anche in caso di configurazioni dei
parametri estreme.
CONCLUSIONI
L’applicazione implementa tutti gli aspetti del modello di
costo
Ha superato tutti i test di verifica
Gli esempi di benchmark hanno permesso di:
1) fornire conferma di taluni comportamenti del modello;
2) migliorare la nostra conoscenza sul suo comportamento;
3) evidenziare possibili punti di discussione per affinare il
modello;
Sviluppi futuri
Caso distribuito (Java RMI)
Estensione al caso multisorgente
Considerazione di sorgenti non-relazionali (XML)
Scarica

- DBGroup