Lezione 5 Alimentazione dei Data Warehouses Riconciliazione e Integrazione di Schemi di Dati per il Data Warehousing 16/05/2011 1
Alimentazione di un DW Sorgenti operazionali Estrazione Pulizia Staging Area Trasformazione Caricamento DB Riconciliato 16/05/2011 2
Analisi delle fonti Estrazione I dati da inserire nel DW provengono tipicamente da più sorgenti Eterogenee per tecnologia: DBMS, fogli elettronici, file system, Eterogenee per modello: modello relazionale, flat file, Eterogenee per semantica 16/05/2011 3
Analisi delle fonti Estrazione I dati da inserire nel DW provengono tipicamente da più sorgenti Possono essere correlate oppure indipendenti Possono descrivere domini disgiunti o sovrapposti 16/05/2011 4
Alimentazione del DW Il prodotto finale è il livello riconciliato, che sarà consistente e privo di errori 16/05/2011 5
Alimentazione di un DW Estrazione Progettazione Identificazione delle sorgenti di dati Identificazione delle destinazioni dei dati Creazione dei mapping da sorgenti a target Definizione del modo di replicazione (refresh/update) Schedulazione del processo di data replication Esecuzione Cattura dei dati identificati dalle sorgenti Trasferimento dei dati catturati alla destinazione Trasformazione dei dati sulla base dei mapping definiti Memorizzazione dei dati trasformati sul target Registrazione del processo di replica nei metadati 16/05/2011 6
Alimentazione di un DW Identificazione delle sorgenti di dati le applicazioni di data warehousing tipicamente insistono su dati pre-esistenti; di conseguenza, è necessario prelevarne la definizione come passo preliminare ad ogni operazione di duplicazione dei dati Identificazione delle destinazioni dei dati È necessario identificare le parti del livello riconciliato che i dati andranno a popolare 16/05/2011 7
Alimentazione di un DW Creazione dei mapping da sorgenti a target in questa fase vengono definite le trasformazioni da eseguire sui dati sorgente al fine di ottenere i dati target; Definizione del modo di replicazione (refresh/update) la modalità di refresh consiste in una copia completa dei dati dalle sorgenti ai target; la modalità update, viceversa, consiste nel trasferire ogni volta solo i dati che abbiano subito modifiche dall ultima replicazione eseguita; 16/05/2011 8
Alimentazione di un DW Schedulazione del processo di data replication: in questa fase vengono decisi i tempi ed i modi di schedulazione del processo di copia; 16/05/2011 9
Alimentazione di un DW Cattura dei dati identificati dalle sorgenti è il primo passo dell effettivo processo di replicazione dati; può essere diversamente caratterizzato 16/05/2011 10
Alimentazione di un DW Trasferimento dei dati catturati alla destinazione in questa fase bisogna tenere in conto le eterogeneità di varia natura che potrebbero caratterizzare sistemi sorgente e sistemi target (sia sul lato Hw che su quello Sw) Trasformazione dei dati sulla base dei mapping definiti questa fase non precede necessariamente il trasferimento, potendo aver luogo sia sulle sorgenti sia sulle destinazioni sia essere distribuita su entrambe; le trasformazioni subite dai dati possono essere le più varie 16/05/2011 11
Alimentazione di un DW Memorizzazione dei dati trasformati sul target (append/replace) i dati trasformati vengono memorizzati nel formato definitivo; questa memorizzazione può aver luogo per aggiunta o per sostituzione dei dati già presenti sul sistema target Commit/abort del processo il processo di replicazione può avere buon fine o meno, ed è gestito, in questa accezione, come una transazione ordinaria Registrazione del processo di replica nei metadati dopo che la replica dei dati ha avuto luogo, è necessario riallineare i relativi metadati 16/05/2011 12
Alimentazione di un DW Modifica, ove necessario, delle definizioni di sorgenti, target e mapping la definizione del processo di data replication viene di tanto in tanto rivisto per tenere conto di cambiamenti dei sistemi sorgenti, dei sistemi target o di altra natura (va tenuto presente che la vita di un sistema di warehousing è, tipicamente, abbastanza lunga) 16/05/2011 13
Riconciliazione Integrazione: Componente intensionale delle sorgenti (schemi) Pulizia e trasformazione: Componente estensionale delle sorgenti (dati) 16/05/2011 14
Fasi della Riconciliazione Schemi sorgenti operazionali Schema riconciliato Mapping sorgenti operazionali Analisi e riconciliazione Metadati Campioni dei dati Progettazione Del Cleaning Schema riconciliato Mapping sorgenti operazionali Progettazione della trasformazione Procedure per strumenti ETL Strumenti ETL 16/05/2011 15
Fase di Analisi e Riconciliazione Sorgente 1 Sorgente 2 Schemi sorgenti operazionali Schema riconciliato Mapping sorgenti operazionali Analisi e riconciliazione Schema logico (locale) Ricognizione e Normalizzazione Schema concettuale (locale) trasformato Schema concettuale (globale) riconciliato Integrazione degli schemi Schema logico (locale) Ricognizione e Normalizzazione Schema concettuale (locale) trasformato Schema concettuale (globale) riconciliato Schema logico (globale) riconciliato e corrispondenze Definizione corrispondenza con le sorgenti 16/05/2011 16
Fase di Analisi e Riconciliazione Schema logico (locale) Ricognizione e Normalizzazione Schema concettuale (locale) trasformato Caso più complesso in cui è noto il solo modello logico Ricognizione: Esame approfondito degli schemi locali mirato alla comprensione del dominio applicativo Normalizzazione: Correzione degli schemi locali per modellare accuratamente il dominio applicativo 16/05/2011 17
Fase di Analisi e Riconciliazione Schema logico (locale) Ricognizione e Normalizzazione Schema concettuale (locale) trasformato Questa fase deve essere eseguita anche in presenza di una sola sorgente In caso multi-sorgente deve essere eseguita separatamente per ogni sorgente Non fa parte formalmente del processo di integrazione 16/05/2011 18
Riconciliazione e Normalizzazione Schema logico (locale) Ricognizione e Normalizzazione Schema concettuale (locale) trasformato Confronto tra il progettista e gli esperti del dominio per individuare correlazioni tra i dati Non si inseriscono nuovi concetti ma si rendono espliciti quelli ricavabili (per es. si definiscono nuove dipendenze funzionali) In questa fase si individuano anche porzioni non utili al data mart di interesse 16/05/2011 19
Integrazione Schema concettuale (locale) trasformato Integrazione degli schemi Schema concettuale (globale) riconciliato Schema concettuale (locale) trasformato Nasce dalla presenza di fonti di dati che modellano porzioni non distinte e non indipendenti del mondo reale Passi: Individuazione delle corrispondenze tra i concetti Risoluzione dei conflitti Creazione del mapping tra schemi locali e schema globale 16/05/2011 20
Integrazione Principali problemi dell integrazione: Diversità di prospettiva Utenti diversi hanno punti di vista diversi dello stesso concetto, in base alla loro funzione Dipendente (0,1) partecipa (1,n) (1,1) (1,n) Progetto appartiene a a Dipartimento Dipendente (0,1) assegnato (1,n) a Dipartimento 16/05/2011 21
Integrazione Principali problemi dell integrazione: Equivalenza dei costrutti Stesso concetto rappresentato utilizzando combinazioni diverse dei costrutti a disposizione ISBN titolo Libro (1,1) edito (1,n) da nome indirizzo Casa Editrice ISBN casa titolo editrice Libro indirizzo casa editrice 16/05/2011 22
Integrazione Principali problemi dell integrazione: Incompatibilità delle specifiche Modelli della stessa porzione del dominio, racchiudono concetti diversi, in contrasto tra loro Spesso derivano da scelte progettuali errate Errata scelta dei nomi Errata definizione dei tipi di dato Errata definizione dei vincoli di integrità 16/05/2011 23
Integrazione Principali problemi dell integrazione: Incompatibilità delle specifiche Conflitto: in accordo al primo modello un professore può tenere al più un corso, in accordo al secondo deve tenerne almeno 2 Professore (0,1) insegna (1,1) Corso Professore (2,n) insegna (1,1) Corso 16/05/2011 24
Integrazione Principali problemi dell integrazione: Incompatibilità delle specifiche Altra sorgente di questo tipo di incompatibilità è l evoluzione nel tempo. Assunzioni valide in passato possono non essere più vere 16/05/2011 25
Integrazione Principali problemi dell integrazione: Concetti Comuni È necessario definire il tipo di relazione semantica tra concetti comuni modellati diversamente in schemi distinti Date due rappresentazioni, R1 e R2, di uno stesso concetto, sono possibili 4 relazioni: Identità Equivalenza Comparabilità Incomparabilità 16/05/2011 26
Integrazione Principali problemi dell integrazione: Concetti Comuni Identità: R1 e R2 coincidono, vengono utilizzati gli stessi costrutti senza errori (di specifica) Equivalenza: R1 e R2 sono rappresentati mediante costrutti diversi ma equivalenti e non sussistono errori (di percezione o di specifica) 16/05/2011 27
Integrazione Principali problemi dell integrazione: Concetti Comuni Equivalenza: esempio ISBN titolo Libro (1,1) edito (1,n) da nome indirizzo Casa Editrice ISBN casa titolo editrice Libro indirizzo casa editrice 16/05/2011 28
Integrazione Principali problemi dell integrazione: Concetti Comuni Comparabilità: R1 e R2 non sono identici né incompatibili, ma i modelli utilizzati non sono in contrasto tra loro Dipendente (0,1) partecipa (1,n) (1,1) (1,n) Progetto appartiene a a Dipartimento Dipendente (0,1) assegnato (1,n) a Dipartimento 16/05/2011 29
Integrazione Principali problemi dell integrazione: Concetti Comuni Incomparabilità: R1 e R2 sono in contrasto tra loro a causa dell incompatibilità delle specifiche La realtà modellata da R1 nega la realtà modellata da R2 Professore (0,1) insegna (1,1) Corso Professore (2,n) insegna (1,1) Corso 16/05/2011 30
Integrazione Principali problemi dell integrazione: Concetti Comuni Equivalenza Comparabilità CONFLITTO Incomparabilità 16/05/2011 31
Integrazione Principali problemi dell integrazione: Concetti Correlati titolo ISBN titolo ISBN A seguito dell integrazione concetti diversi ma correlati rientrano nello stesso schema, generando nuove relazioni Libro Libro (1,1) edito (1,n) da (1,n) scritto da (1,n) Casa Editrice Autore (1,n) lavora per (1,n) nome indirizzo nome indirizzo 16/05/2011 32
Fasi dell integrazione Per risolvere i problemi relativi all integrazione è richiesto un insieme di operazioni molto complesse. La metodologia proposta si basa su 4 fasi [Batini, 1986] Preintegrazione Comparazione degli schemi Allineamento degli schemi Fusione e ristrutturazione degli schemi 16/05/2011 33
Fasi dell integrazione Preintegrazione Analisi delle sorgenti Scelta delle porzioni di dati da integrare Strategia di integrazione Tecniche ennarie: processo di integrazione coinvolge più di due schemi contemporaneamente Tecniche binarie: il processo di integrazione considera solo coppie di schemi Dette anche a scala, i nuovi schemi vengono integrati al globale corrente 16/05/2011 34
Fasi dell integrazione Preintegrazione Tecniche ennarie: Ogni concetto viene analizzato una volta sola Ogni concetto viene analizzato avendo tutte le informazioni che lo caratterizzano Tecniche binarie: Integrazione più semplice grazie al ridotto numero di concetti coinvolti 16/05/2011 35
Fasi dell integrazione Preintegrazione: Strategie Processo di integrazione Binario Ennario A scala Bilanciato A un passo Iterativo 16/05/2011 36
Fasi dell integrazione Preintegrazione: strategie La scelta della strategia dipende dalla complessità e dal numero degli schemi Ennarie: vantaggiose quando la complessità del problema è limitata 16/05/2011 37
Fasi dell integrazione Preintegrazione Tecniche binarie a scala: Si inizia dalle sorgenti che costituiscono il cuore del Sistema Informativo e la loro integrazione sarà lo scheletro del Schema Riconciliato Nell integrare gli schemi successivi si favorisce lo schema parziale riconciliato che più si conforma agli schemi sorgenti più importanti 16/05/2011 38
Fasi dell integrazione Comparazione degli schemi Identificazione di correlazioni e conflitti tra i concetti Conoscenza approfondita delle fonti Collaborazione con gli amministratori delle fonti 16/05/2011 39
Fasi dell integrazione Comparazione degli schemi: conflitti Conflitti sui nomi Omonimie: stesso termine utilizzato per concetti diversi Dipartimento (0,n) (1,1) possiede Attrezzatura Laboratorio (0,n) (1,1) contiene Attrezzatura 16/05/2011 40
Fasi dell integrazione Comparazione degli schemi: conflitti Conflitti sui nomi Sinonimie: termini diversi per denotare uno stesso concetto Cliente (0,n) (1,1) detiene Credito Acquirente (0,n) (1,1) fa Ordine 16/05/2011 41
Fasi dell integrazione Comparazione degli schemi: conflitti Conflitti semantici Uno stesso concetto è rappresentato a diversi livelli di dettaglio Edificio (1,n) (1,1) contiene Appartamento Edificio (1,n) formato (1,1) da Piano (1,n) (1,1) composto da Appartamento 16/05/2011 42
Fasi dell integrazione Comparazione degli schemi: conflitti Conflitti strutturali Scelte diverse di modellazione di uno stesso concetto Differenti vincoli di integrità Conflitti di tipo: stesso concetto modellato con costrutti diversi Conflitti di dipendenza: dipendenze diverse tra gli stessi concetti Conflitti di chiave: chiavi diverse Conflitti di comportamento: diverse politiche di cancellazione/modifica 16/05/2011 43
Fasi dell integrazione Allineamento degli schemi Risoluzione dei conflitti Applicazione di trasformazione allo schema sorgente o allo schema riconciliato corrente Cambio di nomi Cambio di tipo Modifica dipendenze Modifica vincoli Definizione del mapping 16/05/2011 44
Fasi dell integrazione Fusione e ristrutturazione degli schemi Gli schemi allineati vengono fusi Nuove trasformazioni sono necessarie per migliorare lo schema riconciliato Completezza: nuove dipendenze risulteranno visibili Minimalità: eliminare le ridondanze tra i concetti Leggibilità: migliorare l organizzazione generale 16/05/2011 45
Definizione delle corrispondenze Schema concettuale (globale) riconciliato Definizione corrispondenza con le sorgenti Schema logico (globale) riconciliato e corrispondenze GAV (Global-As-View) lo schema globale è espresso in termini degli schemi sorgente A ogni concetto dello schema globale è associata una vista sugli schemi sorgente Facili interrogazioni ETL per il caricamento L inserimento di una nuova sorgente implica la modifica della definizione dei concetti 16/05/2011 46
Definizione delle corrispondenze Schema concettuale (globale) riconciliato Definizione corrispondenza con le sorgenti Schema logico (globale) riconciliato e corrispondenze LAV (Local-As-View) Schema globale definito indipendentemente dalle sorgenti Schemi locali associati a viste sullo schema globale Traformazioni ETL più complesse per capire i concetti degli schemi sorgente coinvolti (query rewriting) Facile estensione e manutenzione L aggiunta di una sorgente implica solo la definizione della vista associata 16/05/2011 47