Data warehouse Progettazione

Documenti analoghi
Data warehouse Progettazione

Data warehouse Progettazione

Data warehouse: progettazione

Indice. Prefazione. Capitolo 1 Introduzione al data warehousing 1

Data warehouse Introduzione

Data warehouse Introduzione

Data warehouse: introduzione

Il Dimensional Fact Model

Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano. Archi multipli

Progettazione logica. Prof. Stefano Rizzi

Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano. Archi multipli

! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)

Lezione 2. Dati e Architetture per il Data Warehousing ETL

Sistemi Informativi Avanzati

Modellazione concettuale

Sistemi Informativi Aziendali. Sistemi Informativi Aziendali. Sistemi Informativi Aziendali

Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)

Architetture di Data Warehouse. PDF created with pdffactory trial version

Data warehouse Introduzione

Introduzione al Data Warehousing

Il ciclo di sviluppo del Data Warehouse

Introduzione al Data Warehousing

Pag Politecnico di Torino 1

D B M G D B M G 2. Gestione degli indici. Introduzione Strutture fisiche di accesso Definizione di indici in SQL Progettazione fisica

Introduzione al Data Warehousing

Datawarehouse. Proge.azione logica

Il modello multidimensionale. Per le slides si ringrazia il Prof. Stefano Rizzi ( e il Dott.

Definizione e calcolo delle misure

Estensioni del linguaggio SQL per interrogazioni OLAP

METODOLOGIE DI PROGETTAZIONE DI BD E DI DW. Gli eventi (fenomeni) di interesse, detti fatti. La granularità dei fatti da analizzare.

Star Schema. Progettazione Logica ROLAP 30/05/2014

Progettazione Logica. Sviluppo di un Database/DataWarehouse

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SCENARI TEMPORALI

Architetture Evolute nei Sistemi Informativi. architetture evolute 1

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Data warehouse Analisi dei dati

Data Warehousing e Business Intelligence

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Lezione 5. Alimentazione dei Data Warehouses Riconciliazione e Integrazione di Schemi di Dati per il Data Warehousing

Data warehouse Analisi dei dati

Basi di Dati. Corso di Laurea in Informatica Corso B A.A. 2015/16. Dr. Claudia d'amato. Dipartimento di Informatica, Università degli Studi Bari

Basi di dati attive. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger).

Data warehouse: analisi dei dati

Business Intelligence & Data Warehousing

Datawarehouse. Proge.azione logica

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

Architetture per l analisi dei dati

Modello relazionale e algebra relazionale

Progettazione del Data Warehouse

Basi di dati (Sistemi Informativi)

La gestione delle interrogazioni

Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi.

BASE DI DATI. (accezione specifica) collezione di dati gestita da un DBMS. Università degli Studi di Cassino

Progettazione logica relazionale. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G3 D B M G6 D B M G5

Corso di Basi di Dati

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano Progettazione del Data Warehouse

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

BASE DI DATI. collezione di dati, utilizzati per rappresentare le. (accezione specifica) collezione di dati gestita da un DBMS. (accezione generica)

Corso di Laurea in Informatica Basi di Dati a.a

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

Prefazione. Parte Prima Basi di dati relazionali: modello e linguaggi 15

Analisi dei dati. analisi dei dati 1

Basi di Dati Direzionali

Elena baralis 2007 Politecnico di Torino 1

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1

Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS

Progettazione logica: criteri di ottimizzazione

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1

Progettazione logica D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/2013

Progettazione di basi di dati D B M G

Sistemi Informativi L. Corso di Laurea in Ingegneria dei Processi Gestionali A.A. 2003/2004. Docente: Prof. Wilma Penzo

PROGRAMMAZIONE CLASSE: 4A-4B-4I DISCIPLINA: INFORMATICA A.S. 2016/17

DataBase Management System - DBMS

Basi di dati Modelli e linguaggi di interrogazione

D B M G D B M G 2. Sistemi informativi. Linguaggio SQL: costrutti avanzati

Sistemi informativi D B M G. Introduzione. Introduzione alle basi di dati D B M G 2. Elena Baralis 2007 Politecnico di Torino 1

Progettazione logica relazionale (1/2)

Lezione 1. Introduzione ai sistemi di basi di dati

INTRODUZIONE AL 2 TEST IN ITINERE. a.a

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SQL-OLAP. Estensioni OLAP in SQL

Analysis Service. Dutto Riccardo IPSI - tel Dutto Riccardo - SQL Server 2008.

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica

Dall intuizione alla conoscenza

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi

Elena baralis 2007 Politecnico di Torino 1

IL MODELLO CONCETTUALE ENITÀ-RELAZIONE (ER) (CAPITOLO 5 DELLA VERSIONE ITALIANA)

Basi di dati. Docente Prof. Alberto Belussi. Anno accademico 2009/10

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

Modellazione concettuale

Scopo Laboratorio di Informatica

Progettazione concettuale usando il modello Entità-Relazione (ER)

PIL Percorsi di Inserimento Lavorativo

Transcript:

D MG B Data warehouse Progettazione DATA WAREHOUSE: PROGETTAZIONE - 1 Fattori di rischio Aspettative elevate degli utenti il data warehouse come soluzione dei problemi aziendali Qualità dei dati e dei processi OLTP di partenza dati incompleti o inaffidabili processi aziendali non integrati e ottimizzati Gestione politica del progetto collaborazione con i detentori delle informazioni accettazione del sistema da parte degli utenti finali DATA WAREHOUSE: PROGETTAZIONE - 2 Pag. 1

Progettazione di data warehouse Approccio top-down realizzazione di un data warehouse che fornisca una visione globale e completa dei dati aziendali costo significativo e tempo di realizzazione lungo analisi e progettazione complesse Approccio bottom-up realizzazione incrementale del data warehouse, aggiungendo data mart definiti su settori aziendali specifici costo e tempo di consegna contenuti focalizzato separatamente su settori aziendali specifici DATA WAREHOUSE: PROGETTAZIONE - 3 Business Dimensional Lifecycle Pianificazione (Kimball) Definizione dei requisiti Gestione progetto G Progetto dell architettura Selezione e installazione prodotti TECN NOLOGIA Modellazione dimensionale Progettazione fisica Progettazione e sviluppo alimentazione DATI Specifica applicazioni utente Sviluppo applicazioni utente APPLICAZIO NI Attuazione Manutenzione DATA WAREHOUSE: PROGETTAZIONE - 4 Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 Pag. 2

Progettazione di data mart requisiti utente schema riconciliato PROGETTAZIONE CONCETTUALE carico di lavoro volume dati modello logico schemi delle sorgenti operazionali RICONCILIAZIONE schema riconciliato schema di fatto PROGETTAZIONE LOGICA schema logico carico di lavoro volume dati DBMS PROGETTAZIONE DELL ALIMENTAZIONE PROGETTAZIONE FISICA schema dell alimentazione schema fisico Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 5 D MG B Analisi dei requisiti DATA WAREHOUSE: PROGETTAZIONE - 6 Pag. 3

Raccoglie Analisi dei requisiti le esigenze di analisi dei dati che dovranno essere soddifatte dal data mart i vincoli realizzativi dovuti ai sistemi informativi esistenti Fonti business users amministratori del sistema informativo Il data mart prescelto è strategico per l azienda alimentato da (poche) sorgenti affidabili DATA WAREHOUSE: PROGETTAZIONE - 7 Requisiti applicativi Descrizione degli eventi di interesse (fatti) ogni fatto rappresenta una categoria di eventi di interesse per l azienda esempi: (per il CRM) reclami, servizi caratterizzati da dimensioni descrittive (granularità), intervallo di storicizzazione, misure di interesse informazioni raccolte in un glossario Descrizione del carico di lavoro esame della reportistica aziendale interrogazioni espresse in linguaggio naturale esempio: numero di reclami per ciascun prodotto nell ultimo mese DATA WAREHOUSE: PROGETTAZIONE - 8 Pag. 4

Requisiti strutturali Periodicità dell alimentazione Spazio disponibile per i dati per le strutture accessorie (indici, viste materializzate) Tipo di architettura del sistema numero di livelli data mart dipendenti o indipendenti Pianificazione del deployment avviamento formazione DATA WAREHOUSE: PROGETTAZIONE - 9 D MG B Progettazione concettuale DATA WAREHOUSE: PROGETTAZIONE - 10 Pag. 5

Progettazione concettuale Non esiste un formalismo di modellazione comunemente accettato il modello ER non è adatto Dimensional Fact Model (Golfarelli, Rizzi) per uno specifico fatto, definisce schemi di fatto che modellano dimensioni gerarchie misure modello grafico a supporto della progettazione concettuale offre una documentazione di progetto utile sia per la revisione dei requisiti con gli utenti, sia a posteriori DATA WAREHOUSE: PROGETTAZIONE - 11 Dimensional Fact Model Fatto modella un insieme di eventi di interesse (vendite, spedizioni, reclami) evolve nel tempo Dimensione descrive le coordinate di analisi di un fatto (ogni vendita è descritta dalla data di effettuazione, dal negozio e dal prodotto venduto) è caratterizzata da numerosi attributi, tipicamente di tipo categorico Misura descrive una proprietà numerica di un fatto, spesso oggetto di operazioni di aggregazione (ad ogni vendita è associato un incasso) prodotto fatto dimensione Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 data DATA WAREHOUSE: PROGETTAZIONE - 12 VENDITA quantità venduta incasso num. clienti prezzo unitario misura negozio Pag. 6

Gerarchia Dimensional Fact Model rappresenta una relazione di generalizzazione tra un sottoinsieme i di attributi ti di una dimensione i (gerarchia geografica per la dimensione negozio) è una dipendenza funzionale (relazione 1:n) gruppo di reparto marketing categoria attributo gerarchia tipo dimensionale città della marca marca prodotto anno giorno responsabile delle vendite vacanza distretto di vendita trimestre mese Tratto da Golfarelli, Rizzi, Data settimana warehouse, teoria e pratica della progettazione, McGraw Hill 2006 data VENDITA quantità venduta incasso num. clienti prezzo unitario negozio DATA WAREHOUSE: PROGETTAZIONE - 13 città del stato negozio regione Corrispondenza con l ER stato regione città STATO (1,n) (1,1) REGIONE (1,n) (1,1) CITTÀ (1,n) reparto REPARTO (1,n) (1,1) categoria CATEGORIA (1,n) (1,1) (1,1) tipo TIPO gruppo marketing GRUPPO MARKETING (1,n) CITTÀ MARCA (1,n) (1,1) (1,n) MARCA (1,1) prodotto (1,n) PRODOTTO (1,1) città marca marca ANNO (1,n) MESE (1,n) anno (1,1) TRIMESTRE trimestre (1,n) (1,1) mese negozio (1,1) NEGOZIO (0,n) (0,n) vendita (0,n) (1,1) DATA data (1,1) (1,n) (1,1) (1,n) qtà venduta incasso num. clienti prezzo unitario (1,1) (1,n) (1,1) (1,n) Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 RESP. VENDITE responsabile delle vendite DISTRETTO VENDITA distretto di vendita DATA WAREHOUSE: PROGETTAZIONE - 14 VACANZA (1,1) GIORNO (1,n) vacanza giorno SETTIMANA settimana Pag. 7

DFM: costrutti avanzati non-additività anno responsabile giorno vacanza trimestre mese settimana data capo reparto gruppo di marketing peso prodotto tipo categoria reparto arco opzionale città della marca marca dieta responsabile delle vendite distretto di vendita VENDITA negozio quantità venduta incasso città del stato negozio regione num. clienti indirizzo prezzo unitario (AVG) telefono convergenza Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 data inizio data fine costo promozione sconto pubblicità dimensione opzionale attributo descrittivo DATA WAREHOUSE: PROGETTAZIONE - 15 Aggregazione Processo di calcolo del valore di misure a granularità meno fine di quella presente nello schema di fatto originale la riduzione del livello di dettaglio è ottenuta risalendo lungo una gerarchia operatori di aggregazione standard: SUM, MIN, MAX, AVG, COUNT Caratteristiche delle misure additive non additive: non aggregabili lungo una gerarchia mediante l operatore di somma non aggregabili DATA WAREHOUSE: PROGETTAZIONE - 16 Pag. 8

Classificazione delle misure Misure di flusso possono essere valutate cumulativamente alla fine di un periodo di tempo sono aggregabili mediante tutti gli operatori standard esempi: quantità di prodotti venduti, importo incassato Misure di livello sono valutate in specifici istanti di tempo (snapshot) non sono additive lungo la dimensione tempo esempi: livello di inventario, saldo del conto corrente Misure unitarie sono valutate in specifici istanti di tempo ed espresse in termini relativi non sono additive lungo nessuna dimensione esempio: prezzo unitario di un prodotto DATA WAREHOUSE: PROGETTAZIONE - 17 Operatori di aggregazione anno 1999 2000 trim. I 99 II 99 III 99 IV 99 I 00 II 00 III 00IV 00 categoria tipo prodotto Brillo 100 90 95 90 80 70 90 85 detersivo Sbianco 20 30 20 10 25 30 35 20 pulizia casa Lucido 60 50 60 45 40 40 50 40 Manipulite 15 20 25 30 15 15 20 10 sapone Scent 30 35 20 25 30 30 20 15 Latte F Slurp 90 90 85 75 60 80 85 60 latticino Latte U Slurp 60 80 85 60 70 70 75 65 alimentari Yogurt Slurp 20 30 40 35 30 35 35 20 bibita Bevimi 20 10 25 30 35 30 20 10 Colissima 50 60 45 40 50 60 45 40 anno 1999 2000 trim. I 99 II 99 III 99 IV 99 I 00 II 00 III 00 IV 00 categoria pulizia casa 225 225 220 200 190 185 215 170 alimentari 240 270 280 240 245 275 260 195 anno 1999 2000 categoria tipo pulizia detersivo 670 605 casa sapone 200 155 anno 1999 2000 alimentari latticino 750 685 bibita 280 290 categoria pulizia casa 870 760 alimentari 1030 975 Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 18 Pag. 9

Distributivi Operatori di aggregazione sempre possibile il calcolo di aggregati da dati a livello di dettaglio maggiore esempi: sum, min, max DATA WAREHOUSE: PROGETTAZIONE - 19 Operatori non distributivi anno 1999 trim. I 99 II 99 III 99 IV 99 categoria tipo prodotto Brillo 2 2 2,2 2,5 detersivo pulizia Sbianco 1,5 1,5 2 2,5 casa Lucido 3 3 3 Manipulite 1 1,2 1,5 1,5 sapone Scent 1,5 1,5 2 categoria pulizia casa anno 1999 trim. I 99 II 99 III 99 IV 9 9 tipo detersivo 1,75 2,17 2,40 2,67 sapone 1,25 1,35 1,75 1,50 media: 1,50 1,76 2,08 2,09 anno 1999 trim. I 99 II 99 III 99 IV 99 categoria pulizia casa 1,50 1,84 2,14 2,38 DATA WAREHOUSE: PROGETTAZIONE - 20 Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 Pag. 10

Operatori di aggregazione Distributivi sempre possibile il calcolo di aggregati da dati a livello di dettaglio maggiore esempi: sum, min, max Algebrici il calcolo di aggregati da dati a livello di dettaglio maggiore è possibile in presenza di misure aggiuntive di supporto esempi: avg (richiede count) Olistici non è possibile il calcolo di aggregati da dati a livello di dettaglio maggiore esempi: moda, mediana DATA WAREHOUSE: PROGETTAZIONE - 21 DFM: costrutti avanzati uso chiamante distretto tt numero telefonico chiamato CHIAMATA numero durata gerarchia condivisa ora data mese anno uso del num. chiamante distretto del numero chiamante distretto del numero chiamato uso del num. chiamato numero chiamante numero chiamato ruolo CHIAMATA numero durata ora data mese anno Tratti da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 prodotto SPEDIZIONE numero costo magazzino ordine data di spedizione data città regione stato cliente mese anno DATA WAREHOUSE: PROGETTAZIONE - 22 Pag. 11

DFM: costrutti avanzati genere VENDITA autore libro numero incasso data mese anno arco multiplo data categoria diagnosi reparto RICOVERO costo Tratti da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 codpaz nome cognome sesso fascia d'utenza città anno nascita categoria data diagnosi gruppo di diagnosi reparto RICOVERO costo nome cognome sesso codpaz fascia d'utenza città anno nascita DATA WAREHOUSE: PROGETTAZIONE - 23 Schemi di fatto vuoti L evento può non essere caratterizzato da misure schema di fatto vuoto registra il verificarsi di un evento Utile per conteggio di eventi accaduti rappresentazione di eventi non accaduti (insieme di copertura) anno semestre indirizzo nome nazionalità età FREQUENZA studente (COUNT) corso area facoltà Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 sesso DATA WAREHOUSE: PROGETTAZIONE - 24 Pag. 12

Rappresentazione del tempo La variazione dei dati nel tempo è rappresentata esplicitamente dal verificarsi degli eventi presenza di una dimensione temporale eventi memorizzati sotto forma di fatti Possono variare nel tempo anche le dimensioni variazione tipicamente più lenta slowly changing dimension [Kimball] esempi: dati anagrafici di un cliente, descrizione di un prodotto necessario prevedere esplicitamente nel modello come rappresentare questo tipo di variazione DATA WAREHOUSE: PROGETTAZIONE - 25 Modalità di rappresentazione del tempo (tipo I) Fotografia dell istante attuale esegue la sovrascrittura del dato con il valore attuale proietta nel passato la situazione attuale utilizzata quando non è necessario rappresentare esplicitamente la variazione Esempio il cliente Mario Rossi cambia stato civile dopo il matrimonio tutti i suoi acquisti sono attribuiti al cliente sposato DATA WAREHOUSE: PROGETTAZIONE - 26 Pag. 13

Modalità di rappresentazione del tempo (tipo II) Eventi attribuiti alla situazione temporalmente corrispondente della dimensione per ogni variazione di stato della dimensione si crea di una nuova istanza nella dimensione i nuovi eventi sono correlati alla nuova istanza gli eventi sono partizionati in base alle variazioni degli attributi dimensionali Esempio il cliente Mario Rossi cambia stato civile dopo il matrimonio i suoi acquisti sono separati in acquisti attributi a Mario Rossi celibe e acquisti attribuiti a Mario Rossi sposato (nuova istanza di Mario Rossi) DATA WAREHOUSE: PROGETTAZIONE - 27 Modalità di rappresentazione del tempo (tipo III) Eventi attribuiti alla situazione della dimensione campionata in uno specifico istante di tempo proietta tutti gli eventi sulla situazione della dimensione in uno specifico istante di tempo richiede una gestione esplicita delle variazioni della dimensione nel tempo modifica dello schema della dimensione introduzione i di una coppia di timestamp t che indicano l intervallo ll di validità del dato (inizio e fine validità) introduzione di un attributo che consenta di identificare la sequenza di variazioni di una specifica istanza (capostipite o master) ogni variazione di stato della dimensione richiede la definizione di una nuova istanza DATA WAREHOUSE: PROGETTAZIONE - 28 Pag. 14

Modalità di rappresentazione del tempo (tipo III) Esempio il cliente Mario Rossi cambia stato civile dopo il matrimonio la prima istanza conclude il suo periodo di validità il giorno del matrimonio la nuova istanza inizia la sua validità nello stesso giorno gli acquisti sono separati come nel caso precedente esiste un attributo che permette di ricostruire tutte le variazioni ascrivibili a Mario Rossi DATA WAREHOUSE: PROGETTAZIONE - 29 Carico di lavoro Carico di riferimento definito da reportistica standard stime discusse con gli utenti Carico reale difficile da stimare correttamente durante la fase di progettazione se il sistema ha successo, il numero di utenti e interrogazioni aumenta nel tempo la tipologia di interrogazioni può variare nel tempo Fase di tuning dopo l avviamento del sistema monitoraggio del carico di lavoro reale del sistema DATA WAREHOUSE: PROGETTAZIONE - 30 Pag. 15

Volume dei dati Stima dello spazio necessario per il data mart per i dati per le strutture accessorie (indici, viste materializzate) Si considerano numero di eventi di ogni fatto numero di valori distinti degli attributi nelle gerarchie lunghezza degli attributi Dipende dall intervallo temporale di memorizzazione dei dati Valutazione affetta dal problema della sparsità il numero degli eventi accaduti non corrisponde a tutte le possibili combinazioni delle dimensioni esempio: percentuale dei prodotti effettivamente venduti in ogni negozio in un dato giorno pari circa al 10% di tutte le possibili combinazioni DATA WAREHOUSE: PROGETTAZIONE - 31 Sparsità Si riduce al crescere del livello di aggregazione dei dati Può ridurre l affidabilità della stima della cardinalità dei dati aggregati Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 32 Pag. 16

D MG B Progettazione logica DATA WAREHOUSE: PROGETTAZIONE - 33 Progettazione logica Si considera il modello relazionale (ROLAP) inputs schema (di fatto) concettuale carico di lavoro volume dei dati vincoli di sistema output schema logico relazionale Basata su principi diversi rispetto alla progettazione logica tradizionale ridondanza dei dati denormalizzazione delle tabelle DATA WAREHOUSE: PROGETTAZIONE - 34 Pag. 17

Schema a stella Dimensioni una tabella per ogni dimensione chiave primaria generata artificialmente (surrogata) contiene tutti gli attributi della dimensione gerarchie non rappresentate esplicitamente gli attributi della tabella sono tutti allo stesso livello rappresentazione completamente denormalizzata presenza di ridondanza nei dati Fatti una tabella dei fatti per ogni schema di fatto chiave primaria costituita dalla combinazione delle chiavi esterne delle dimensioni le misure sono attributi della tabella DATA WAREHOUSE: PROGETTAZIONE - 35 Schema a stella Categoria Fornitore Tipo Prodotto Rappresentante Settimane ID_Settimane Settimana Mese Prodotti ID_Prodotti Prodotto Tipo Categoria Fornitore Mese VENDITE Quantità Settimana Guadagno ID_Negozi ID_Settimane ID_Prodotti Quantità Guadagno Negozio Città DATA WAREHOUSE: PROGETTAZIONE - 36 Stato Negozi ID_Negozi Negozio Città Stato Rappresentante Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 Pag. 18

Snowflake schema Separazione di (alcune) dipendenze funzionali frazionando i dati di una dimensione in più tabelle si introduce una nuova tabella che separa in due rami una gerarchia dimensionale (taglio su un attributo della gerarchia) una nuova chiave esterna esprime il legame tra la dimensione e la nuova tabella Si riduce lo spazio necessario per la memorizzazione della dimensione riduzione non significativa Aumenta il costo di ricostruzione dell informazione della dimensione è necessario il calcolo di uno o più join DATA WAREHOUSE: PROGETTAZIONE - 37 Snowflake schema Fornitore Tipo Categoria Prodotto Rappresentante Settimane ID_Settimane Settimana Mese Mese Prodotti ID_Prodotti Prodotto ID_Tipo Fornitore Tipi VENDITE Settimana Quantità Guadagno ID_Negozi ID_Settimane ID_Prodotti Quantità Guadagno Negozio Città DATA WAREHOUSE: PROGETTAZIONE - 38 Stato Negozi DT 1,1 ID_Negozi Negozio ID_Città Rappresentante 1,1 d 1,1 DT 1,2 ID_Città Città Stato Città ID_Tipo Tipo Categoria Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 Chiave esterna d 1,2 Pag. 19

Star o snowflake? Lo schema snowflake è normalmente sconsigliato la riduzione di spazio occupato è scarsamente benefica l occupazione maggiore di spazio è dovuta alla tabella dei fatti (la differenza è pari ad alcuni ordini di grandezza) il costo di eseguire più join può essere significativo Lo schema snowflake può essere utile quando porzioni di una gerarchia sono condivise tra più dimensioni (esempio: gerarchia a geografica) in presenza di viste materializzate che richiedano una rappresentazione aggregata anche della dimensione DATA WAREHOUSE: PROGETTAZIONE - 39 Archi multipli genere VENDITA autore libro numero incasso data mese anno Soluzioni realizzative bridge table tabella aggiuntiva che modella la relazione molti a molti nuovo attributo che consenta di pesare la partecipazione delle tuple nella relazione push down arco multiplo integrato nella tabella dei fatti nuova dimensione corrispondente nella tabella dei fatti DATA WAREHOUSE: PROGETTAZIONE - 40 Pag. 20

Archi multipli genere VENDITA autore libro numero incasso data mese anno Vendite ID_Libri ID_Date Quantità Incasso Libri ID_Libri Libro Genere Autori ID_Autori Autore BRIDGE ID_Libri ID_Autori Peso Vendite ID_Libri ID_Autori ID_DateD Quantità Incasso Libri ID_Libri Libro Genere Autori ID_Autori Autore Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 41 Archi multipli Tipologie di interrogazione pesate: considerano il peso dell arco multiplo esempio: incasso di ciascun autore con bridge table SELECT ID_Autori, SUM(Incasso*Peso)... group by ID_Autori di impatto: non considerano il peso esempio: numero di copie vendute per ogni autore con bridge table SELECT ID_Autori, SUM(Quantità)... group by ID_Autori DATA WAREHOUSE: PROGETTAZIONE - 42 Pag. 21

Archi multipli Confronto tra le soluzioni realizzative il peso è esplicitato nella bridge table, ma integrato nella tabella dei fatti per push down (push down) difficile eseguire interrogazioni di impatto (push down) calcolo del peso durante l alimentazione (push down) modifiche successive difficoltose push down introduce una forte ridondanza nella tabella dei fatti costo di esecuzione delle interrogazioni minore per push down numero minore di join DATA WAREHOUSE: PROGETTAZIONE - 43 Dimensioni degeneri Dimensioni rappresentate da un solo attributo Categoria Fornitore Tipo Prodotto Modalità Spedizione LINEA ORDINE Codice ritorno Quantità Importo Stato linea Ordine Cliente Città DATA WAREHOUSE: PROGETTAZIONE - 44 Pag. 22

Dimensioni degeneri Soluzioni realizzative integrazione nella tabella dei fatti per attributi di dimensione (molto) contenuta junk dimension unica dimensione che integra più dimensioni degeneri non esistono dipendenze funzionali tra gli attributi della dimensionei sono possibili tutte le combinazioni attuabile solo per cardinalità limitate del dominio degli attributi DATA WAREHOUSE: PROGETTAZIONE - 45 Junk dimension Linea Ordine ID_Ordini ID_Prodotti ID_MCS Quantità Importo Ordine ID_Ordini Ordine Cliente ID_Città MCS ID_MCS Modalità Sped. Codice Ritorno Stato Linea Ordine Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 46 Pag. 23

D MG B Viste materializzate DATA WAREHOUSE: PROGETTAZIONE - 47 Viste materializzate Sommari precalcolati della tabella dei fatti memorizzati esplicitamente nel data warehouse permettono di aumentare l efficienza delle interrogazioni che richiedono aggregazioni F 1 = {prodotto, data, negozio} v 2 = {tipo, data, città} v 4 = {tipo, mese, regione} v 3 = {categoria, mese, città} v 5 = {trimestre, regione} Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 48 Pag. 24

Viste materializzate Definite da istruzioni SQL Esempio: definizione di v 3 a partire da tabelle di base o viste di granularità superiore group by Città, Mese, Categoria aggregazione (SUM) sulle misure Quantità, Guadagno riduzione dettaglio delle dimensioni Mese ID_Mese Mese Anno Categoria ID_Categoria Categoria Dipartimento ID_ Città ID_Mese ID_Categoria QuantitàTot GuadagnoTot DATA WAREHOUSE: PROGETTAZIONE - 49 Città ID_ Città Città Stato Viste materializzate Una vista materializzata può essere utilizzata per rispondere a più interrogazioni diverse attenzione al tipo di operatore di aggregazione richiesto {a,b} b' a' b a {a',b} {a,b'} {b} {a',b'} {a} {b'} {a'} Reticolo multidimensionale { } Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 50 Pag. 25

Scelta delle viste Numero di possibili combinazioni di aggregazioni molto elevato quasi tutte le combinazioni di attributi sono eleggibili Scelta dell insieme ottimo di viste materializzate Minimizzazione di funzioni di costo esecuzione delle interrogazioni aggiornamento delle viste materializzate Vincoli spazio disponibile tempo a disposizione per l aggiornamento tempo di risposta freschezza dei dati DATA WAREHOUSE: PROGETTAZIONE - 51 Scelta delle viste q 3 q 2 q 1 + = viste it candidate, didt ossia potenzialmente utili a ridurre il costo di esecuzione del carico di lavoro Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 52 Pag. 26

Scelta delle viste Minimizzazione di spazio e tempo q 3 Spazio Tempo disco aggiorn. Costo esec. q 1 q 2 Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 53 Scelta delle viste Minimizzazione del costo Spazio Tempo disco aggiorn. Costo esec. q 3 q 1 q 2 q 1 Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 54 Pag. 27

Scelta delle viste Rispetto dei vincoli Spazio disco Tempo aggiorn. Costo esec. q 3 q 1 q 2 q 1 Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 55 D MG B Progettazione fisica DATA WAREHOUSE: PROGETTAZIONE - 56 Pag. 28

Progettazione fisica Caratteristiche del carico di lavoro interrogazioni con aggregati che richiedono l accesso a una frazione significativa di ogni tabella accesso in sola lettura aggiornamento periodico dei dati con eventuale ricostruzione delle strutture fisiche di accesso (indici, viste) Strutture fisiche tipologie di indici diverse da quelle tradizionali indici bitmap, indici di join, bitmapped join index,... l indice B + -tree non è adatto per attributi con dominio a cardinalità bassa interrogazioni poco selettive viste materializzate richiedono la presenza di un ottimizzatore che le sappia sfruttare DATA WAREHOUSE: PROGETTAZIONE - 57 Progettazione fisica Caratteristiche dell ottimizzatore deve considerare le statistiche nella definizione del piano di accesso ai dati (cost based) funzionalità di aggregate navigation Procedimento di progettazione fisica selezione delle strutture adatte per supportare le interrogazioni più frequenti (o più rilevanti) scelta di strutture in grado di contribuire al miglioramento di più interrogazioni contemporaneamente vincoli spazio su disco tempo disponibile per l aggiornamento dei dati DATA WAREHOUSE: PROGETTAZIONE - 58 Pag. 29

Tuning Progettazione fisica variazione a posteriori delle strutture fisiche di supporto richiede strumenti di monitoraggio del carico di lavoro spesso necessario per applicazioni OLAP Parallelismo frammentazione dei dati parallelizzazione delle interrogazioni inter-query intra-query le operazioni di join e group by si prestano bene all esecuzione parallela DATA WAREHOUSE: PROGETTAZIONE - 59 Scelta degli indici Indicizzazione delle dimensioni attributi frequentemente coinvolti in predicati di selezione se il dominio ha cardinalità elevata, indice B-tree se il dominio ha cardinalità ridotta, indice bitmap Indici per i join raramente opportuno indicizzare solo le chiavi esterne della tabella dei fatti consigliato bitmapped join index, se disponibile Indici per i group by uso di viste materializzate DATA WAREHOUSE: PROGETTAZIONE - 60 Pag. 30

D MG B Alimentazione del data warehouse DATA WAREHOUSE: PROGETTAZIONE - 61 Extraction, Transformation and Loading (ETL) Processo di preparazione dei dati da introdurre nel data warehouse estrazione dei dati dalle sorgenti pulitura trasformazione caricamento semplificato dalla presenza di una staging area eseguito durante il primo popolamento del DW l aggiornamento periodico dei dati DATA WAREHOUSE: PROGETTAZIONE - 62 Pag. 31

Estrazione Acquisizione dei dati dalle sorgenti Modalità di estrazione statica: fotografia dei dati operazionali eseguita durante il primo popolamento del DW incrementale: selezione degli aggiornamenti avvenuti dopo l ultima estrazione utilizzata per l aggiornamento periodico del DW immediata o ritardata t Scelta dei dati da estrarre basata sulla loro qualità DATA WAREHOUSE: PROGETTAZIONE - 63 Estrazione Dipende dalla natura dei dati operazionali storicizzati: tutte le modifiche sono memorizzate per un periodo definito di tempo nel sistema OLTP transazioni bancarie, dati assicurativi operativamente semplice semi-storicizzati: è conservato nel sistema OLTP solo un numero limitato di stati operativamente complessa transitori: il sistema OLTP mantiene solo l immagine corrente dei dati scorte di magazzino, dati di inventario operativamente complessa DATA WAREHOUSE: PROGETTAZIONE - 64 Pag. 32

Estrazione incrementale Assistita dall applicazione le modifiche sono catturate da specifiche funzioni applicative richiede la modifica delle applicazioni OLTP (o delle API di accesso alla base di dati) aumenta il carico applicativo necessaria per sistemi legacy Uso del log accesso mediante primitive opportune ai dati del log formato proprietario del log efficiente, non interferisce con il carico applicativo DATA WAREHOUSE: PROGETTAZIONE - 65 Estrazione incrementale Definizione di trigger i trigger catturano le modifiche di interesse non richiede la modifica dei programmi applicativi aumenta il carico applicativo Basata su timestamp i record operazionali modificati sono marcati con il timestamp dell ultima modifica richiede la modifica dello schema della base di dati OLTP (e delle applicazioni) estrazione differita, può perdere stati intermedi se i dati sono transitori DATA WAREHOUSE: PROGETTAZIONE - 66 Pag. 33

Confronto tra le tecniche di estrazione Gestione dati transitori o semi-storicizzati Supporto per sistemi basati su file Tecnica di realizzazione Costi di sviluppo interno Utilizzo in sistemi legacy Modifiche ad applicazioni Dipendenza delle proedure dal DBMS Impatto sulle prestazioni del sistema operaz. Complessità delle procedure di estrazione Statica Marche temporali Assistita applicazione Trigger Log NO Incompleta Completa Completa Completa SI SI SI NO Raro Prodotti Prodotti o sviluppo interno Sviluppo interno Prodotti Prodotti Nessuno Medi Alti Nessuno Nessuno SI Difficile Difficile Difficile SI Nessuna Probabile Probabile Nessuna Nessuna Limitatait t Limitatait t Variabile Alta Limitatait t Nessuna Nessuna Medio Medio Nessuna Bassa Bassa Alta Media Bassa Tratto da Devlin, Data warehouse: from architecture to implementation, Addisono-Wesley, 1997 DATA WAREHOUSE: PROGETTAZIONE - 67 Estrazione incrementale Cod 1 2 3 4 4/4/2010/2010 Prodotto Cliente Greco di tufo Barolo Barbera Sangiovese Malavasi Maio Lumini Cappelli Qtà 50 150 75 45 Cod 1 2 4 5 6 6/4/2010 Prodotto Cliente Greco di tufo Barolo Sangiovese Vermentino Trebbiano Malavasi Maio Cappelli Maltoni Maltoni Qtà 50 150 145 25 150 Cod 3 4 5 6 Prodotto Barbera Sangiovese Vermentino Trebbiano Differenza incrementale Cliente Lumini Cappelli Maltoni Maltoni Qtà 75 145 25 150 Azione D U I I Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 68 Pag. 34

Pulitura Operazioni volte al miglioramento della qualità dei dati (correttezza e consistenza) dati duplicati dati mancanti uso non previsto di un campo valori impossibili o errati inconsistenza tra valori logicamente associati Problemi dovuti a errori di battitura differenze di formato dei campi evoluzione del modo di operare dell azienda DATA WAREHOUSE: PROGETTAZIONE - 69 Pulitura Ogni problema richiede una tecnica specifica di soluzione tecniche basate su dizionari adatte per errori di battitura o formato utilizzabili per attributi con dominio ristretto tecniche di fusione approssimata adatte per riconoscimento di duplicati/correlazioni tra dati simili join approssimato problema purge/merge identificazione i di outliers o deviazioni i i da business rules La strategia migliore è la prevenzione, rendendo più affidabili e rigorose le procedure di data entry OLTP DATA WAREHOUSE: PROGETTAZIONE - 70 Pag. 35

Join approssimato DB Marketing DB Amministrazione CF codice ordine data quantità CLIENTE ORDINE nome indirizzo cliente cliente cognome cliente codice indirizzo cognome cliente cliente cliente CF CLIENTE nome indirizzo cliente cliente cognome cliente fa (0,n) (1,1) codice ordine Data data ORDINE quantità Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 Il join deve essere eseguito sulla base dei campi comuni, che non rappresentano un identificatore per il cliente DATA WAREHOUSE: PROGETTAZIONE - 71 Problema purge/merge DB Marketing sede di Roma CF CLIENTI SEDE ROMA DB Marketing sede di Milano C F CLIENTI SEDE MILANO nome indirizzo cliente cliente cognome cliente nome indirizzo cliente cliente cognome cliente CF CLIENTI nome indirizzo cognome cliente cliente cliente Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 I record duplicati devono essere identificati ed eliminati E` necessario un criterio per valutare la somiglianza tra due record DATA WAREHOUSE: PROGETTAZIONE - 72 Pag. 36

Esempio di pulitura e trasformazione C.so Duca degli Abruzzi 24 20129 Torino (I) nome: Elena cognome: Baralis Normalizzazione indirizzo: C.so Duca degli Abruzzi 24 CAP: 20129 città: Torino nazione: I nome: Elena cognome: Baralis Standardizzazione indirizzo: Corso Duca degli Abruzzi 24 CAP: 20129 città: Torino nazione: Italia nome: Elena cognome: Baralis Correzione indirizzo: Corso Duca degli Abruzzi 24 CAP: 10129 città: Torino nazione: Italia Adattato da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 73 Trasformazione Conversione dei dati dal formato operazionale a quello del data warehouse (integrazione) Richiede una rappresentazione uniforme dei dati operazionali (schema riconciliato) Può avvenire in due passi dalle sorgenti operazionali ai dati riconciliati nella staging area conversioni e normalizzazioni matching (eventuale) filtraggio dei dati significativi dai dati riconciliati al data warehouse generazione di chiavi surrogate generazione di valori aggregati DATA WAREHOUSE: PROGETTAZIONE - 74 Pag. 37

Caricamento Propagazione degli aggiornamenti al data warehouse Per mantenere l integrità dei dati, si aggiornano in ordine 1. dimensioni 2. tabelle dei fatti 3. viste materializzate e indici Finestra temporale limitata per eseguire gli aggiornamenti Richiede proprietà transazionali (affidabilità, atomicità) DATA WAREHOUSE: PROGETTAZIONE - 75 Alimentazione delle dimensioni Tuple dimensione aggiornate/inserite Staging area ODS ID1 attr 1 attr 2. ID2 attr 3 attr 4. ID2 attr 1 attr 3 attr 5 attr 6 Identificazione aggiornamenti ID3 attr 5 attr 6. ID2 chiaves Tabella di look-up Verifica delle corrispondenze identificatori - chiavi surr. Dimension Table chiaves attr 1 attr 3 attr 5 attr 6 Data mart Tuple da inserire nella dimensione chiaves attr 1 attr 3 attr 5 attr 6 Caricamento nella dimension table Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 76 Pag. 38

Alimentazione delle fact table Identificazione aggiornamenti ODS Staging area ID4 attr 1 attr 2 ID5 attr 3 attr 4 Tuple della fact table aggiornate/inserite it ID4 ID5 ID6 mis 1 mis 3 mis 5 ID6 attr 5 attr 6 ID4 chiaves4 Data mart Tabelle di look-up ID5 chiaves5 ID6 chiaves6 Verifica delle corrispondenze identificatori - chiavi surr. Fact Table chiaves4 chiaves5 chiaves6 mis 1 mis 3 mis 5 mis 6 Tuple da inserire nella FT chiaves4 chiaves5 chiaves6 mis 1 mis 3 mis 5 mis 6 Caricamento nella fact table Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 77 Alimentazione delle viste materializzate {a,b} {a',b} {a,b'} {b} {a',b'} {a} {b'} {a'} { } Tratto da Golfarelli, Rizzi, Data warehouse, teoria e pratica della progettazione, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 78 Pag. 39