Basi di dati distribuite
Prof. M.T. PAZIENZA
a.a. 2003-2004
DATA WAREHOUSING
Data Warehousing
Il Data Warehousing è costituito dalla
copia di una collezione di dati:
• che viene localizzata in un sito
• su cui si opera lasciando inalterata la
collezione originale dei dati.
Data Warehousing
Il Data Warehousing può essere considerato come
una istanza speciale di duplicazione asincrona
dei dati in cui
• la copia viene aggiornata non frequentemente
• i dati originali possono essere gestiti da un
DBMS diverso su un sistema operativo diverso
• i dati originali appartengono in genere a
proprietari diversi
Data Warehousing
Il problema fondamentale del Data
Warehousing è quello connesso al
mantenimento della coerenza e
correttezza delle informazioni nella
warehouse (tabelle o viste duplicate) al
variare delle informazioni di partenza.
DSS - Decision Support Systems
Applicazioni che analizzano dati storici
ed attuali per identificare trends,
creare sommari, a fronte di un’analisi
complessa dei dati provenienti anche
da collezioni diverse di dati o da loro
viste
OLAP - Online Analytic Processing
OLAP si applicano a DBMS relazionali per
gestire classi di query ad hoc (complesse) che:
• involvono operatori di aggregazione e group-by
• gestiscono agevolmente operazioni booleane
anche complesse
• offrono funzioni di tipo statistico
• permettono di realizzare analisi temporali
• si applicano a dati multidimensionali
Data Warehouse
I sistemi di Data Warehousing contengono
dati ormai stabilizzati provenienti da molte
sorgenti, arricchiti da informazioni di sintesi
e relative a lunghi periodi di tempo.
Hanno dimensioni di gran lunga maggiori
delle normali basi di dati.
I tempi di risposta sono ridotte grazie alla
ottimizzazione dei processi di elaborazione.
Data Warehouse
I DDBMS a base di sistemi di Data
Warehousing, gestendo dati provenienti
da molte sorgenti di tipo diverso, e
dovendo offrire informazioni in tempi
rapidi ed in maniera affidabile,
memorizzano tabelle (metadati) in più di
un sito e gestiscono schemi complessi.
Data Warehouse
Problemi:
Possibili inconsistenze semantiche tra i
diversi db (diverse unità di misura, diversi
nomi per attributi uguali, differenze nella
normalizzazione e strutturazione delle
tabelle) in fase di creazione e di
aggiornamento nel tempo
Schema complesso e di grandi dimensioni
difficile da gestire e mantenere consistente
con le modifiche nelle sorgenti esterne
Data Warehouse
In fase di creazione ed aggiornamento i dati
sono:
Estratti dai db e da altre sorgenti
Filtrati per minimizzare gli errori ed aggiungere
informazioni, ove richiesto dallo schema ddb
Trasformati per superare eventuali
inconsistenze semantiche
Memorizzati all’interno di viste specifiche (che
sono diverse da quelle da cui provengono i
dati)
Data Warehouse
Ulteriori operazioni iniziali per migliorare la
velocità e l’efficienza del sistema:
Partizionamento
Indicizzazione
Eliminazione periodica di dati obsoleti
Definizione di viste (anche alternative)
…..
Data Warehouse
Ulteriori operazioni iniziali:
Sorting
Generazione di sommari
Produzione di dati aggregati
Analisi statistiche
….
Data Warehouse
Il valore di un sistema di data warehousing
risiede nella varietà e ricchezza delle
analisi articolate che permette di
realizzare su dati disparati
Supporto per i sistemi decisionali
Data Warehouse ed OLAP
Necessari diverse insiemi di aggregazioni di
query (viste) per rispondere velocemente a
domande su collezioni molto grandi (più
terabyte) di dati in tempi rapidissimi
Le viste vengono pre-elaborate e si
memorizzano i risultati: quando il DW
viene interrogato, la query viene eseguita
direttamente sui risultati precalcolti (view
materialization)
View materialization
Quali viste materializzare e quali indici
devono essere definiti a supporto di tali
materializzazioni?
Dipende dal carico atteso o dalla rilevanza
delle query attese.
Necessità di mantenere aggiornate e
consistenti (refresh) le viste materializzate
(cosa aggiornare, quando aggiornare)
Costi del refresh
View materialization
Politica di aggiornamento delle viste:
immediata / differita
Costi e prestazioni diverse
Data Warehouse ed OLAP
Esempi di funzioni aggregate (oltre le standard
SUM, AVG)che operano su liste di valori:
RANK: restituisce la posizione di
una riga all’interno di una partizione che può
avere righe multiple con lo stesso rank
DENSE-RANK: genera rank senza gap tra righe
PERCENT-RANK: fornisce la misura di di una
posizione relativa di una riga all’interno di una
partizione
Data Warehouse
E’ una collezione di
• Tabelle (dati) duplicate asincronamente
• Viste sincronizzate asincronamente
Caratterizzata da
• Una dimensione di dati considerevole
• Un elevato numero di tabelle coinvolte
• Una connessione logica con bdd
indipendenti