Architetture per l’analisi di dati Basi di dati: Architetture e linee di evoluzione Seconda edizione Capitolo 8 Appunti dalle lezioni Motivazioni I sistemi informatici permettono di aumentare la produttività delle organizzazioni automatizzandone la gestione operativa quotidiana. Questi dati possono essere utilizzati per la pianificazione e il supporto alle decisioni – se opportunamente accumulati e analizzati. Una corretta gestione dei dati storici può cioè essere occasione di un grande vantaggio competitivo. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 2 SISTEMI INFORMATIVI DIREZIONALI Il livello operativo – Si occupa delle attività attraverso cui l’azienda produce i propri servizi e prodotti. Il livello direzionale – Si occupa di quelle attività necessarie alla definizione degli obiettivi da raggiungere ed alle strategie da intraprendere per perseguirli. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 3 Piramide di Anthony Pianificazione strategica – Controllo direzionale – Determina gli obiettivi generali dell’azienda. Definisce traguardi economici ovvero risultati da conseguire a medio termine e loro verifica. Controllo operativo – Assicura che le attività dei processi aziendali procedano nel modo prefissato. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 4 Sistemi di supporto alle decisioni DSS – Supportano la dirigenza aziendale nel prendere decisioni tattico-strategiche Ma su quali dati? – Quelli accumulati per i processi operativi e gestionali Transaction Processing Systems: – In maniera efficace e veloce OLTP: On-Line Transaction Processing Decision Support Systems: – OLAP: On-Line Analytical Processing Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 5 OLTP Tradizionale elaborazione di transazioni che realizzano i processi operativi dell’azienda. Caratterizzati da: – – – – Operazioni predefinite, brevi e relativamente semplici. Ogni operazione coinvolge “pochi” dati. Dati di dettaglio, aggiornati. Acidità delle transazioni essenziale. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 6 OLAP Elaborazione di operazioni per il supporto alle decisioni Caratterizzati da: – – – – Operazioni complesse e casuali. Ogni operazione può coinvolgere molti dati. Dati aggregati, storici, anche non attualissimi. Le proprietà “acide” non sono rilevanti, perché le operazioni sono di sola lettura. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 7 OLTP vs. OLAP Utente Funzione Progettazione Dati Uso Accesso Unità Unità di lavoro Record acc. acc. N. utenti Dimensione Metrica OLTP impiegato operazioni giornaliere orientata all'applicazione correnti, aggiornati, dettagliati, relazionali, omogenei ripetitivo read-write, indicizzato transazione breve decine migliaia 100MB - 1GB throughput Basi di Dati 2 – Prof. Antonio d’Acierno OLAP dirigente supporto alle decisioni orientata ai dati storici, aggregati, multidimensionali, eterogenei casuale read, sequenziale interrogazione complessa milioni centinaia 100GB - 1TB tempo di risposta Architetture per l’analisi dei dati 8 OLTP vs. OLAP I requisiti sono quindi contrastanti Le applicazioni dei due tipi possono danneggiarsi a vicenda OLTP OLAP Base di dati Data Warehouse APPLICAZIONE OLTP APPLICAZIONE OLAP UTENTI FINALI (Transazioni) ANALISTI (Query complesse) Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 9 Dettagli dell’architettura dei SID Data WareHouse Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 10 Data warehouse Una base di dati – Utilizzata principalmente per il supporto alle decisioni direzionali Integrata Dati dipendenti dal tempo e aggregati Non volatile e fuori linea Orientata ai soggetti Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 11 Integrata I dati di interesse provengono da varie sorgenti informative – ciascun dato proviene da una o più di esse Il data warehouse rappresenta i dati in modo univoco – riconciliando le eterogeneità dalle diverse rappresentazioni nomi struttura codifica rappresentazione multipla …. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 12 Dati storici Le basi di dati operazionali mantengono il valore corrente delle informazioni – L’orizzonte temporale di interesse è dell’ordine dei pochi mesi Nel data warehouse è di interesse l’evoluzione storica delle informazioni – L’orizzonte temporale di interesse è dell’ordine degli anni Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 13 Dati aggregati Nelle attività di analisi dei dati per il supporto alle decisioni – – non interessa “chi” ma “quanti” non interessa un dato ma la somma, la media, il minimo e il massimo, di un insieme di dati Le operazioni di aggregazione sono quindi fondamentali nel warehousing e nella costruzione/mantenimento di un data warehouse. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 14 Fuori linea In una base di dati operazionale, i dati vengono – – – – – acceduti inseriti modificati cancellati pochi record alla volta Nel data warehouse, abbiamo – – – operazioni di accesso e interrogazione — “diurne” operazioni di caricamento e aggiornamento dei dati “notturne” che riguardano milioni di record Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 15 Una base di dati separata Diversi motivi: – non esiste un’unica base di dati operazionale che contiene tutti i dati di interesse – i dati di interesse sarebbero comunque diversi – – la base di dati deve essere integrata non è tecnicamente possibile fare l’integrazione in linea devono essere mantenuti dati storici e aggregati l’analisi dei dati richiede per i dati organizzazioni speciali e metodi di accesso specifici degrado generale delle prestazioni senza la separazione Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 16 Orientata i soggetti Basi dati per OLTP: – hanno un orientamento processivo / funzionale. Basi di Dati 2 – Prof. Antonio d’Acierno DW: – Non danno informazioni di supporto alle operazioni aziendali ma sono orientati ai “soggetti” dell’analisi. Architetture per l’analisi dei dati 17 Architettura Metadati Sorgenti esterne Basi di dati operazionali Sorgenti dei dati Basi di Dati 2 – Prof. Antonio d’Acierno Analisi multidimensionale Data Warehouse Data mining Strumenti di analisi Architetture per l’analisi dei dati 18 Sorgenti informative I sistemi operazionali dell’organizzazione – – – – sono sistemi transazionali (OLTP) orientati alla gestione dei processi operazionali non mantengono dati storici ogni sistema gestisce uno o più soggetti (ad esempio, prodotti o clienti) sono spesso sistemi “legacy” Sorgenti esterne – ad esempio, dati forniti da società specializzate di analisi Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 19 Alimentazione del data warehouse ETL: Extract, Transform, Load Attività necessarie ad alimentare un DW – Estrazione – Transform accesso ai dati nelle sorgenti Pulizia Trasformazione – – – rilevazione e correzione di errori e inconsistenze nei dati estratti trasformazione di formato, correlazione con oggetti in sorgenti diverse Caricamento con introduzione di informazioni temporali e generazione dei dati aggregati Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 20 Metadati I metadati sono informazioni utili all’attività di ETL "Dati sui dati": – – – descrizioni logiche e fisiche dei dati (nelle sorgenti e nel DW) corrispondenze e trasformazioni dati quantitativi Spesso sono immersi nei programmi Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 21 Data Warehouse Server Sistema dedicato alla gestione warehouse Può basarsi su due tecnologie principali – MOLAP – I dati sono memorizzati in forma multidimensionale tramite speciali strutture dati tipicamente proprietarie ROLAP I dati sono memorizzati in DBMS relazionali (schemi a stella) I produttori di RDBMS stanno iniziando a fornire estensioni OLAP ai loro prodotti Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 22 Strumenti di analisi Consentono di effettuare analisi dei dati utilizzando il Data Warehouse server – offrono interfacce amichevoli per presentare, in forma adeguata e facilmente comprensibile, i risultati delle analisi Due principali tipologie di analisi (e quindi di strumenti) – Analisi multidimensionale Tools – di reportistica Data mining Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 23 Architettura Sorgenti esterne Metadati Basi di dati operazionali Analisi dimensionale Data Warehouse Data mining Data Mart Sorgenti dei dati Basi di Dati 2 – Prof. Antonio d’Acierno Strumenti di analisi Architetture per l’analisi dei dati 24 Data mart Un sottoinsieme logico dell’intero data warehouse – – – un data mart è la restrizione del data warehouse a un singolo problema di analisi un data warehouse è l’unione di tutti i suoi data mart un data mart rappresenta un progetto fattibile la realizzazione diretta di un data warehouse completo non è invece solitamente fattibile Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 25 Variante dell’architettura Metadati Sorgenti esterne Analisi dimensionale Basi di dati operazionali Data mining Sorgenti dei dati Basi di Dati 2 – Prof. Antonio d’Acierno Data Mart Strumenti di analisi Architetture per l’analisi dei dati 26 MOLAP Articolo Milano-2 Milano-1 Roma-2 Roma-1 Luogo Tempo Lettori DVD Televisori Quantità Lettori CD Videoregistratori 1 trim. 2003 2 trim. 2003 3 trim. 2003 4 trim. 2003 Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 27 Dimensioni e gerarchie di livelli regione provincia anno categoria marca trimestre mese città prodotto negozio Luogo Basi di Dati 2 – Prof. Antonio d’Acierno giorno Articolo Tempo Architetture per l’analisi dei dati 28 MOLAP: Slice and dice Articolo Seleziona e taglia Luogo Il manager regionale esamina la vendita dei prodotti in tutti i periodi relativamente ai propri mercati Basi di Dati 2 – Prof. Antonio d’Acierno Tempo Il manager finanziario esamina la vendita dei prodotti in tutti i mercati relativamente al periodo corrente e quello precedente Architetture per l’analisi dei dati 29 MOLAP: Slice and dice Seleziona e taglia Articolo Luogo Il manager di prodotto esamina la vendita di un prodotto in tutti i periodi e in tutti i mercati Basi di Dati 2 – Prof. Antonio d’Acierno Tempo Il manager strategico si concentra su una categoria di prodotti, una area e un orizzonte temporale. Architetture per l’analisi dei dati 30 Risultato di slice and dice LETTORI DVD 1 trim. 03 2 trim. 03 3 trim. 03 4 trim. 03 Roma-1 38 91 66 198 Roma-2 155 219 248 265 Milano-1 121 273 266 326 Milano-2 222 122 155 200 Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 31 ... e poi di roll-up LETTORI DVD 1 trim. 03 2 trim. 03 3 trim. 03 4 trim. 03 Roma 193 310 314 463 Milano 343 395 421 526 Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 32 Risultato di roll-up Per tutti i negozi 1 trim. 03 2 trim. 03 3 trim. 03 4 trim. 03 Lettori DVD 536 705 735 989 Televisori 567 716 606 717 Lettori CD 187 155 186 226 Videoregistratori 175 191 202 319 Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 33 ... e poi drill - down Per tutti i negozi Gen 03 Feb 03 Mar 03 Apr 03 Mag 03 Giu … 03 Lettori DVD 165 178 193 205 244 256 … Televisori 154 201 212 245 255 216 … Lettori CD 54 88 45 24 65 66 … Videoregistratori 56 64 55 52 64 75 … Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 34 Visualizzazione dei dati I dati vengono infine visualizzati in veste grafica, in maniera da essere facilmente comprensibili. Si fa uso di: – – – – – – – tabelle istogrammi grafici torte superfici 3D bolle … Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 35 Visualizzazione finale di un’analisi 1000 900 800 700 600 500 400 300 200 4 trim.2003 100 3 trim.2003 0 2 trim.2003 Lettori DVD 1 trim.2003 Televisori Lettori CD Videoregistratori Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 36 Implementazione MOLAP I dati sono memorizzati direttamente in un formato dimensionale (proprietario). Le gerarchie sui livelli sono codificate in indici di accesso alle matrici Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 37 ROLAP Uno schema dimensionale (schema a stella) è composto da – Una tabella principale, chiamata tabella dei fatti: Memorizza i fatti e le sue misure – – Le misure più comuni sono numeriche, continue e additive Varie tabelle ausiliarie, chiamate tabelle dimensione una tabella dimensione rappresenta una dimensione rispetto alla quale è interessante analizzare i fatti – – Memorizza i membri delle dimensioni ai vari livelli Gli attributi sono solitamente testuali, discreti e descrittivi Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 38 Schema a stella Tempo CodiceTempo Giorno Mese Trimestre Anno Luogo CodiceLuogo Negozio Indirizzo Città Provincia Regione Basi di Dati 2 – Prof. Antonio d’Acierno Vendite Tempo Luogo Articolo Cliente Quantità Incasso Articolo CodiceArticolo Descrizione Marca CodiceCategoria Categoria Cliente CodiceCliente Nome Cognome Sesso Età Professione Architetture per l’analisi dei dati 39 Una possibile istanza Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 40 Caratteristiche La tabella fatti memorizza le misure (fatti) di un processo – – – la chiave è composta da riferimenti alle chiavi di tabelle dimensione gli altri campi rappresentano le misure è in BCNF Una tabella dimensione memorizza i membri di una dimensione – – – la chiave primaria è semplice gli altri campi memorizzano i livelli della dimensione tipicamente denormalizzata Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 41 Schema a fiocco di neve Vendite Provincia CodiceProv Città CodiceCittà Regione Provincia Luogo CodiceLuogo Negozio Indirizzo Città CodiceTempo CodiceLuogo CodiceArticolo CodiceCliente Quantità Incasso Regione CodiceReg Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 42 Interrogazioni Le interrogazione assumono solitamente il seguente formato standard SELECT D1.L1,.., Dn.Ln, Aggr1(F.M1),.., Aggrk(F.Ml) FROM Fatti as F, Dimensione1 as D1, .., DimensioneN as Dn WHERE Join-predicate(F,D1) and .. and Join-predicate(F,Dn) and selection-predicate GROUP BY D1.L1, ..., Dn.Ln ORDER BY D1.L1, ..., Dn.Ln Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 43 Cube SELECT Citta, Categoria, count(Quantita)as VenditeCC FROM Vendite as V, Articolo as A, Luogo as L WHERE V.CodiceArticolo = A.CodiceArticolo and V.CodiceLuogo = L.CodiceLuogo GROUP BY CUBE(Citta, Categoria) Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 44 Roll Up SELECT Citta, Categoria, count(Quantita) as VenditeCC FROM Vendite as V, Articolo as A, Luogo as L WHERE V.CodiceArticolo = A.CodiceArticolo and V.CodiceLuogo = L.CodiceLuogo GROUP BY ROLLUP(Citta, Categoria) Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 45 Progettazione Esigenze OLAP Dati OLTP Altre sorgenti Selezione delle sorgenti informative Traduzione in modello E/R operativo Integrazione degli schemi E/R operativi Identificazione dello schema “portante” della DWH Progettazione concettuale globale della DWH Progettazione logica Progettazione fisica Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 46 Statistiche vendite farmaci Il Ministero della Salute ha commissionato la progettazione di un Data Warehouse per effettuare analisi e statistiche circa le vendite di farmaci da parte delle varie farmacie italiane. In particolare si vogliono analizzare le statistiche relative alle tipologie di farmaci venduti suddivisi per area geografica e orizzonte temporale, nonché semplici statistiche sull’utenza consumatrice. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 47 Sorgenti informative La prima fase nella progettazione del DWH consiste nell’individuazione e analisi delle sorgenti informative contenenti i dati operazionali da analizzare. Da un colloquio con il committente, si evince che ogni farmacia utilizza una base di dati operazionale per la gestione delle vendite dei farmaci implementata attraverso un apposito DBMS relazionale. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 48 Base dati operativa PRODOTTI (Cod, Nome, Ditta, Prezzo, Scorte ) FORNITORI (Nome, Indirizzo, Città, Tel ) FORNITURE (NomeFornitore:FORNITORI, CodProdotto:PRODOTTI) CLIENTI (CF, Tessera, Nome, Cognome, Età, Indirizzo, Tel ) FATTURE (Numero, Data, Totale, CFCliente:CLIENTI) VENDITE (NumFattura:FATTURE, CodProdotto:PRODOTTI, Qta) FARMACI (Cod, Nome, Tipo, Descrizione, Nota CUF, Classe, CodProdottto:PRODOTTI) FORME(Cod, Nome, Dose) COMPOSIZIONI(CodFarmaco:FARMACI, CodForma:FORME) RICETTE(Sigla, Descrizione ) ASSOCIAZIONI(CodFarmaco:FARMACI, SiglaRicetta:RICETTE) Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 49 Schema E/R Dall’analisi di tale schema logico, seguendo poi un semplice processo di reverse engineering, è possibile individuare lo schema E/R di riferimento (uguale per le varie sorgenti informative). Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 50 Schema E/R della base dati operativa Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 51 Schema ER portante della DWH Per la progettazione del DWH si identificano in prima istanza le seguenti informazioni direzionali : – – – Vendite/Fatture, Prodotti/Farmaci, Clienti. Prodotti/Farmaci Vendite/Fatture Clienti Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 52 Con fatti misure e dimensioni Lo schema concettuale indica che i prodotti di una farmacia (un tipo di farmaco) sono venduti con apposita fattura ai clienti, di cui la farmacia stessa possiede i dati anagrafici. Da tale schema emergono nel contempo: – – – il fatto principale, ovvero la “vendita dei farmaci”; le misure, ovvero il “prezzo dei farmaci” e la “quantità venduta”; alcune delle dimensioni dell’analisi, ovvero i “prodotti” e i “clienti”. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 53 Integrazione degli schemi concettuali Nell’ipotesi che le farmacie utilizzano tutte lo stesso schema logico dei dati, sarà semplice effettuare le operazioni di integrazione dei dati nella base di dati direzionale, e, quindi il modello concettuale definito precedentemente, può essere considerato come il punto di partenza per l’implementazione del DWH. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 54 Progettazione logica In questa fase si deriva lo schema multi dimensionale individuando ulteriori dimensioni di analisi: – il tempo – giorno, mese, trimestre e anno) area geografica in termini della città, provincia e regione della farmacia che ha effettuato la vendita Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 55 Progettazione fisica Nella fase di progettazione fisica si determina lo schema relazionale a stella e, per consentire un buon livello di aggregazione delle informazioni, si decide di normalizzare la sola “collocazione geografica” delle farmacie ottenendosi uno schema relazionale a stella del tipo “a fiocco di neve”. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 56 Lo schema a fiocco di neve Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 57 Gestione dei dati Su tale DW è possibile effettuare in maniera semplice interrogazioni come: – – – selezione del farmaco più venduto in Campania. determinazione dell’età media dei consumatori di un dato farmaco. I clienti di una specifica farmacia. Infine vanno “pianificate” apposite procedure di “refreshing” per aggiornare il contenuto del data warehouse ad intervalli di tempo prefissati. Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 58 Data mining Insieme di tecniche di ricerca di “informazione nascosta” in una collezione di dati Approccio alternativo all’analisi MOLAP – estrarre informazioni di supporto alle decisioni da un data warehouse Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 59 Problemi classici di data mining Classificazione – Associazioni – catalogare un fenomeno in una classe predefinita sulla base di fenomeni già catalogati individuare regolarità in un insieme di transazioni anonime Pattern sequenziali – individuare regolarità in un insieme di transazioni non anonime, nel corso di un periodo temporale Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 60 Associazioni Dati di ingresso: – sequenze di oggetti (transazioni) Obiettivo: – trovare delle “regole” che correlano la presenza di un insieme di oggetti con un altro insieme di oggetti Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 61 Esempio di regola Pannolini ⇒ Birra il 30% delle transazioni che contiene Pannolini contiene anche Birra il 2% tra tutte le transazioni contiene entrambi gli oggetti Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 62 Rilevanza delle regole X, Y ⇒ Z – Confidenza C: C% di tutte le transazioni che contengono X e Y contengono anche Z – “forza” della regola Supporto S: la regola è verificata in S% delle transazioni rispetto a tutte le transazioni rilevanza statistica Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 63 Pattern sequenziali Dati di ingresso: – insieme di transazioni eseguita da un certo cliente Obiettivo: – trovare le sequenze di oggetti che compaiono in almeno una certa percentuale data di insiemi di transazioni Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 64 Esempi “Il 5% dei clienti ha comprato un lettore di CD in una transazione e CD in un’altra” – il 5% è il supporto del pattern Applicazioni – – – misura della soddisfazione del cliente promozioni mirate medicina (sintomi - malattia) Basi di Dati 2 – Prof. Antonio d’Acierno Architetture per l’analisi dei dati 65