Informazioni generali sul corso Principi di Datawarehouse 1 Obiettivi del corso Conoscere i Datawarehouse 2 1
Argomenti Il contesto I sistemi DSS Architettura DW Proprietà DW Utilizzo DW Elementi OLAP: Data Cube: fatti,misure,gerarchie e dimensioni; Operazioni: Drill, Roll, Slice, Dice, Pivoting, Ranking, ecc; Star Schema: Fact Table e Dimensional Tables; 3 Il Contesto Verso la fine degli anni 90 si è capita l importanza strategica, per il business, dell uso dei dati aziendali raccolti dai processi operazionali (Business Intelligence) Il ritorno di investimento dato dall automatizzazione dei processi aziendali non dava il risultato sperato. Occorreva sfruttare meglio i dati aziendali globali accumulati 4 2
Knowledge Discovery in Databases : scoperta della conoscenza dai dati contenuti nei Database. Il processo di analisi parte da un insieme limitato di dati e, usando una certa metodologia, cerca di sviluppare una rappresentazione ottimale della struttura dei dati; durante questa fase il processo acquisisce conoscenza. Una volta che tale conoscenza è stata acquisita, questa può essere estesa ad un insieme più vasto di dati basandosi sull'assunzione che il largo insieme di dati ha una struttura simile a quello più semplice. 5 Processi Aziendali Processi informativi aziendali: Processi operativi Operano su dati dipartimentali e dettagliati Decisioni strutturate e basate su regole definite Processi gestionali Operano su dati settoriali e parzialmente aggregati Decisioni semistrutturate, basate su regole note ma con intervento umano creativo Processi direzionali Operano su dati integrati e aggregati Decisioni non strutturate, non ci sono regole, il tutto è basato su capacità umane 6 3
Processi Operativi Esempio - Una Banca Gestione di un movimento su Conto Corrente bancario presso uno sportello Processi Gestionali Concessione di un fido Revisione delle condizioni su conto corrente Processi Direzionali Verifica dell andamento di servizi su carte di credito Lancio di una campagna promozionale Accordi commerciali 7 Esempio - Compagnia Telefonica Processi Operativi Stipula dei contratti Instradamento delle telefonate Dati contabili telefonate(scatti, durata, tariffa ) Processi Gestionali Stipula di contratti speciali Installazione infrastrutture Processi Direzionali Scelta dei parametri che fissano il costo delle telefonate Definizione di contratti diversificati Pianificazione potenziamento infrastrutture 8 4
Il problema In genere: DB1 DB2 Ø abbondanza di dati DB4 DB3 ma anche Œ abbondanza di ridondanza ed inconsistenza che non permette di utilizzare i dati in modo utile a fini decisionali 9 Tipiche richieste Qual è il volume delle vendite per regione e categorie di prodotto durante l ultimo anno? Come si correlano i prezzi delle azioni delle società produttrici di hardware con i profitti trimestrali degli ultimi 10 anni? Quali sono stati i volumi di vendita dello scorso anno per regione e categoria di prodotto? In che modo i dividendi di aziende di hardware sono correlati ai profitti trimestrali negli ultimi 10 anni? 10 5
Possibili applicazioni contesti gestione dei rischi analisi finanziaria programmi di marketing analisi statistica integrazione DB clienti integrazione relazioni clienti analisi temporale telecomunicazioni banking università assicurazioni beni di consumo salute produzione problematiche 11 DSS sistemi di supporto alle decisioni (DSS) dati conoscenza utile all azienda 12 6
Sistemi di Supporto alle Decisioni (DSS) Sono i sistemi che supportano la dirigenza nel prevedere decisioni tattico-strategiche, nel modo migliore e velocemente. Tipiche operazioni: Quali sono stati i volumi di vendita dello scorso anno per una certa categoria di prodotto? Quali ordini dovremmo soddisfare per massimizzare le entrate? Ci si basa sui dati accumulati OLTP!!!! 13 OLAP per Decision Support E un elemento del DSS Obiettivo dell OLAP è supportare query ad-hoc per gli analisti di business Analisti di business hanno molta familiarità con spreadsheet OLAP tools permettono di lavorare su: Enormi data set Semanticamente arricchiti per comprendere meglio le analisi di business (ad es. tempo, geografia) Multidimensional view dei dati è il principio fondamentale dell OLAP 14 7
Perché i sistemi tradizionali (OLTP) non sono sufficienti? Non gestiscono dati storici Sono sistemi eterogenei Basse prestazioni DBMS non adeguati al supporto decisionale Problemi di sicurezza 15 OLTP vs. OLAP OLTP OLAP funzione gestione giornaliera supporto alle decisioni progettazione orientata alle orientata al soggetto applicazioni frequenza giornaliera sporadica dati recenti, dettagliati storici, riassuntivi, multidimensionali sorgente singola DB DB multiple uso ripetitivo ad hoc accesso read/write read flessibilità accesso uso di programmi generatori di query precompilati # record acceduti decine migliaia tipo utenti operatori manager # utenti migliaia centinaia tipo DB singola multiple, eterogenee performance alta bassa dimensione DB 100 MB - GB 100 GB - TB 16 8
Più formalmente Sistemi tradizionali On-Line Transaction Processing (OLTP) Sistemi di data warehousing On-Line Analytical Processing (OLAP) Profondamente diversi 17 OLAP Rappresenta una visione multidimensionale, LOGICA, dei dati Permette un analisi interattiva dei dati Aggregazioni per ogni intersezione di ogni dimensione. Previsione, trend analysis, e statistical analysis. Calcola e visualizza i dati in 2D o 3D crosstabs, charts, e grafi, con semplici operazioni di pivoting degli assi 18 9
Altri Sistemi derivati ROLAP (Relational OLAP): sistema di Data Warehouse in grado di supportare le interrogazioni tipiche (roll-up, drill-down, ) presentation server relazionale Oracle 9i + Discoverer MOLAP (Multidimensional OLAP): sistema di Data Warehouse in grado di supportare le interrogazioni tipiche (roll-up, drill-down, ) presentation server multidimensionale Express Server DOLAP (Desktop OLAP): i dati vengono recuperati da un DW relazionale o multidimensionale e copiati localmente Business Objects 19 Confronto caratteristiche sistemi OLAP Performance Analisi: Dimensione DW: Query: MOLAP Caricamento: ROLAP MOLAP ROLAP MOLAP: problema sparsità Flessibilità nello schema: ROLAP MOLAP: minor numero di dimensioni ammesse 20 10
Datawarehouse - definizione E una collezione di dati, integrata e consistente, progettata a supporto delle decisioni. Può contenere dati atomici o leggermente aggregati, ma rappresenta sempre l evoluzione temporale del dominio di interesse. Il DW è un architettura non è un prodotto E usata per il supporto alle decisioni 21 DataWarehouse - Architettura Operational & External Data Management Platform Metadata MKDB Reports, Query, EIS, Tools Data Extract Data Cleanup Data Load Data Warehouse Data Warehouse DBMS MDDB Data Marts OLAP Tools GIS, Tools, Data Mining Admin Platform Repository 22 11
External Data DW - Strumenti software coinvolti Data Capture DW Storage Management Information Delivery Extract Informix Oracle Transform DATA STAGE Secondary Data Mart BUSINESS OBJECT Data Mart MVS SQL Server Cleanse Enterprise Data Warehouse Data Mart Data Mart Etc ODS ORACLE 23 DW - Caratteristiche architetturali Separazione: l elaborazione analitica e quella transazionale devono essere il più possibile separate; Scalabilità: l architettura hw e sw deve essere facilmente ridimensionabile; Estendibilità: deve essere possibile accogliere nuove applicazioni e tecnologie; Sicurezza: il controllo sugli accessi è essenziale (dati strategici); Amministrabilità: l attività di amministrazione non deve essere troppo complessa; 24 12
DW - Architettura ad 1 livello 1/2 In questo caso non è prevista alcuna ridondanza dei dati. I sistemi decisionali accedono all unica copia dei dati in concorrenza con i sistemi operazionali, con conseguente degradazione delle prestazioni di entrambi. Il vantaggio è dato dalla minimizzazione del volume dei dati e dall eliminazione dei problemi di consistenza causati dalla duplicazione. L assenza di qualsiasi trasformazione dei dati operazionali ed in particolare l assenza di aggregazioni precalcolate contrasta in modo evidente con le esigenze dell analisi decisionale. I DW con architettura ad un livello sono anche detti data warehouse virtuali, poiché il disaccoppiamento dall ambiente operazionale è gestito direttamente dalle applicazioni decisionali senza il supporto di dati fisicamente organizzati secondo le esigenze dell ambiente informativo. 25 DW - Architettura ad 1 livello 2/2 OLTP = DW OLTP catalogo dei metadati DW Virtuale 26 13
DW - Metadati 1/4 Affinché un data warehouse sia acceduto e mantenuto in maniera efficiente è necessario conoscere quali dati sono disponibili, dove sono collocati, quali procedure di trasformazione sono state effettuate, etc. Tipi di metadati : 1. Servizio; 2. Controllo; 3. Per l utente finale. 27 DW - Metadati 2/4 1. di Servizio Per la costruzione del sistema informativo, ovvero metadati utilizzati per la creazione e gestione dei dati operazionali. L'origine di questi metadati è antecedente alla creazione del data warehouse ma il loro ruolo in tale contesto è essenziale in quanto contengono tutte le informazioni necessarie per l'integrazione e riconciliazione dei dati; 28 14
DW - Metadati 3/4 2. di controllo Utilizzati dal DW per gestire il funzionamento del data warehouse stesso. Questa tipologia di metadati realizza il collegamento tra i dati operazionali e la struttura del DW; 29 DW - Metadati 4/4 3. per l utente finale Pensati per aiutare l'utente del DW nella ricerca delle informazioni di interesse attraverso l enorme mole di dati disponibili. 30 15
DW - Architettura a 2 livelli 1/2 1. un livello di dati real-time, cui accedono i sistemi operazionali in lettura e scrittura; 2. un livello di dati derivati, cui accedono i sistemi decisionali tipicamente in lettura; in tale livello sono presenti sia dati di dettaglio che dati aggregati, relativi a finestre temporali di differenti dimensioni. 31 DW - Architettura a 2 livelli OLTP Derived Data catalogo dei metadati Derived Data = DW 32 16
DW - Architettura a 2 livelli Pro: La replicazione dei dati elimina il problema della concorrenza tra sistemi decisionali e sistemi operazionali. Contro: Gli insiemi di dati presenti nei dati derivati provengono da più d'uno degli insiemi presenti nei dati OLTP. Tutto questo produce una notevole complicazione nel livello di gestione ed aggiornamento dei dati derivati, rendendone difficile la manutenzione. Notevole aumento dello spazio di memorizzazione necessario. nasce il concetto di DATA MART 2/2 33 DW - Data mart 1/4 Un DW rappresenta spesso l unione di più Data mart Data mart: restrizione data warehouse ad un singolo processo o ad un gruppo di processi aziendali (es. Marketing) DW Data mart #1 Data mart DW #2 Data mart #3 34 17
Data mart - Definizione formale 2/4 una struttura dipartimentale dei dati, alimentata dal datawarehouse, dove i dati sono denormalizzati ed aggregati in base ai requisiti di una particolare divisione dell azienda. 35 Data mart - Caratteristiche 3/4 Datawarehouse dipartimentale sistema specializzato che mette insieme i dati necessari ad un dipartimento implementato creando Views specifiche alle applicazioni sottoinsiemi materializzati di Views dipartimentali che focalizzano su soggetti determinati. Possono utilizzare differenti metafore di rappresentazione 36 18
Data mart - Architettura 4/4 Sorgenti Data mart Gestionali DM Dipartimento Contabilità Documenti DW DM Dipartimento Risorse Umane Third-party software DM Dipartimento Vendite DM Dipartimento Produzione 37 DW - Architettura a 3 livelli 1/2 Lo scopo del livello di riconciliazione è dunque quello di creare un modello dati che sia comune a tutta l organizzazione e che contenga tutte le possibili informazioni di possibile interesse per gli utenti finali. Il processo di caricamento dei dati provenienti dal livello operativo (OLTP) permetterà di eliminare da essi inconsistenze e irregolarità e di integrarli tra loro in maniera razionale. 38 19
DW - Architettura a 3 livelli 2/2 OLTP catalogo dei metadati Dati riconciliati DW 39 Datawarehouse Proprietà 1/6 1. orientata ai soggetti 2. integrata: livello aziendale e non dipartimentale 3. correlata alla variabile tempo: ampio orizzonte temporale 4. con dati tipicamente aggregati, per effettuare stime 5. fuori linea: dati aggiornati periodicamente 40 20
Datawarehouse Proprietà 2/6 1. Orientata ai soggetti: considera i dati di interesse ai soggetti dell organizzazione e non quelli rilevanti ai processi organizzativi Esempio: basi di dati operazionali dipartimentali: vendita, produzione, marketing data warehouse: prodotti, clienti, fornitori 41 Datawarehouse Proprietà 3/6 2. Integrata: i dati provengono da tutte le sorgenti informative il data warehouse rappresenta i dati in modo univoco, riconciliando le eterogeneità delle diverse rappresentazioni: nomi struttura codifica rappresentazione multipla 42 21
Datawarehouse Proprietà 4/6 3. Correlata alla variabile tempo: presenza di dati storici per eseguire confronti, previsioni e per individuare tendenze Le basi di dati operazionali mantengono il valore corrente delle informazioni L orizzonte temporale di interesse è dell ordine dei pochi mesi Nel data warehouse è di interesse l evoluzione storica delle informazioni L orizzonte temporale di interesse è dell ordine degli anni 43 Datawarehouse Proprietà 5/6 4. Dati aggregati: nell attività di analisi dei dati per il supporto alle decisioni: non interessa chi ma quanti non interessa un dato ma: la somma di un insieme di dati; la media di un insieme di dati; il minimo di un insieme di dati; il massimo di un insieme di dati; ecc. 44 22
Datawarehouse Proprietà 6/6 5. Fuori linea: base di dati operazionale: i dati venono acceduti, inseriti, modificati, cancellati pochi record alla volta data warehouse: operazioni di accesso e interrogazione diurne operazioni di caricamento e aggiornamento notturne che riguardano milioni di record 45 Uso bimodale: DW - Uso 16-22 ore al giorno usati per attività di interrogazione 2-8 ore al giorno per: caricamento; indicizzazione; controllo qualità; pubblicazione. 1/3 46 23
Presentazione OLAP Internet DW - Uso 2/3 Linguaggi per lo sviluppo di applicazioni Reporting Analisi statistiche Query SQL ad hoc Interpretazione e analisi Database multidimensionali relazionali aggregati MDDB Strutture dati per l analisi RDB aggregati Data mining Database relazionali denormalizzati Estrazione, trasformazione, caricamento (ETL) 47 I ruoli degli utenti mutano DW - Uso 3/3 Gli utenti hanno esigenze diverse confrontandosi di volta in volta con necessità diverse Cruscotti Aziendali Lettura di Reports Analisi su Spreadsheet Q&R, OLAP, Data Mining 48 24
Pausa 49 Ripresa. 50 25
Datawarehouse Elementi OLAP Si basa su un modello dei dati multidimensionale che rappresenta i dati sotto forma di data cube Un data cube permette di modellare e creare viste dei dati rispetto a molteplici dimensioni Modello dati multidimensionale detto Star Schema Implementabile su un DB relazionale Consente volumi di dati molto grandi volumi dell ordine di 100 gbytes forniscono tempi di risposta sotto i 10 sec 51 Il manager regionale esamina la vendita dei prodotti in tutti i periodi relativamente ai propri mercati Data Cube Esempio 1 1/5 Il manager finanziario esamina la vendita dei prodotti in tutti i mercati relativamente al periodo corrente e quello precedente magazzino tempo prodotto Il manager di prodotto esamina la vendita di un prodotto in tutti i periodo e in tutti i mercati Il manager strategico si concentra su una categoria di prodotti, un area regionale e un orizzonte temporale medio 52 26
Data Cube Esempio 2 2/5 Store Pisa Roma Firenze sum Product Milk Bread Orange... sum All Products January 96, Pisa. Jan 96 Feb 96... Time sum Ogni dimensione contiene una gerarchia di valori una cella del cubo contiene valori aggregati (count, sum, max, etc.) 53 Data Cube Esempio 3 3/5 Processo: vendite in una catena di supermercati tempo magazzino A feb apr mag set prodotto B C 1 9 10 42 vino 15 12 7 3 2 23 25 11 acqua coca cola 54 27
Data Cube Esempio 4 4/5 canale Data Cube 55 Concetti per Definire un Data Cube 5/5 1. Fatto un tema di interesse per l organizzazione (vendite, spedizioni, acquisti) 2. Misura attributo che descrive quantitativamente il fatto da diversi punti di vista, una proprietà di un fatto da analizzare (numero di unità vendute, prezzo unitario) 3. Gerarchia determina come le istanze di un fatto possono essere aggregate e selezionate - descrive una dimensione 4. Dimensione descrive una prospettiva lungo la quale un organizzazione vuole mantenere i dati (prodotto, negozio, data) 56 28
Data cube 1. Fatti 1/3 I fatti hanno delle proprietà che sono dette misure Le proprietà dei fatti sono tipicamente: numeriche additive possono essere aggregati rispetto agli attributi delle dimensioni, utilizzando l operazione di addizione 57 Data cube 1. Fatti 2/3 Esempi: Attività (fatti): vendite in una catena di supermercati misure: n. prodotti venduti, incassi, costi,... Attività (fatti): ordini misure: n. spedizioni, n. clienti, importi,... Attività (fatti): iscrizioni universitarie misure: n. studenti, Attività (fatti): chiamate gestite da compagnia telefonica misure: costo, durata 58 29
Data cube 1. Fatti anomali In alcuni contesti applicativi, puo` capitare di avere fatti senza misure fatti anomali 3/3 in questo caso i fatti rappresentano semplicemente una relazione molti-a-molti, senza aggiungere alcuna nuova informazione Esempi: Attività principale: corsi universitari dimensioni: corsi, professori, studenti, tempo Attività principale: assegnazione cure negli ospedali dimensioni: ospedali, dottori, diagnosi, tempo, pazienti, assistenti, procedure 59 Data cube 2. Misure Le misure sono i valori quantitativi che si vogliono analizzare Ad esempio: - la quantità e il valore fatturato; - il costo del venduto. Le misure sono analizzate in funzione delle dimensioni da cui dipendono 60 30
Data cube 3. Gerarchie (tra dimensioni) 1/5 Ogni dimensione puo` essere organizzata in una gerarchia che ne rappresenta i possibili livelli di aggregazione per I dati ogni livello della gerarchia rappresenta una relazione molti-a-uno Le gerarchie esprimono i legami esistenti tra più dimensioni. 61 Data cube 3. Gerarchie 2/5 Esempi 1: anno regione trimestre provincia categoria marca mese città prodotto giorno negozio 62 31
Data cube 3. Gerarchie 3/5 Esempi 2: guardando l anagrafica prodotti si può immaginare una struttura gerarchica che organizzi la stessa secondo una struttura ad albero di questo tipo:»prodotti»prodotti fornitura interna (Tipo ordine)»prodotti Finiti (Tipo articolo) 63 Data cube 3. Gerarchie 4/5 Esempi 3: Anno Semestre Trimestre Mese Regione Provincia Comune Direzioni Generali Aree Coordinamento Settori Data 64 32
Data cube 3. Gerarchie 5/5 Come Esplorare una gerarchia Anno Semestre Drill-down (dettaglio) Trimestre Mese Data Roll-up (aggregazione) 65 Data cube 4. Dimensione La dimensione è un attributo consistente dei dati. 1/5 La dimensione esprime una classe di raggruppamento delle informazioni, un parametro di organizzazione e di selezione nella lettura degli stessi. Ad esempio nel caso di una anagrafica prodotti una dimensione può esprimere la famiglia: Macchine tipo A, Accessori tipo xyz, ecc.; Il numero delle dimensioni cresce proporzionalmente alla complessità dell analisi. 66 33
Data cube 4. Dimensione 2/5 Devono essere scelte solo le entità rilevanti per le analisi che si intendono effettuare Le dimensioni sono tipicamente caratterizzate da attributi: testuali discreti ma possono anche essere numeriche dimensione di un prodotto Esiste sempre una dimensione temporale 67 Data cube 4. Dimensione Esempi: Attività: vendita in una catena di supermercati dimensioni: tempo, prodotti, magazzino Attività: ordini dimensioni: tempo, prodotti, clienti, spedizioni Attività: iscrizioni universitarie dimensioni: tempo, facoltà, tipologia studenti Attività : vendita automobili dimensioni: clienti, venditori, concorrenti, automobili, concessionarie 3/5 68 34
Data cube 4. Dimensione Problema: come si può identificare se un attributo numerico è un fatto o un attributo di una dimensione? Se è una misura che varia continuamente nel tempo FATTO Esempio: analisi costo di un prodotto nel tempo Se è una descrizione discreta di qualcosa che è ragionevolmente costante 4/5 ATTRIBUTO di una dimensione Esempio: costo di un prodotto visto come informazione descrittiva 69 Data cube 4. Dimensione Le dimensioni utilizzate sono spesso le stesse in vari contesti applicativi: tempo collocazione geografica organizzazione clienti 5/5 il numero di attributi per ogni dimensione è in genere molto elevato (anche nell ordine del centinaio) 70 35
La dimensione - Tempo È presente in ogni DW in quanto virtualmente ogni DW rappresenta una serie temporale Domanda: perché non campo di tipo DATE nella Risposta: tabella dei fatti? la dimensione tempo permette di descrivere il tempo in modi diversi da quelli che si possono desumere da un campo date in SQL (giorni lavorativi-vacanze, periodi fiscali, stagioni, ecc.) 1/2 71 La dimensione - Tempo 2/2 Alcuni tipici attributi della dimensione tempo: tempo-k (può essere un campo di tipo data in SQL) giorno-della-settimana n-giorno-nel-mese n-giorno-in-anno n-settimana-in-anno mese stagione periodo fiscale... 72 36
Data cube Operazioni 1/7 1. ROLL-UP (ACCUMULARE) AUMENTA IL LIVELLO DI AGGREGAZIONE DEI DATI 2. DRILL-DOWN (PERFORARE) AUMENTA IL LIVELLO DI DETTAGLIO DEI DATI 3. SLICE-AND-DICE (AFFETTARE E TAGLIARE A CUBETTI) SELEZIONA E PROIETTA RIDUCENDO LA DIMENSIONALITA DEI DATI 4. PIVOTING (ROTATE) (FAR PERNO, RIORIENTA IL CUBO) SELEZIONA DUE DIMENSIONI ATTORNO ALLE QUALI AGGREGARE I DATI METRICI 5. RANKING (ATTRIBUIRE UNA CLASSE DI MERITO) ORDINA I DATI SECONDO CRITERI PREDEFINITI 6. OPERAZIONI TRADIZIONALI (SELEZIONE ATTRIBUTI CALCOLATI, ECC.) 73 Data cube Operazioni 2/7 7. TOP-n (MIGLIORI n) SELEZIONA I PRIMI n NEI DATI 8. SELECTION (FILTRA) SELEZIONA IN BASE A UNA GRANDEZZA DATA 9. COMPUTED ATTRIBUTES (CALCOLA) ESEGUE CALCOLI DI AGGREGAZIONE Dipendono dai tool di accesso influenzano l implementazione delle query 74 37
Data cube Operazioni 3/7 1. Roll up (Drill up): riassumi i dati, salendo nella gerarchia dei concetti per una dimensione o attraverso una riduzione di una dimensione il volume totale di vendite per categoria di prodotto e per regione per anno si rimuove per esempio la dimensione tempo 2. Drill down (Roll down): passa da un livello di dettaglio basso ad un livello di dettaglio alto, scendendo nella gerarchia o introducendo una nuova dimensione. per un particolare prodotto, trova le vendite dettagliate per ogni venditore e per ogni data 75 Data cube Operazioni 4/7 1. Roll-Up 2. Drill-Down Roll-up Region Year Product Store Product Roll-up Year Drill-Down Store Product Month Drill-Down 76 38
1. Roll-Up Data cube Operazioni: 2. Drill-Down 5/7 Dipartimento Incassi Unità vendute Panificio Lit. 12100000 5088 Cibo surgelato Lit. 23000000 15000 down up Dipartimento Marca Incassi Unità vendute Panificio Barilla 6000000 2600 Panificio Agnesi 6100000 2488 Cibo surgelato Findus 15000000 6500 Cibo surgelato Orogel 8000000 8500 77 Data cube Operazioni 6/7 2. Slice and Dice: select & project L operazione di Slice esegue una selezione su una dimensione del cubo. L operazione di Dice definisce un sottocubo eseguendo una selezione su due o più dimensioni Esempio:Vendite delle bevande nel West negli ultimi 6 mesi 7. Top-n: Esempio: determinare i 10 prodotti piu` venduti ad una certa data e in un certo magazzino, ordinati per vendite 78 39
Data cube Operazioni 7/7 3. Slice and Dice Anno=2003 Slice Quotidiano Anno Lingua Dice Anno in (2003, 2004) Quotidiano in ( La Nazione, La Repubblica ) Lingua in ( Inglese, Giapponese ) 79 Data cube Schemi Star schema: Un singolo oggetto (fact table) in mezzo connessa ad un numero di oggetti (dimension tables) Snowflake schema: Un raffinamento dello star schema in cui la gerarchia dimensionale è rappresentata esplicitamente (normalizzando le tabelle delle dimensioni) Fact constellations: più tabelle dei fatti condividono tabelle dimensionali 80 40
Star schema - Fact Table 1/5 fatto ora VENDITA cliente dimensioni negozio Unità Incasso prodotto dimensioni misure 81 Star Schema - caratteristiche 2/5 Una singola fact table e una singola tabella per ogni dimensione (dimensional table) Ogni fatto referenzia ad una tupla in ognuna delle dimensioni ed ha attributi addizionali Chiavi surrogate (generate) vengono utilizzate per performance 82 41
Star Schema - Esempio 3/5 83 Tempo Codice orario Ora Giorno Settimana Mese Trimestre Anno Luogo Codice luogo Negozio Indirizzo Codice Città Città Codice Regione Regione Codice Stato Stato Star Schema Esempio Vendite Codice orario Codice luogo Codice prodotto Codice cliente Unità Incasso Prodotto Codice prodotto Descrizione Colore Modello Codice categoria Categoria Cliente Codice cliente Nome Cognome Indirizzo Età Codice professione Professione 4/5 84 42
DW (Star Schema) - Esempio Fatti: unità, incasso Dimensioni: prodotti, tempo 5/5 Si vuole: analizzare unità e incasso per categoria di prodotto CREATE VIEW vendite_per_cat(categoria,tempo_k,unità_cat,incasso_cat) AS SELECT categoria, tempo_k, SUM(unità),SUM(incasso) FROM Vendite,prodotti WHERE vendite.prodotto_k = prodotti.prodotto_k GROUP BY categoria, tempo_k 85 Riferimenti - Libri Inmon, W.H. Building the Data Warehouse: Third Edition. New York: John Wiley & Sons. 2002, per una progettazione razionale e puntuale. Inmon, W.H. and Hackathorn, R. Using The Datawarehouse. New York: John Wiley & Sons. 1994, per un analisi di un DW e delle sue capacità. Tannenbaum, A., Metadata Solutions. Reading: Addison Wesley. 2002, per rivedere l importanza dei metadati nel processo. Golfarelli M., Rizzi S., Teoria e Pratice della progettazione Data Warehouse. 2003, affronta le problematiche di base con un linguaggio molto semplice. R. Kimball. The Data Warehouse Toolkit. John Wiley & Sons, New York, 1996. A. Lavezzari, D. Vanzanelli. Tecnologie e organizzazione di un data warehouse. Systech, Milano, 2002. Stanford Technology Group. Designing the Data Warehouse on Relational Databases. 86 43
Riferimenti - Siti http://www.billinmon.com/ una sorgente in continuo aggiornamento, con una finestra aperta sull evoluzione del DW: il Corporate Information Factory. http://www.datawarehouse.com una fonte attendibile con la possibilità di certificazione. http://www.oracle.com/solutions/business_intelligence/in dex.html?sol_datawarehousing.html per le soluzioni Oracle. http://www-3.ibm.com/software/data/informix/redrick/ per una soluzione IBM Informix Redbrick. 87 Domande & Risposte 88 44
Saluti 89 45