10/7/2015 Datawarehouse 1. Introduzione 1.1 Caratteristiche del Data Warehouse Per le slides si ringrazia il Prof. Stefano Rizzi (http://www-db.deis.unibo.it/~srizzi/) e il Dott. Angelo Sironi 1 10/7/2015 Uno scenario tipico... • .. è quello di una grande azienda, con numerose filiali, i cui dirigenti desiderano quantificare e valutare il contributo dato da ciascuna di esse al rendimento commerciale globale dell’impresa. 3 Uno scenario tipico... • .. è quello di una grande azienda, con numerose filiali, i cui dirigenti desiderano quantificare e valutare il contributo dato da ciascuna di esse al rendimento commerciale globale dell’impresa. un raccoglitore di informazioni che integra e riorganizza i dati provenienti da sorgenti di varia natura e li rende disponibili per analisi e valutazioni finalizzate alla pianificazione e al processo decisionale DATA WAREHOUSE 4 2 10/7/2015 Data Warehousing: • Una collezione di metodi, tecnologie e strumenti di ausilio al knowledge worker (dirigente, amministratore, gestore, analista) per condurre analisi dei dati finalizzate all’attuazione di processi decisionali e al miglioramento del patrimonio informativo. 5 Le lamentele abbiamo montagne di dati ma non possiamo accedervi! come è possibile che persone che svolgono lo stesso ruolo presentino risultati sostanzialmente diversi? vogliamo selezionare, raggruppare e manipolare i dati in ogni modo possibile! mostratemi solo ciò che è importante! tutti sanno che alcuni dati non sono corretti! R. Kimball, The Data Warehouse Toolkit 6 3 10/7/2015 Il Data Warehouse • Al centro del processo, il data warehouse è un contenitore di dati che si fa garante dei requisiti esposti. Un Data Warehouse è una collezione di dati a supporto del processo decisionale, che presenta le seguenti caratteristiche: – – – – è orientata ai temi di interesse; è integrata e coerente; è rappresentativa dell’evoluzione temporale; è non volatile. 7 ...orientato ai temi di interesse del assistiti business calcolo ticket prenotazioni medici di base regioni refertazione gestione ricoveri L’accento è sulle applicazioni e sui processi L’accento è sugli oggetti / i temi di interesse per il business 8 4 10/7/2015 ...orientato ai temi di interesse del business Sistema di Produzione Data Warehouse Auto Clienti Vita Polizze Sanità Premi Viaggi Denunce 9 Cfr. Bibl. [1] ...integrato e coerente Il DW si appoggia a più fonti di dati eterogenee: dati estratti dall’ambiente di produzione, e quindi originariamente archiviati in basi di dati aziendali, o addirittura provenienti da sistemi informativi esterni all’azienda. Di tutti questi dati il DW restituisce una visione unificata. Dati operazionali ed esterni Pulitura Estrazione Validazione Trasformazione Filtraggio Data Warehouse Caricamento 10 5 10/7/2015 ...rappresentativo dell’evoluzione temporale DB operazionali DW Contenuto storico limitato, spesso il tempo non è parte delle chiavi, i dati sono soggetti ad aggiornamenti Ricco contenuto storico, il tempo è parte delle chiavi, una fotografia del dato a un certo istante di tempo non può essere aggiornata 11 ...non volatile DB operazionale update load insert delete DW access Grandi volumi di dati: da 20 GB a decine di TB in pochi anni In un DW non sono necessarie tecniche sofisticate di gestione delle transazioni come invece richiesto da un sistema operazionale… almeno finché non si voglia costruire un Real Time DW … E, tuttavia, il DW presenta altre complessità… 12 6 10/7/2015 Riassumendo: 13 Architetture: requisiti – Separazione: l’elaborazione analitica e quella transazionale devono essere mantenute il più possibile separate. – Scalabilità: l’architettura hardware e software deve poter essere facilmente ridimensionata a fronte della crescita nel tempo dei volumi di dati da gestire ed elaborare e del numero di utenti da soddisfare. – Estendibilità: deve essere possibile accogliere nuove applicazioni e tecnologie senza riprogettare integralmente il sistema. – Sicurezza: il controllo sugli accessi è essenziale a causa della natura strategica dei dati memorizzati. – Amministrabilità: la complessità dell’attività di amministrazione non deve risultare eccessiva. 14 7 10/7/2015 Architetture a 1 livello Livello delle sorgenti Dati operazionali Middleware Livello del warehouse Livello di analisi Strumenti di reportistica Strumenti OLAP 15 Architetture a 1 livello • Architettura poco utilizzata. • Il Data warehouse virtuale è implementato come una vista multidimensionale dei dati generata da un apposito middleware • Non rispetta la distinzione tra elaborazione analitica OLAP ed elaborazione transazionale OLTP. • Limitato livello di storicizzazione dei dati. 16 8 10/7/2015 Architetture a 2 livelli Livello delle sorgenti Dati operazionali Dati esterni Strumenti ETL Livello di alimentazione Data Warehouse Meta-dati Livello del warehouse Data mart DATA MART: un sottoinsieme o un’aggregazione dei dati presenti nel DW primario, contenente l’insieme delle informazioni rilevanti per una particolare area del business, una particolare divisione dell’azienda, una particolare categoria di soggetti. Livello di analisi Strumenti di reportistica Strumenti per Strumenti Strumenti l’analisi what-if di data mining OLAP 17 Architetture a 2 livelli • I data mart alimentati dal DW primario sono detti dipendenti. Per i sistemi collocati all’interno di realtà aziendali medio-grandi essi sono utili: – come blocchi costruttivi durante la realizzazione incrementale del DW; – in quanto delineano i contorni delle informazioni necessarie a un particolare tipo di utenti per le loro interrogazioni; – poiché, essendo di dimensioni inferiori al DW primario, permettono di raggiungere prestazioni migliori • In alcuni contesti si preferisce adottare data mart alimentati direttamente dalle sorgenti, detti indipendenti – L’assenza di un DW primario snellisce le fasi progettuali, ma determina uno schema complesso di accessi ai dati e ingenera il rischio di incongruenze tra i data mart 18 9 10/7/2015 Architetture a 2 livelli • Vantaggi: – A livello del warehouse è continuamente disponibile informazione di buona qualità anche quando, per motivi tecnici oppure organizzativi, è temporaneamente precluso l’accesso alle sorgenti – L’interrogazione analitica effettuata sul DW non interferisce con la gestione delle transazioni a livello operazionale, la cui affidabilità è essenziale per il funzionamento dell’azienda – L’organizzazione logica del DW è basata sul modello multidimensionale, mentre le sorgenti offrono in genere modelli relazionali o semi-strutturati – A livello del warehouse è possibile impiegare tecniche specifiche per ottimizzare le prestazioni per applicazioni di analisi e reportistica 19 Architetture a 3 livelli Livello delle sorgenti Dati operazionali Dati esterni Strumenti ETL Dati riconciliati Caricamento Meta-dati Livello di alimentazione Data Warehouse Livello del warehouse Data mart DATI RICONCILIATI: dati operazionali ottenuti a valle del processo di integrazione e ripulitura dei dati sorgente: quindi dati integrati, coerenti, corretti, correnti e dettagliati Livello di analisi Strumenti di reportistica Strumenti per l’analisi what-if Strumenti Strumenti di data mining OLAP 20 10 10/7/2015 Architetture a 3 livelli • Il vantaggio principale del livello dei dati riconciliati è che esso crea un modello di dati comune e di riferimento per l’intera azienda, introducendo al contempo una separazione netta tra le problematiche legate all’estrazione e integrazione dei dati dalle sorgenti e quelle inerenti l’alimentazione del DW 21 Data mart indipendenti • Ogni organizzazione sviluppa in modo indipendente • Problemi: • Incoerenza nelle definizioni dei dati • Misure e dimensioni con conformi • No “single version of the truth” Dati sorgente Dati sorgente Dati sorgente Strumenti ETL Meta-dati Data mart Strumenti di reportistica Strumenti OLAP Meta-dati Data mart Strumenti per l’analisi what-if Strumenti di data mining 22 11 10/7/2015 Data mart bus • Data Mart tra loro logicamente integrati da dimensioni comuni • “Enterprise view” • Approccio consigliato da Kimball Dati sorgente Dati sorgente Dati sorgente Strumenti ETL Meta-dati dimensioni conformi Meta-dati Data mart Data mart Strumenti di reportistica Strumenti OLAP Strumenti per l’analisi what-if Strumenti di data mining 23 Hub-and-spoke • Letteralmente “mozzo e raggi” • Una delle architetture più usate in contesti medio-grandi. Dati operazionali Dati esterni Strumenti ETL Data Warehouse Caricamento Meta-dati Data mart Strumenti di reportistica Strumenti per l’analisi what-if Strumenti Strumenti di data mining OLAP 24 12 10/7/2015 Data warehouse centralizzato • Approccio consigliato da Inmon • Implementazione logica, piuttosto che fisica, dell’architettura huband-spoke Dati operazionali Dati esterni Strumenti ETL Dati riconciliati Meta-dati Caricamento Data Warehouse Strumenti di reportistica Strumenti per l’analisi what-if Strumenti Strumenti di data mining OLAP 25 Federazione • Ideale per contesti molto dinamici (fusioniacquisizioni) • Problema dell’integrazione efficace ed efficiente Dati sorgente Dati sorgente Data mart Dati sorgente Data mart Data mart Integrazione logico-fisica Strumenti di reportistica Strumenti per l’analisi what-if Strumenti Strumenti di data mining OLAP 26 13 10/7/2015 Fattori di scelta dell’architettura • Interdipendenza informativa tra le unità organizzative aziendali • Bisogni informativi della dirigenza • Urgenza del progetto di data warehousing – incoraggia l’adozione di architetture “veloci” • Natura dei task decisionali • Vincoli sulle risorse economiche e umane • Ruolo del progetto di warehousing all’interno della strategia aziendale – data mart indipendenti vs. hub-and-spoke • Compatibilità con piattaforme esistenti • Capacità dello staff IT • Posizione organizzativa dello sponsor di progetto – architetture aziendali vs. architetture dipartimentali 27 Architetture DW: Survey Cfr. Bibl. [4] 28 14 10/7/2015 ETL • Il ruolo degli strumenti di Extraction, Transformation and Loading è quello di alimentare una sorgente dati singola, dettagliata, esauriente e di alta qualità che possa a sua volta alimentare il DW (riconciliazione) • Durante il processo di alimentazione del DW, la riconciliazione avviene in due occasioni: quando il DW viene popolato per la prima volta, e periodicamente quando il DW viene aggiornato. – – – – estrazione pulitura trasformazione caricamento 29 Estrazione • I dati rilevanti vengono estratti dalle sorgenti. – L’estrazione statica viene effettuata quando il DW deve essere popolato per la prima volta e consiste concettualmente in una fotografia dei dati operazionali. – L’estrazione incrementale viene usata per l’aggiornamento periodico del DW, e cattura solamente i cambiamenti avvenuti nelle sorgenti dall’ultima estrazione • La scelta dei dati da estrarre avviene principalmente in base alla loro qualità e rilevanza. Dati operazionali ed esterni Estrazione Pulitura Trasformazione Caricamento Data Warehouse 30 15 10/7/2015 Pulitura • Si incarica di migliorare la qualità dei dati delle sorgenti – dati duplicati – incongruenze tra valori logicamente associati – dati mancanti – uso non previsto di un campo – valori impossibili o errati – valori incongruenti per la stessa entità dovuti a differenti convenzioni – valori incongruenti per la stessa entità dovuti a errori di battitura Dati operazionali ed esterni Estrazione Pulitura Trasformazione Caricamento Data Warehouse 31 Trasformazione • Converte i dati dal formato operazionale sorgente a quello del DW. La corrispondenza con il livello sorgente è complicata dalla presenza di fonti distinte eterogenee, che richiede una complessa fase di integrazione Dati operazionali ed esterni Estrazione Pulitura – presenza di testi liberi che nascondono informazioni importanti – utilizzo di formati differenti per lo stesso dato • Per l’alimentazione dei dati riconciliati: – conversione e normalizzazione (operano a livello di formato di memorizzazione e di unità di misura per uniformare i dati) – matching (stabilisce corrispondenze tra campi equivalenti in sorgenti diverse) – selezione (riduce il numero di campi e di record rispetto alle sorgenti) Trasformazione Caricamento Data Warehouse 32 16 10/7/2015 Pulitura e trasformazione Carlo Bianchi P.zza Duomo 1 43121 Milano (I) nome: cognome: indirizzo: CAP: città: nazione: Normalizzazione nome: cognome: indirizzo: CAP: città: nazione: Correzione Carlo Bianchi P.zza Duomo 1 43121 Milano I Carlo Standardizzazione Bianchi Piazza Duomo 1 43121 Milano Italia nome: Carlo nome: Carlo cognome: Bianchi cognome: Bianchi indirizzo: Piazza Duomo 1 indirizzo: Piazza Duomo 1 CAP: 43121 CAP: 20121 città: Parma città: Milano nazione: Italia nazione: Italia 33 Caricamento • Il caricamento dei dati nel DW Dati operazionali ed esterni Estrazione – Refresh: i dati del DW vengono riscritti integralmente, sostituendo quelli precedenti Pulitura • tecnica normalmente utilizzata solo per popolare inizialmente il DW – Update: i soli cambiamenti occorsi nei dati sorgente vengono aggiunti nel DW Trasformazione • tecnica normalmente utilizzata per l’aggiornamento periodico del DW Caricamento Data Warehouse 34 17 10/7/2015 ETL o ELT? • Extraction Load Transformation – Suggerito soprattutto da ORACLE • Prima caricare i dati sul dw e poi attraverso tool del dbms svolgere le attività di pulizia e trasformazione • Vantaggi – Tutte le operazioni nello stesso DBMS – Più veloce il caricamento • Svantaggi – Meno flessibile – Lega il processo al DBMS Strumenti • Sviluppare in proprio • Commerciali – IBM – Oracle – Informatica • Open source – Talend open studio – Penthao Kettle – UnifiedViews 18 10/7/2015 Talend Kettle 19 10/7/2015 UnifiedViews Bibliografia [1] William H. Inmon, Building the Data Warehouse, Fourth Edition, Wiley Publishing Inc., 2005 [2] R. Kimball & M. Ross, The Data Warehosue Tollkit, Second Edition, Wiley Publishing Inc., 2002 [3] C. Imhoff, N. Galemmo, J. G. Geiger, Mastering Data Warehouse Design, Wiley Publishing Inc., 2003 [4] H.J. Watson & T. Ariyachandra, Data Warehouse Architectures: Factors in the Selection Decision and the Success of the Architectures, 2005 (http://www.terry.uga.edu/~hwatson/DW_Architecture_Report.pdf ) 40 20