Data Warehousing: concetti base e metodologie Paolo Atzeni (con la collaborazione di Luca Cabibbo e Riccardo Torlone) Università di Roma Tre Dipartimento di Informatica e Automazione atzeni@dia.uniroma3.it http://www.dia.uniroma3.it/ atzeni/ Roma, 9 febbraio 1999
Sommario Introduzione Informazioni, dati e processi Basi di dati integrate, sì, ma OLTP e OLAP Data warehousing Data warehouse e data warehousing Dati multidimensionali Web farming Progettazione di data warehouse Analisi delle sorgenti informative Integrazione Progettazione Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 2
Le risorse persone denaro materiali informazioni (e dati) Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 3
Informazioni e dati definizioni (dal Vocabolario della lingua italiana, Treccani, 1987) informazione: notizia dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 4
Processi processi direzionali processi gestionali processi operativi Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 5
Processi, dati e decisioni processi operativi dati dipartimentali e dettagliati decisioni strutturate, con regole precise processi gestionali dati settoriali, parzialmente aggregati decisioni semistrutturate: regole più intervento creativo/responsabile processi direzionali dati integrati e fortemente aggregati decisioni non strutturate Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 6
Processi presso una banca processi operativi gestione movimenti su conti correnti processi gestionali concessione di mutui definizione delle condizioni su un conto corrente processi direzionali accordo commerciale con una carta di credito Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 7
Sistemi informatici: una classificazione Transaction processing systems: per i processi operativi Management information systems: settoriali, per i processi gestionali Decision support systems: fortemente integrati, di supporto ai processi direzionali Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 8
Base di dati Collezione di dati persistente e condivisa, gestita in modo efficace, efficiente e affidabile (da un DBMS) il concetto di base di dati nasce per rispondere alle esigenze di gestione di una risorsa pregiata, condivisa da più applicazioni Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 9
Basi di dati: le magnifiche sorti e progressive ogni organizzazione ha una base di dati, che organizza tutti i dati di interesse in forma integrata e non ridondante ciascuna applicazione ha accesso a tutti i dati di proprio interesse, in tempo reale e senza duplicazione, riorganizzati secondo le proprie necessità bla bla bla Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 10
La base di dati ideale Applicazione A Applicazione B... Applicazione N DBMS BD Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 11
L obiettivo ideale è sensato e praticabile? La realtà è in continua evoluzione, non esiste uno stato stazionario (se non nell iperuranio): cambiano le esigenze cambiano le strutture le realizzazioni richiedono tempo Il coordinamento forte fra i vari settori può risultare controproducente (vedi l uso di pacchetti di settore, con difficoltà ad usare pacchetti generalizzati in contesti molto grandi) Ogni organizzazione ha di solito diverse basi di dati distribuite, eterogenee, autonome Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 12
Integrazione di basi di dati e sistemi informativi L esigenza di integrare sistemi distribuiti, eterogenei, autonomi emerge in molti casi: integrazione di componenti sviluppati separatamente (per ragioni tecniche, organizzative o temporali) cooperazione di processi in precedenza separati cooperazione (o fusione) di enti o aziende indipendenti ed è stimolata dallo sviluppo delle reti Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 13
OLTP e OLAP On-Line Transaction Processing On-Line Analytical Processing Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 14
OLTP Tradizionale elaborazione di transazioni, che realizzano i processi operativi dell azienda-ente Operazioni predefinite e relativamente semplici Ogni operazione coinvolge pochi dati Dati di dettaglio, aggiornati Le proprietà acide (atomicità, correttezza, isolamento, durabilità) delle transazioni sono essenziali Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 15
Sistemi di supporto alle decisioni Richiedono operazioni non previste a priori Coinvolgono anche grandi quantità di dati, anche storici e aggregati Coinvolgono dati provenienti da varie fonti operative, anche esterne Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 16
OLAP Elaborazione di operazioni per il supporto alle decisioni Operazioni complesse e casuali Ogni operazione può coinvolgere molti dati Dati di aggregati, storici, anche non attualissimi Le proprietà acide non sono rilevanti, perché le operazioni sono di sola lettura Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 17
OLTP e OLAP OLTP OLAP Utente impiegato dirigente Funzione operazioni giornaliere supporto alle decisioni Progettazione orientata all'applicazione orientata ai dati Dati correnti, aggiornati, dettagliati, relazionali, isolati storici, aggregati, multidimensionali, integrati, consolidati Uso ripetitivo casuale Accesso read-write, indicizzato read, sequenziale Unità di lavoro transazione breve interrogazione complessa Record acc. decine milioni N. utenti migliaia centinaia Dimensione 100MB - 1GB 100GB - 1TB Metrica throughput tempo di risposta Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 18
OLTP e OLAP I requisiti sono quindi contrastanti Le applicazioni dei due tipi possono danneggiarsi a vicenda Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 19
Multi-database e Data Warehouse (due approcci all integrazione) client client client Gestore DW MultiDBMS DW Integratore Integratore Mediatore Mediatore Mediatore client Mediatore Mediatore Mediatore client DBMS DBMS DBMS DBMS DBMS DBMS BD BD BD BD BD BD Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 20
Sommario Introduzione Informazioni, dati e processi Basi di dati integrate, sì, ma OLTP e OLAP Data warehousing Data warehouse e data warehousing Dati multidimensionali Web farming Progettazione di data warehouse Analisi delle sorgenti informative Integrazione Progettazione Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 21
Data warehouse Un data warehouse è una base di dati utilizzata principalmente per il supporto alle decisioni direzionali orientata ai dati non alle applicazioni integrata aziendale e non dipartimentale storici con un ampio orizzonte temporale, e indicazione di almeno un elemento di tempo non volatile i dati sono caricati e acceduti fuori linea mantenuta separatamente dalle basi di dati operazionali Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 22
... orientata ai dati... Le basi di dati operazionali sono costruite a supporto dei singoli processi operativi o applicazioni produzione marketing vendita Il data warehouse è costruito attorno alle principali entità del patrimonio informativo aziendale prodotto fornitore cliente Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 23
... integrata... I dati di interesse provengono da tutte le sorgenti informative ciascun dato proviene da una o più di esse Il data warehouse rappresenta i dati in modo univoco riconciliando le eterogeneità dalle diverse rappresentazioni nomi struttura codifica rappresentazione multipla Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 24
... dati storici... Le basi di dati operazionali mantengono il valore corrente delle informazioni L orizzonte temporale di interesse è dell ordine dei pochi mesi Nel data warehouse è di interesse l evoluzione storica delle informazioni L orizzonte temporale di interesse è dell ordine degli anni Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 25
... non volatile... In una base di dati operazionale, i dati vengono acceduti inseriti modificati cancellati pochi record alla volta Nel data warehouse, abbiamo operazioni di accesso e interrogazione diurne operazioni di caricamento e aggiornamento dei dati notturne che riguardano milioni di record Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 26
... una base di dati separata... Un data warehouse viene mantenuto separatamente dalle basi di dati operazionali perché non esiste un unica base di dati operazionale che contiene tutti i dati di interesse la base di dati deve essere integrata non è tecnicamente possibile fare l integrazione in linea i dati di interesse sarebbero comunque diversi devono essere mantenuti dati storici devono essere mantenuti dati aggregati l analisi dei dati richiede per i dati organizzazioni speciali e metodi di accesso specifici degrado generale delle prestazioni senza la separazione Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 27
Architettura per il data warehousing Monitoraggio & Amministrazione Strumenti Sorgenti esterne Metadati Data Warehouse Analisi Basi di dati operazionali Estrazione Trasformazione Caricamento Refresh Serve Interrogazione/ Presentazione Data Mining Serve Sorgenti dei dati Data Mart Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 28
Livelli di rappresentazione dei dati Nelle sorgenti informative: le basi di dati preesistenti dipartimentali orientate alle applicazioni es: vendita, produzione, marketing,... Nel data warehouse: la base di dati integrata aziendale soggetti comuni a tutta l organizzazione es: prodotti, clienti, fornitori,... Nei data mart sottoinsiemi del data warehouse dipartimentali o settoriali soggetti selezionati es: dati relativi al marketing Negli strumenti di analisi: estratti dal DW o da un data mart individuali focalizzata su un problema in esame es: promozioni e vendite negli ultimi cinque anni Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 29
Popolazione del data warehouse Attività necessarie a popolare un data warehouse estrazione accesso ai dati nelle sorgenti informative operazionali trasformazione pulizia dei dati, trasformazione di formato, correlazione con oggetti in sorgenti diverse caricamento con introduzione di informazioni temporali e generazione dei dati aggregati refresh le stesse fasi, ma eseguite in modalità incrementale I metadati sono informazioni mantenute a supporto di queste attività Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 30
Strumenti per il Data Warehousing I maggiori produttori di software forniscono soluzioni tecnologiche per il data warehousing strumenti per la progettazione strumenti per l estrazione dei dati dalle sorgenti informative strumenti per la trasformazione e il caricamento strumenti per l aggiornamento server relazionali per il data warehouse strumenti per l analisi multidimensionale strumenti per il data mining Non è possibile comprare un prodotto integrato per il data warehousing ma realizzare una soluzione personalizzata integrando prodotti Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 31
Rappresentazione multidimensionale dei dati L analisi dei dati orientata al supporto alle decisioni non viene eseguita direttamente sul data warehouse ma su dati estratti dal DW o da un data mart e rappresentati in forma multidimensionale L analisi può essere basata sui seguenti concetti fatto: un concetto sul quale centrare l analisi misura:una proprietà atomica di un fatto da analizzare dimensione: una prospettiva lungo la quale effettuare l analisi Esempi di fatti/misure/dimensioni vendita / quantità venduta, incasso / prodotto, tempo telefonata / costo, durata / chiamante, tempo Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 32
Rappresentazione multidimensionale dei dati Gli analisti sono abituati a ragionare in termini di dimensioni e misure non di schemi, tabelle e record Mercati Vendite Prodotti Periodi di tempo Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 33
Viste su dati multidimensionali Il manager regionale esamina la vendita dei prodotti in tutti i periodi relativamente ai propri mercati Il manager finanziario esamina la vendita dei prodotti in tutti i mercati relativamente al periodo corrente e quello precedente Mercati Prodotti Tempo Il manager di prodotto esamina la vendita di un prodotto in tutti i periodi e in tutti i mercati Il manager strategico si concentra su una categoria di prodotti, una area regionale e un orizzonte temporale medio Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 34
Dimensioni e gerarchie di livelli Ciascuna dimensione è organizzata in una gerarchia che rappresenta i possibili livelli di aggregazione per i dati negozio, città, provincia, regione prodotto, categoria, marca giorno, mese, trimestre, anno regione anno provincia categoria marca trimestre città mese negozio prodotto giorno Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 35
Analisi multidimensionale Lo scopo è individuare degli andamenti inattesi regolarità o irregolarità browsing dei dati e reporting interattivo analisi statistiche e previsioni analisi what-if Un approccio alternativo all analisi il data mining associazioni individuare regolarità in un insieme di transazioni anonime pattern sequenziali individuare regolarità in un insieme di transazioni non anonime, nel corso di un periodo temporale similitudine di sequenze temporali e non classificazione apprendimento di situazioni Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 36
Operazioni su dati multidimensionali Roll up aggrega i dati volume di vendita totale dello scorso anno per categoria di prodotto e regione Drill down disaggrega i dati, ovvero mostra dati a un livello di aggregazione più basso per una particolare categoria di prodotto e regione, mostra le vendite giornaliere dettagliate per ciascun negozio Slice & dice seleziona e proietta solitamente su un piano bidimensionale Pivot re-orienta il cubo Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 37
Strumenti per l analisi multidimensionale: server I server OLAP (per i data mart) sono DBMS speciali server OLAP multidimensionali (MOLAP) server OLAP relazionali (ROLAP) Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 38
Strumenti per l analisi multidimensionale: client I client OLAP sono basati su interfacce grafiche tipo foglio elettronico un foglio elettronico multidimensionale orientate a utenti non-informatici con esigenze estemporanee visualizzazione dei dati numerici, tabellari, grafici, torte, istogrammi,... concetti dalla cartografia sull uso di colori, linee e forme operazioni sui dati roll up, drill down, slice & dice, pivot eseguite mediante point-and-click possibilità di sincronizzare le diverse viste Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 39
Web farming: data warehousing su Web il Web offre grandi quantità di dati di ogni tipo in particolare offre sorgenti interessanti per il data warehousing difficoltà instabilità qualità non garantita eterogeneità e disorganizzazione l attività deve essere strutturata e non estemporanea (non interessa il surfing ) Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 40
Sommario Introduzione Informazioni, dati e processi Basi di dati integrate, sì, ma OLTP e OLAP Data warehousing Data warehouse e data warehousing Dati multidimensionali Web farming Progettazione di data warehouse Analisi delle sorgenti informative Integrazione Progettazione Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 41
Progettazione del data warehouse Le specifiche per la popolazione di un data warehouse sono stabilite in fase di progettazione La progettazione di un data warehouse è diversa dalla progettazione di una base di dati operazionale i dati da memorizzare hanno caratteristiche diverse vincolata dalle basi di dati esistenti guidata da criteri progettuali diversi Attività principali analisi delle sorgenti informative esistenti integrazione progettazione concettuale, logica e fisica Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 42
Progettazione del data warehouse Requisiti dell analisi Analisi Basi di dati aziendali Altre sorgenti informative Selezione delle sorgenti informative Traduzione in un modello concettuale comune Analisi delle sorgenti informative Integrazione Integrazione di schemi concettuali Progettazione Progettazione concettuale Progettazione logica Progettazione fisica Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 43
Dati in ingresso Le informazioni in ingresso necessarie alla progettazione di un data warehouse requisiti le esigenze aziendali di analisi descrizione delle basi di dati con una documentazione sufficiente per la loro comprensione descrizione di altre sorgenti informative l analisi richiede spesso la correlazione con dati non di proprietà dell azienda ma comunque da essa accessibili ad esempio, dati ISTAT o sull andamento dei concorrenti Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 44
Analisi delle sorgenti informative esistenti Selezione delle sorgenti informative analisi preliminare del patrimonio informativo aziendale analisi di qualità delle singole sorgenti correlazione del patrimonio informativo con i requisiti identificazione di priorità tra schemi Traduzione in un modello concettuale di riferimento attività preliminare alla correlazione e all integrazione di schemi che si svolge meglio con riferimento a schemi concettuali Analisi delle sorgenti informative identificazione di fatti (concetti su cui basare l analisi), misure (proprietà atomiche dei fatti) e dimensioni (concetti su cui aggregare le misure) Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 45
Integrazione di sorgenti informative L integrazione di sorgenti informative è l attività di fusione dei dati rappresentati in più sorgenti in un unica base di dati globale che rappresenta l intero patrimonio informativo aziendale Lo scopo principale dell integrazione è l identificazione di tutte le porzioni delle diverse sorgenti informative che si riferiscono a uno stesso aspetto della realtà di interesse, per unificare la loro rappresentazione L approccio è orientato alla identificazione, analisi e risoluzione di conflitti terminologici, strutturali, di codifica Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 46
Progettazione del data warehouse L integrazione delle sorgenti informative ha prodotto una descrizione globale del patrimonio informativo aziendale Questo è però solo il risultato dell integrazione di dati operazionali non descrive tutti i dati di interesse per il DW Progettazione del data warehouse concettuale completare la rappresentazione dei concetti dimensionali necessari per l analisi ad esempio, dati storici e geografici logica identificare il miglior compromesso tra la necessità di aggregare i dati e quella di normalizzarli fisica individuare la distribuzione dei dati e le relative strutture di accesso Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 47
Reverse engineering di schemi relazionali Il reverse engineering è l attività di comprensione concettuale di uno schema di dati la rappresentazione di uno schema relazionale in un modello concettuale Uno schema ER è più espressivo di uno schema relazionale è necessario conoscere la realtà di interesse per recuperare la conoscenza persa nella fase di progettazione logica Il reverse engineering di schemi relazionali è svolto in modo semiautomatico dagli strumenti di progettazione CASE Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 48
Integrazione di schemi di sorgenti informative Orientata all analisi e risoluzione di conflitti tra schemi rappresentazioni diverse di uno stesso concetto Prodotto prezzo (di produzione) Impiegato Impiegato Prodotto prezzo (di vendita) Dipartimento Progetto Dipartimento Divisione Progetto Persona Persona sesso Libro Libro editore Uomo Donna Editore Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 49
Integrazione di sorgenti informative L integrazione di sorgenti informative è guidata da quella dei loro schemi ma è necessario risolvere anche i conflitti relativi alla codifica delle informazioni un attributo sesso può essere rappresentato con un carattere M/F con una cifra 0/1 implicitamente nel codice fiscale non essere rappresentato il nome e cognome di una persona Mario, Rossi Mario Rossi Rossi, Mario Rossi, M. Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 50
Progettazione del DW e di basi di dati multidimensionali Introduzione di elementi dimensionali nella base di dati integrata Attività identificazione di fatti, misure e dimensioni ristrutturazione dello schema concettuale rappresentazione di fatti mediante entità individuazione di nuove dimensioni raffinamento dei livelli di ogni dimensione derivazione di un grafo dimensionale progettazione logica e fisica Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 51
Identificazione di fatti e dimensioni marca categoria Articolo codice nome prezzo costo codice sesso anno nascita città residenza Cliente percentuale tempo (0,1) Vendita scontrino data numero pezzi incasso Occupazione nome Negozio nome città Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 52
Ristrutturazione dello schema concettuale Rappresentazione di fatti mediante entità codice nome marca costo categoria Articolo Dati articolo prezzo Individuazione di nuove dimensioni codice nome prezzo costo marca categoria Articolo Dati articolo Mese mese Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 53
Ristrutturazione dello schema concettuale Raffinamento dei livelli di ogni dimensione E lo schema concettuale del data warehouse categoria Categoria codice prezzo costo nome Marca marca Articolo nome scontrino Dati articolo Occupazione principale codice Vendita incasso numero pezzi Giorno data Mese mese Cliente Negozio nome Trimestre trimestre anno nascita sesso Residenza Città Regione Anno anno città regione Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 54
Derivazione di uno schema dimensionale Prodotto Categoria Marca Costo Cliente Prezzo Sesso Nome Articolo Occupazione Cliente Vendita Giorno Mese Anno nascita Città Negozio Incasso Trimestre Provincia Indirizzo Mercato Anno Regione Tempo Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 55
Progettazione logica: star schema per Vendita CLIENTE CodCliente Sesso Occupazione Anno nascita Città nascita Provincia nascita Regione nascita ARTICOLO CodArticolo Marca Categoria Nome VENDITA CodArticolo CodCliente CodTempo CodNegozio Incasso NEGOZIO CodNegozio Indirizzo Città Provincia Regione TEMPO CodTempo Giorno Mese Trimestre Anno Paolo Atzeni, 9 febbraio 1999 AIPA-INAIL 56