DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino Data warehouse Progettazione Elena Baralis Politecnico di Torino Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 1 Database and data mining group, Politecnico di Torino BG DM Fattori di rischio DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 2 Pag. 1 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino 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 Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 3 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino Business Dimensional Lifecycle (Kimball) BG DM DataBase and Data Mining Group of Politecnico di Torino Pianificazione Modellazione dimensionale Progettazione fisica Progettazione e sviluppo alimentazione Specifica applicazioni utente DATI Selezione e installazione prodotti TECN NOLOGIA Gestione progetto G Progetto dell’architettura Sviluppo applicazioni utente Attuazione Manutenzione Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 4 Pag. 2 APPLICAZIO NI Definizione dei requisiti Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino Progettazione di data mart requisiti utente schema riconciliato PROGETTAZIONE CONCETTUALE carico di lavoro volume dati modello logico schema di fatto schemi delle sorgenti operazionali RICONCILIAZIONE PROGETTAZIONE LOGICA schema riconciliato carico di lavoro volume dati DBMS schema logico PROGETTAZIONE FISICA PROGETTAZIONE DELL’ALIMENTAZIONE schema fisico schema dell’alimentazione Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 5 Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino Analisi dei requisiti Elena Baralis Politecnico di Torino Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 6 Pag. 3 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Analisi dei requisiti DataBase and Data Mining Group of Politecnico di Torino • Raccoglie – 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 d data t martt prescelto lt è – strategico per l’azienda – alimentato da (poche) sorgenti affidabili Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 7 Database and data mining group, Politecnico di Torino BG DM Requisiti applicativi DataBase and Data Mining Group of Politecnico di Torino • Descrizione degli eventi di interesse (fatti) – ogni fatto rappresenta una categoria di eventi di i t interesse per l’l’azienda i d • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 8 Pag. 4 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Requisiti strutturali DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati DATA WAREHOUSE: PROGETTAZIONE - 9 Elena Baralis Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino Progettazione concettuale Elena Baralis Politecnico di Torino Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 10 Pag. 5 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Progettazione concettuale DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 11 Database and data mining group, Politecnico di Torino BG DM Dimensional Fact Model DataBase and Data Mining Group of Politecnico di Torino • 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 dimensione data Elena Baralis Politecnico di Torino negozio quantità venduta incasso num. clienti prezzo unitario Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati VENDITA fatto DATA WAREHOUSE: PROGETTAZIONE - 12 Pag. 6 misura Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Dimensional Fact Model DataBase and Data Mining Group of Politecnico di Torino • Gerarchia – rappresenta una relazione di generalizzazione tra un sottoinsieme tt i i di attributi tt ib ti di una di dimensione i ((gerarchia hi geografica per la dimensione negozio) – è una dipendenza funzionale (relazione 1:n) reparto gruppo di marketing categoria attributo dimensionale tipo gerarchia città della marca marca prodotto anno giorno vacanza responsabile delle vendite distretto di vendita VENDITA data Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 negozio quantità venduta incasso num. clienti prezzo unitario trimestre mese settimana città del regione stato negozio Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 13 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino Corrispondenza con l’ER BG DM DataBase and Data Mining Group of Politecnico di Torino reparto REPARTO gruppo marketing (1,n) stato GRUPPO MARKETING (1,1) STATO CATEGORIA (1,n) (1,n) (1,1) regione (1,n) città marca (1,1) CITTÀ MARCA (1,1) REGIONE (1,1) trimestre TRIMESTRE (1,n) tipo TIPO (1,n) (1,n) (1,1) (1,n) (1,1) marca (1,1) MARCA città mese (1,1) CITTÀ PRODOTTO (1,n) MESE (1,n) prodotto (1,n) (1,1) (0,n) (1,1) (1,1) (0,n) negozio NEGOZIO Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 anno ANNO (1,n) categoria (1,1) (1,1) (1,n) (1,n) (0,n) data vendita qtà venduta incasso DATA num. clienti prezzo unitario (1,1) (1,1) (1,n) (1,n) RESP. VENDITE DISTRETTO VENDITA VACANZA responsabile delle vendite distretto di vendita vacanza (1,1) (1,n) GIORNO giorno SETTIMANA settimana Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 14 Pag. 7 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM DFM: costrutti avanzati DataBase and Data Mining Group of Politecnico di Torino capo reparto responsabile gruppo di marketing categoria non-additività tipo peso prodotto anno reparto città della marca marca dieta giorno vacanza data trimestre mese settimana arco opzionale responsabile delle vendite distretto di vendita convergenza VENDITA negozio quantità venduta incasso num. clienti prezzo unitario (AVG) città del regione stato negozio indirizzo telefono promozione data inizio data fine Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati costo dimensione opzionale sconto attributo descrittivo pubblicità Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 15 Database and data mining group, Politecnico di Torino BG DM Aggregazione DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 16 Pag. 8 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Classificazione delle misure DataBase and Data Mining Group of Politecnico di Torino • 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 Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 17 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino Operatori di aggregazione BG DM DataBase and Data Mining Group of Politecnico di Torino 1999 2000 anno trim. I ’99 II ’99 III ’99 IV ’99 I ’00 II ’00 III ’00IV ’00 categoria tipo prodotto Brillo detersivo Sbianco pulizia Lucido casa Manipulite sapone Scent Latte F Slurp latticino Latte U Slurp alimentari Yogurt Slurp Bevimi bibita Colissima 100 20 60 15 30 90 60 20 20 50 90 30 50 20 35 90 80 30 10 60 95 20 60 25 20 85 85 40 25 45 90 10 45 30 25 75 60 35 30 40 80 25 40 15 30 60 70 30 35 50 70 30 40 15 30 80 70 35 30 60 90 35 50 20 20 85 75 35 20 45 85 20 40 10 15 60 65 20 10 40 1999 2000 anno trim. I’99 II’99 III’99 IV’99 I’00 II’00 III’00 IV’00 categoria pulizia casa alimentari 225 240 225 270 220 280 200 240 190 245 185 275 215 260 170 195 anno 1999 2000 categoria pulizia casa alimentari Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino anno 1999 2000 categoria tipo pulizia detersivo casa sapone alimentari latticino bibita 870 760 1030 975 670 200 750 280 605 155 685 290 Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 DATA WAREHOUSE: PROGETTAZIONE - 18 Pag. 9 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino Operatori di aggregazione BG DM DataBase and Data Mining Group of Politecnico di Torino • Distributivi – sempre possibile il calcolo di aggregati da dati a livello di dettaglio maggiore – esempi: sum, min, max Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 19 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino Operatori non distributivi anno trim. categoria pulizia casa tipo detersivo sapone prodotto Brillo Sbianco Lucido Manipulite Scent I’99 trim. categoria pulizia casa tipo detersivo sapone media: anno trim. categoria pulizia casa DataBase and Data Mining Group of Politecnico di Torino 1999 II’99 III’99 IV’99 2 1,5 , – 1 1,5 2 1,5 , 3 1,2 1,5 2,2 2 3 1,5 2 2,5 2,5 , 3 1,5 – I’99 II’99 III’99 IV’9 9 1,75 1,25 1,50 2,17 1,35 1,76 2,40 1,75 2,08 2,67 1,50 2,09 I’99 1999 II’99 III’99 IV’99 1,50 1,84 anno BG DM 1999 2,14 2,38 Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 20 Pag. 10 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Operatori di aggregazione DataBase and Data Mining Group of Politecnico di Torino • 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 Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 21 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino BG DM DFM: costrutti avanzati DataBase and Data Mining Group of Politecnico di Torino gerarchia condivisa uso chiamante di t tt numero distretto telefonico uso del num. chiamante distretto del numero chiamante distretto del numero chiamato uso del num. chiamato chiamato ora CHIAMATA numero durata data mese anno ruolo ora CHIAMATA numero chiamante numero durata numero chiamato data mese anno magazzino SPEDIZIONE Tratti da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino prodotto ordine cliente numero costo data di spedizione DATA WAREHOUSE: PROGETTAZIONE - 22 Pag. 11 città regione stato data mese anno Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM DFM: costrutti avanzati DataBase and Data Mining Group of Politecnico di Torino genere VENDITA autore numero incasso libro data mese anno arco multiplo reparto reparto nome nome cognome cognome RICOVERO categoria RICOVERO data costo diagnosi codPaz sesso data categoria fascia d'utenza costo codPaz diagnosi gruppo di diagnosi città sesso fascia d'utenza città anno nascita anno nascita DATA WAREHOUSE: PROGETTAZIONE - 23 Elena Baralis Politecnico di Torino Tratti da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino BG DM Schemi di fatto vuoti DataBase and Data Mining Group of Politecnico di Torino • 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 area studente nazionalità FREQUENZA (COUNT) età Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino corso facoltà sesso DATA WAREHOUSE: PROGETTAZIONE - 24 Pag. 12 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino Rappresentazione del tempo BG DM DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 25 Database and data mining group, Politecnico di Torino BG DM Modalità di rappresentazione del tempo (tipo I) DataBase and Data Mining Group of Politecnico di Torino • 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” Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 26 Pag. 13 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino Modalità di rappresentazione del tempo (tipo II) BG DM DataBase and Data Mining Group of Politecnico di Torino • 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) Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 27 Database and data mining group, Politecnico di Torino Modalità di rappresentazione del tempo (tipo III) BG DM DataBase and Data Mining Group of Politecnico di Torino • 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 – iintroduzione t d i di una coppia i di ti timestamp t che h iindicano di l’i l’intervallo t 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 28 Pag. 14 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino Modalità di rappresentazione del tempo (tipo III) BG DM DataBase and Data Mining Group of Politecnico di Torino – 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 Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 29 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino Carico di lavoro BG DM DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 30 Pag. 15 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Volume dei dati DataBase and Data Mining Group of Politecnico di Torino • Stima dello spazio necessario per il data mart – per i dati – per le strutture accessorie (indici, viste materializzate) • Si considerano id – 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 31 Database and data mining group, Politecnico di Torino BG DM Sparsità DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 32 Pag. 16 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino Progettazione logica Elena Baralis Politecnico di Torino Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 33 Database and data mining group, Politecnico di Torino Progettazione logica BG DM DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 34 Pag. 17 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Schema a stella DataBase and Data Mining Group of Politecnico di Torino • 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 Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 35 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino BG DM Schema a stella DataBase and Data Mining Group of Politecnico di Torino Categoria Fornitore Tipo Prodotto Rappresentante VENDITE Mese Settimana Quantità Guadagno Negozio Città Stato Settimane ID _Settimane Settimana M ese Prodotti ID_Prodotti Prodotto Tipo Categoria Fornitore Negozi ID_Negozi ID_Settimane ID_Prodotti Quantità Guadagno ID_Negozi Negozio Città Stato Rappresentante Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 36 Pag. 18 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Snowflake schema DataBase and Data Mining Group of Politecnico di Torino • 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 Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 37 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino BG DM Snowflake schema DataBase and Data Mining Group of Politecnico di Torino Categoria Fornitore Tipo Prodotto Mese Rappresentante VENDITE Settimana Quantità Guadagno Negozio Città Stato Settimane ID _Settimane Settimana M ese Prodotti ID_Prodotti ID Prodotti Prodotto ID_Tipo Fornitore DT1,1 ID_Negozi ID_Settimane ID Prodotti ID_Prodotti Quantità Guadagno Negozi ID_Negozi d1,1 Negozio Chiave esterna ID_Città Rappresentante DT1,2 Città ID_Città Città Stato Tipi d1,2 ID_Tipo Tipo Categoria Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 38 Pag. 19 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino Star o snowflake? BG DM DataBase and Data Mining Group of Politecnico di Torino • 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 d e s o (ese (esempio: p o ge gerarchia a c a geog geografica) a ca) – in presenza di viste materializzate che richiedano una rappresentazione “aggregata” anche della dimensione Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 39 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino Archi multipli BG DM DataBase and Data Mining Group of Politecnico di Torino 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 40 Pag. 20 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Archi multipli DataBase and Data Mining Group of Politecnico di Torino genere VENDITA autore Libri Vendite ID_Libri ID_Date Quantità Incasso ID_Libri Libro Genere libro numero incasso data BRIDGE ID_Libri ID_Autori Peso Autori ID_Autori Autore mese anno Libri Vendite ID_Libri ID_Autori ID D t ID_Date Quantità Incasso Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati DATA WAREHOUSE: PROGETTAZIONE - 41 ID_Libri Libro Genere Autori ID_Autori Autore Elena Baralis Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Archi multipli DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 42 Pag. 21 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Archi multipli DataBase and Data Mining Group of Politecnico di Torino • 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 Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 43 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino Dimensioni degeneri BG DM DataBase and Data Mining Group of Politecnico di Torino • Dimensioni rappresentate da un solo attributo Categoria Fornitore Tipo Prodotto Modalità Spedizione Codice ritorno LINEA ORDINE Quantità I Importo Ordine Cliente Città Stato linea Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 44 Pag. 22 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Dimensioni degeneri DataBase and Data Mining Group of Politecnico di Torino • 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 d ll di della dimensione i – sono possibili tutte le combinazioni – attuabile solo per cardinalità limitate del dominio degli attributi Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 45 Database and data mining group, Politecnico di Torino Junk dimension BG DM DataBase and Data Mining Group of Politecnico di Torino Ordine ID_Ordini ID Ordini Ordine Cliente ID_Città Linea Ordine ID_Ordini ID_Prodotti ID_MCS Quantità Importo MCS ID_MCS Modalità Sped. Codice Ritorno Stato Linea Ordine Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 46 Pag. 23 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino Viste materializzate Elena Baralis Politecnico di Torino Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 47 Database and data mining group, Politecnico di Torino Viste materializzate BG DM DataBase and Data Mining Group of Politecnico di Torino • Sommari precalcolati della tabella dei fatti – memorizzati esplicitamente nel data warehouse – permettono di aumentare l’efficienza delle interrogazioni che richiedono aggregazioni F1 = {prodotto, data, negozio} v2 = {tipo, data, città} v3 = {categoria, mese, città} v4 = {tipo, mese, regione} v5 = {trimestre, regione} Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 48 Pag. 24 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Viste materializzate DataBase and Data Mining Group of Politecnico di Torino • Definite da istruzioni SQL • Esempio: definizione di v3 – 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 Città ID_ Città Città Stato ID_ Città ID_Mese ID_Categoria QuantitàTot GuadagnoTot Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 49 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino BG DM Viste materializzate DataBase and Data Mining Group of Politecnico di Torino • 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'} {a',b'} {b} {a} {b'} {a'} {} Reticolo multidimensionale Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 50 Pag. 25 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Scelta delle viste DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 51 Database and data mining group, Politecnico di Torino BG DM Scelta delle viste DataBase and Data Mining Group of Politecnico di Torino q3 q1 q2 + = viste i t candidate, did t 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 52 Pag. 26 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino Scelta delle viste BG DM DataBase and Data Mining Group of Politecnico di Torino Minimizzazione di spazio e tempo Spazio Tempo Costo disco aggiorn. esec. q3 q1 q2 Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati DATA WAREHOUSE: PROGETTAZIONE - 53 Elena Baralis Politecnico di Torino Database and data mining group, Politecnico di Torino Scelta delle viste BG DM DataBase and Data Mining Group of Politecnico di Torino Minimizzazione del costo Spazio Tempo Costo disco aggiorn. esec. q3 q1 q2 Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 54 Pag. 27 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Scelta delle viste DataBase and Data Mining Group of Politecnico di Torino Rispetto dei vincoli Spazio Tempo Costo disco aggiorn. esec. q3 q2 q1 Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati DATA WAREHOUSE: PROGETTAZIONE - 55 Elena Baralis Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino Progettazione fisica Elena Baralis Politecnico di Torino Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 56 Pag. 28 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Progettazione fisica DataBase and Data Mining Group of Politecnico di Torino • Caratteristiche del carico di lavoro – interrogazioni con aggregati che richiedono l’accesso a g di ogni g tabella una frazione significativa – 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 57 Database and data mining group, Politecnico di Torino BG DM Progettazione fisica DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 58 Pag. 29 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Progettazione fisica DataBase and Data Mining Group of Politecnico di Torino • Tuning – 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 i t • intra-query – le operazioni di join e group by si prestano bene all’esecuzione parallela Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 59 Database and data mining group, Politecnico di Torino BG DM Indice bitmap DataBase and Data Mining Group of Politecnico di Torino • Composto da una matrice di bit – una colonna per ogni valore diverso del dominio dell’attributo indicizzato – una riga per ogni tupla (RID della tabella) – la posizione (i,j) è 1 se la tupla i assume il valore j, 0 altrimenti Esempio: Indice sul campo Posizione della tabella impiegati Ingegnere – Consulente – Manager – Programmatore Assistente – Ragioniere Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino RID Ing. 1 0 2 0 3 0 4 0 5 0 Cons. 0 0 0 0 0 Man. 1 0 0 0 0 DATA WAREHOUSE: PROGETTAZIONE - 60 Pag. 30 Prog. Assis. Rag. 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Indice bitmap DataBase and Data Mining Group of Politecnico di Torino • Molto adatto per attributi dimensionali con dominio caratterizzato da cardinalità ridotta – la memorizzazione richiede uno spazio limitato – al crescere della cardinalità del dominio (NK), cresce lo spazio richiesto Bitmap VS B-T ree 600 B-tree Bitmap NR×Len(Pointer) ( ) NR × NK × 1 bit Disk space (MB) 500 Len(Pointer) = 4×8 bit 400 300 200 100 0 0 5 10 15 20 25 30 35 40 45 NK B-Tree Bitmap Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 61 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino BG DM Indice bitmap DataBase and Data Mining Group of Politecnico di Torino • Efficiente per la verifica di espressioni booleane di predicati – and/or bit a bit sulle bitmap p Esempio: “Quanti “Quanti maschi in Romagna sono assicurati ?” ?” RID Sesso Assic. Regione 1 M No LO 1 0 0 2 M Sì E/R 1 1 1 3 F No LA 0 0 0 4 M Sì E/R 1 1 1 =2 Esempio tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 62 Pag. 31 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Indice di join DataBase and Data Mining Group of Politecnico di Torino • Precalcola il join tra due tabelle – memorizzazione delle coppie di RID delle tuple che soddisfano ddi f il predicato di t di jjoin i 1 2 3 4 RID RID Vendite Negozi 1 1 2 1 3 2 4 2 IDNeg 123 123 367 367 1 2 IDSett 13 24 36 27 IDNeg IDN 123 367 Vendite IDProd 41 17 94 11 Quantità 100 150 350 120 Negozi Negozio N i Città N1 RM N3 MI Stato St t I I Incasso 10,00 15,00 35,00 12,00 RespVendite R V dit R1 R2 Coppie di RID che verificano la condizione di join: Vendite.. IDNegozio Vendite IDNegozio= = Negozio.IDNegozio Esempio tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 63 Database and data mining group, Politecnico di Torino BG DM Indice a stella DataBase and Data Mining Group of Politecnico di Torino • Precalcola il join tra due o più tabelle – memorizzazione delle n-uple di RID delle tuple che soddisfano ddi f i predicati di ti di jjoin i Negozi Settimana IDSett Sett Mese 13 Jan1 Jan. 1 24 Jan2 Jan. 2 VRID NRID SID PID 1 1 1 1 2 1 2 2 3 2 1 2 4 2 2 1 1 2 1 2 3 4 IDNeg 123 367 IDNeg IDSett 123 13 123 24 367 13 367 24 Negozio Città Stato N1 RM I N3 MI I Vendite IDProd Quantità 41 100 17 150 17 350 41 120 Incasso 10,00 15,00 , 35,00 12,00 Prodotti IDProd Prodotto Tipo Categoria Fornitore 41 P1 A X F1 1 17 P2 A X F1 2 Esempio tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 64 Pag. 32 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Indice a stella DataBase and Data Mining Group of Politecnico di Torino • Vantaggi – efficienza nel calcolo di join che coinvolgono le colonne i i i li d iniziali dell’indice ll’i di (o ( tutte t tt lle colonne) l ) • Svantaggi – utile solo per specifiche combinazioni di join • è necessario memorizzare un numero elevato di indici per avere generalità – lo spazio occupato può essere significativo g • i join coinvolgono sempre la tabella dei fatti Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 65 Database and data mining group, Politecnico di Torino BG DM Bitmapped join index DataBase and Data Mining Group of Politecnico di Torino • Matrice di bit che precalcola il join tra una dimensione e la tabella dei fatti – una colonna per ogni RID della dimensione – una riga i per ognii RID d della ll ttabella b ll d deii ffatti tti – la posizione (i,j) è 1 se la tupla i della dimensione è in join con la tupla j della tabella dei fatti, 0 altrimenti • Può essere utilizzato insieme agli indici bitmap tradizionali per calcolare interrogazioni complesse con condizioni sulle dimensioni e join multipli RID della tabella VENDITE RID 1 2 3 4 5 … 1 1 0 0 0 1 … 2 0 1 0 1 0 … 3 0 0 1 0 0 … … … … … … … … RID della tabella NEGOZIO La riga 4 della tabella VENDITE è in join con la riga 2 della tabella NEGOZIO Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 66 Pag. 33 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Bitmapped join index Indice Bitmap sull’attributo DTi.bi Eseguendo undimensionale OR bit a bit sisi Per Perogni ognitabella bitmapped join index ottiene il valoreledi RID i che RID che siidentificano caricano i vettori di bit soddisfa tutte le condizioni soddisfano eventuali condizioni corrispondenti alle RID relative a una tabella sugli attributi dimensionali selezionate dimensionale 1 Bitmapped join index FT.ai = DTi.ai RI D 1 2 3 4 5 6 … RID 4 1 2 3 4 5 … 0 0 0 1 0 0 … 0 0 0 0 1 0 … 0 0 1 0 0 1 … 0 0 1 0 0 0 … 1 1 0 0 0 0 … … … … … … … … 1 1 0 0 0 0 … 2 3 OR bit a bit RID Val1 Val2 1 1 0 2 0 0 3 0 1 4 0 0 5 0 0 … … … RID 5 RIDi 0 0 0 0 1 0 … 1 1 0 0 1 0 … = DataBase and Data Mining Group of Politecnico di Torino … Vali … 0 … 0 … 0 … 1 … 1 … … … Valh … 0 … 1 … 0 … 0 … 0 … … Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 67 Database and data mining group, Politecnico di Torino BG DM Bitmapped join index RID1 0 1 1 AND 0 bit a bit 1 0 … RIDi … … … AND … bit a bit … … … 1 1 0 0 1 0 … AND bit a bit DataBase and Data Mining Group of Politecnico di Torino RIDn RID 1 1 0 1 1 0 … 1 2 3 4 5 6 … … … … AND … bit a bit … … … Le tuple della fact table che soddisfano l’interrogazione l interrogazione vengono determinate eseguendo un AND bit a bit tra gli n vettori precedentemente creati = 4 RID che soddisfano tutte le condizioni Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 68 Pag. 34 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Scelta degli indici DataBase and Data Mining Group of Politecnico di Torino • 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 – uso con cautela di star jjoin index (p (problema dell’ordine delle colonne) – consigliati bitmapped join index • Indici per i group by – uso di viste materializzate Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 69 Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino Alimentazione del data warehouse Elena Baralis Politecnico di Torino Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 70 Pag. 35 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Extraction, Transformation and Loading (ETL) DataBase and Data Mining Group of Politecnico di Torino • 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 71 Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino 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 i di t o ritardata it d t • Scelta dei dati da estrarre basata sulla loro qualità Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 72 Pag. 36 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 73 Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino Estrazione incrementale • Assistita dall’applicazione – le modifiche sono catturate da specifiche p 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 g – accesso mediante primitive opportune ai dati del log – formato proprietario del log – efficiente, non interferisce con il carico applicativo Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 74 Pag. 37 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino Estrazione incrementale • Definizione di trigger – i trigger gg 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 Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 75 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino BG DM Confronto tra le tecniche di estrazione DataBase and Data Mining Group of Politecnico di Torino Statica Marche temporali Assistita applicazione Trigger Log Gestione dati transitori o semi-storicizzati NO Incompleta Completa Completa Completa 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 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 Li it t Limitata Li it t Limitata V i bil Variabile Alt Alta Li it t Limitata Nessuna Nessuna Medio Medio Nessuna Bassa Bassa Alta Media Bassa Tratto da Devlin, Data warehouse: from architecture to implementation, Addisono-Wesley, 1997 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 76 Pag. 38 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino Estrazione incrementale BG DM DataBase and Data Mining Group of Politecnico di Torino 6/4/2010 4/4 4/ 4/2010 Cod Prodotto Cliente Qtà 1 Greco di tufo Malavasi 50 2 Barolo Maio 150 4 Sangiovese Cappelli 145 5 Vermentino Maltoni 25 6 Trebbiano Maltoni 150 Cod Prodotto Cliente Qtà 1 Greco di tufo Malavasi 50 2 Barolo Maio 150 3 Barbera Lumini 75 4 Sangiovese Cappelli 45 Differenza incrementale Cod Prodotto 3 Barbera 4 Sangiovese 5 Vermentino 6 Trebbiano 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 77 Database and data mining group, Politecnico di Torino BG DM DataBase and Data Mining Group of Politecnico di Torino Pulitura • Operazioni volte al miglioramento della qualità dei dati (correttezza e consistenza) – – – – – dati d ti d duplicati li ti 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 78 Pag. 39 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Pulitura DataBase and Data Mining Group of Politecnico di Torino • 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 id tifi i di outliers tli od deviazioni i i id da b business i rules l • La strategia migliore è la prevenzione, rendendo più affidabili e rigorose le procedure di data entry OLTP Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 79 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino Join approssimato DB Marketing BG DM DataBase and Data Mining Group of Politecnico di Torino DB Amministrazione codice ordine CF CLIENTE data quantità ORDINE nome indirizzo cognome cliente cliente cliente codice indirizzo cognome cliente cliente cliente codice ordine CF CLIENTE fa (0,n) nome indirizzo cognome cliente cliente cliente data ORDINE (1,1) Data 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 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 80 Pag. 40 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Problema purge/merge DB Marketing sede di Roma DataBase and Data Mining Group of Politecnico di Torino DB Marketing sede di Milano CF C F CLIENTI SEDE ROMA CLIENTI SEDE MILANO nome indirizzo cognome cliente cliente cliente nome indirizzo cognome cliente cliente cliente CF CLIENTI Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 nome indirizzo cognome cliente cliente cliente • I record duplicati devono essere identificati ed eliminati • E` necessario un criterio per valutare la somiglianza tra due record Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 81 Database and data mining group, Politecnico di Torino BG DM Trasformazione DataBase and Data Mining Group of Politecnico di Torino • Conversione dei dati dal formato operazionale a quello del data warehouse (integrazione) pp uniforme dei dati • Richiede una rappresentazione operazionali (schema riconciliato) • Può avvenire in due passi – dalle sorgenti operazionali ai dati riconciliati nella staging area • conversioni e normalizzazioni • matching t hi • (eventuale) filtraggio dei dati significativi – dai dati riconciliati al data warehouse • generazione di chiavi surrogate • generazione di valori aggregati Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 82 Pag. 41 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino BG DM Esempio di pulitura e trasformazione Elena Baralis C.so Duca degli Abruzzi 24 20129 Torino (I) nome: cognome: indirizzo: Normalizzazione CAP: città: nazione: nome: cognome: indirizzo: CAP: città: nazione: DataBase and Data Mining Group of Politecnico di Torino Elena Baralis C.so Duca degli Abruzzi 24 20129 Torino I Elena Baralis Corso Duca degli Abruzzi 24 20129 Torino Italia Standardizzazione nome: Elena cognome: Baralis indirizzo: Corso Duca degli Abruzzi 24 Correzione CAP: 10129 città: Torino nazione: Italia Adattato da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 83 Database and data mining group, Politecnico di Torino BG DM Caricamento DataBase and Data Mining Group of Politecnico di Torino • Propagazione degli aggiornamenti al data warehouse g dei dati,, si aggiornano gg in • Per mantenere l’integrità ordine 1. dimensioni 2. tabelle dei fatti 3. viste materializzate e indici • Finestra temporale limitata per eseguire g g gli aggiornamenti • Richiede proprietà transazionali (affidabilità, atomicità) Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 84 Pag. 42 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino Alimentazione delle dimensioni ID2 Tuple dimensione attr 1 aggiornate/inserite attr 3 attr 5 attr 6 ID2 chiaveS ODS Verifica delle corrispondenze identificatori - chiavi surr. Tuple da inserire nella dimensione chiaveS attr 1 attr 3 attr 5 attr 6 Dimension Table ID1 attr 1 attr 2 ……. chiaveS attr 1 attr 3 attr 5 attr 6 ID3 attr 5 attr 6 ……. ID2 attr 3 attr 4 ……. DataBase and Data Mining Group of Politecnico di Torino Tabella di look-up Staging area Identificazione aggiornamenti BG DM Caricamento nella dimension table Data mart Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 85 Copyright – Tutti i diritti riservati Database and data mining group, Politecnico di Torino Alimentazione delle fact table BG DM DataBase and Data Mining Group of Politecnico di Torino Tabelle di look-up Staging area Tuple della fact table aggiornate/inserite i t /i it Identificazione aggiornamenti ID4 ID5 ID6 mis 1 mis 3 mis 5 ID4 chiaveS4 ID5 attr 3 attr 4 ID6 chiaveS6 Verifica delle corrispondenze identificatori - chiavi surr. ID4 attr 1 attr 2 ODS ID5 chiaveS5 Tuple da inserire nella FT chiaveS4 chiaveS5 chiaveS6 mis 1 mis 3 mis 5 mis 6 Fact Table ID6 attr 5 attr 6 Data mart chiaveS4 chiaveS5 chiaveS6 mis 1 mis 3 mis 5 mis 6 C i Caricamento t nella fact table Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 86 Pag. 43 Elena Baralis Politecnico di Torino DB MG Data warehouse: progettazione DataBase and Data Mining Group of Politecnico di Torino Database and data mining group, Politecnico di Torino Alimentazione delle viste materializzate BG DM DataBase and Data Mining Group of Politecnico di Torino { b} {a,b} {a',b} {a,b'} {a',b'} {b} {a} {b'}} {b {a'}} {a {} Tratto da Golfarelli, Rizzi,”Data warehouse, teoria e pratica della progettazione”, McGraw Hill 2006 Copyright – Tutti i diritti riservati Elena Baralis Politecnico di Torino DATA WAREHOUSE: PROGETTAZIONE - 87 Pag. 44 Elena Baralis Politecnico di Torino