SISTEMI INFORMATIVI AZIENDALI Prof. Andrea Borghesan venus.unive.it/borg [email protected] Ricevimento: Alla fine di ogni lezione Modalità esame: scritto 1 Data Warehousing. Introduzione 1/2 I data warehousing sono il nucleo di gran parte dei DSS (Decision Support System) Sono progettati per gestire grandi quantità di dati e fornire rapidamente informazioni, rapporti e analisi. “[…] collezine di dati, a supporto del processo decisionale manageriale orientata al soggetto, integrata, non volatile e dipendente dal tempo”. Bill Inmon, seconda metà anni „80 “un singolo, completo e consistente deposito di dati, ottenuti da diverse fonti e resi disponibili agli utenti finali in maniera tale da poter essere immediatamente fruibili”. Barry Devlin, IBM System Journal 2 Data Warehousing. Introduzione 2/2 I primi esempi di architetture di questo tipo vengono presentate da IBM e Hewlett-Packard, rispettivamente negli anni 1991 e 1993. Da allora le tecnologie e terminologie si sono evolute, oggi con data warehouse si intende non solo la base di dati utilizzata come supporto alle decisioni, ma più ampiamente un sistema composto anche dalle applicazioni che servono per estrarre, analizzare e presentare i dati. Oggi i più grandi produttori di DBMS mettono a disposizione strumenti per gestire sistemi informazionali inesistenti fino a 5 anni fa. 3 Metodologia OLAP Negli anni „80 Edgar Codd inventò il termine OLTP (On-Line Transaction Processing) e propose 12 criteri per individuare un sistema di questo tipo (i criteri vennero ampiamente accettati come standard di riferimento). Nel 1993, Codd scrisse un articolo dal titolo “Providing OLAP (On Line Analytical Processing to user analysts”. In tale documento proponeva delle regole per definire un la metodologia OLAP ma causa il basso contenuto matematicoformale tali regole non vennero prese in considerazione. Nel 1995, L‟OLAP Report propose nuove regole e propose una semplice formula per dare una definizione precisa. La cosiddetta regola FASMI 4 FASMI 1/2 Scomponendo tale acronimo, si ottengono le regole principali: Fast, i sistemi OLAP hanno un uso interattivo. Mediamente deve rispondere entro 5 secondi, 1 secondo per le domande più facili e mai superare i 20 secondi di ritardo. Analytical, il sistema deve riuscire ad elaborare analisi statistiche in maniera abbastanza semplice per l‟utente finale, in particolare deve: Eseguire 5 nuovi calcoli a partire da calcoli fatti precedentemente Fornire risposte a richieste specifiche particolari Rappresentare i dati elaborati secondo diverse modalità (tabellare, report o grafico) senza che l’utente scriva righe di codice FASMI 2/2 Shared, i sistemi OLAP sono utilizzati da diversi utenti ne consegue che il sistema deve fornire delle regole per la sicurezza al fine di garantire la riservatezza dei dati. Se l‟utente può modificare i dati deve essere garantito l‟accesso concorrente (aspetto sottovalutato in quanto di solito l‟accesso ai dati è di sola lettura). Multidimensional, è il requisito più importante, significa rappresentare i dati in multidimensione. Informational, deve contenere tutte le informazioni necessarie indipendentemente esse siano immagazzinate 6 Per ottenere le caratteristiche FASMI si usano varie tecnologie, tipo architetture client-server o metodi di calcolo parallelo Architettura dei sistemi di data warehousing I sistemi di data warehousing sono articolati in modo complesso: 7 Elementi dei sistemi di data warehousing a due livelli: Primo livello, sorgenti dei dati: i sistemi informazionali solitamente non generano dati propri ma rielaborano dati provenienti da altre applicazioni Secondo livello, aree di memorizzazione dei dati informazionali: data warehouse vero e proprio ed eventualmente data mart tematici 8 Primo e secondo livello sono connessi dalle procedure di popolamento che, basandosi sul modello di integrazione e sulle regole di controllo e integrazione dei dati, convertono i dati sorgente in dati multidimensionali, consistenti, completi, corretti Modelli concettuali per data warehouse I sistemi informazionali sono soggetti a frequenti modifiche soprattutto per l‟approccio ciclico al loro sviluppo; Solitamente viene realizzato un primo nucleo attorno ai fatti di maggior interesse per l‟azienda, e da questo si procede poi per sviluppo successivi. Sono stati proposti diversi modelli concettuali ma ad oggi nessuno si è affermato come standard. In queste dispense si presenta il modello DFM (Dimensional Fact Model) proposto da Golfarelli nel 1988. Si tratta di un modello multidimensionale grafico definito per le problematiche tipiche del data warehousing. 9 Dimensional Fact Model Il DFM descrive i fatti attorno a cui si struttura un data warehouse, fornisce dunque una visione concettuale di alto livello. Ogni fatto è delineabile tramite uno schema che rappresenta le misure e le informazioni descrittive associate al fatto e specifica anche le dimensioni. Nello schema DFM i fatti sono rappresentati tramite un rettangolo (nome del fatto + misure che lo descrivono). Con i circoletti vengono rappresentate le dimensioni. Gli attributi descrittivi sono collegati al fatto tramite una linea. 10 Dimensional Fact Model. Schema di fatto, misure e dimensioni 11 Schema di fatto con gerarchie e costrutti avanzati 12 E il modello Entità-Relazione? Il diagramma Entità-relazione può esser utilizzato per descriver un modello multidimensionale ma risulta di difficile lettura. Esso appare ridondante, sovradimensionato. Il problema sta nel fatto che le varie regole di associazione rappresentano, salvo rari casi, vincoli di dipendenza funzionale. Come si può notare dalla figura successiva il DFM sembra essere l‟unico candidato a descrivere chiaramente/intuitivamente la struttura di un ipercubo. 13 Modello E-R e Modello DFM a confronto 14 Modelli logici per il data warehouse Combinando le basi di dati con le varie tipologie di interrogazioni (linguaggio SQL o MDX) si ottengono diversi tipi di modelli logici: ROLAP: Relational OLAP MOLAP: Multidimensional OLAP HOLAP:Hybrdi OLAP 15 ROLAP Tramite l‟approccio ROLAP la struttura multidimensionale dei fatti viene realizzata completamente su database relazionali. Le interrogazioni vengono effettuate tramite il linguaggio SQL tramite funzioni di aggregazione. I vantaggi derivanti da tale approccio sono: Minor occupazione di spazio (spazio = dati salvati nel db) Maggiore diffusione degli strumenti relazionali tra gli operatori del settore dunque maggiore facilità d‟uso Svantaggi: Non si possono effettuare query multidimensionali su strutture dati relazionali (denormalizzazione e precalcolo di query aggregative più frequentemente utilizzate) 16 MOLAP Tramite l‟approccio MOLAP il data warehouse memorizza i dati usando strutture intrinsecamente multidimensionali, i dati vengono memorizzati in matrici e vettori e l‟accesso è posizionale. I vantaggi derivanti da tale approccio sono: Ottime prestazioni dovuta alla struttura dimensionali di partenza Facilità di interrogazione e massima efficacia nell‟analisi dei dati rispetto ai database relazionali Svantaggi: Grande utilizzo di spazio su disco per immagazzinare i dati Mancanza di standard, le strutture e le convenzioni di interrogazione spesso sono proprietarie delle software house e rendono così difficile l‟integrazione fra sistemi diversi e complessa la migrazione verso altri sistemi 17 HOLAP L‟approccio HOLAP è una soluzione intermedia che combina i vantaggi MOLAP e ROLAP. Il data warehouse contiene tutti i fatti elementari e le strutture informative legate alle dimensioni e viene implementato su base dati relazionale. I vantaggi derivanti da tale approccio sono: L‟uso di tecnologie relazionali standard permette maggiore scalabilità del sistema Le aggregazioni di alto livello vengono archiviati direttamente in basi di dati multidimensionali 18 Schemi multidimensionali su basi di dati relazionali 19 Considerata la vasta adozione di base di dati relazionali per implementare data warehouse, si passa ora a descrivere i modelli di implementazione su schemi logici relazionali (schema a stella e schema a fiocco di neve). Nei modelli ROLAP e HOLAP si utilizza lo schema a stella. Uno schema a stella permette di creare uno schema relazionale partendo dallo schema di fatto: è composto da una tabella principale chiamata tabella dei fatti che memorizza un elemento per ogni fatto elementare, tramite campi chiave si “associano/relazionano” gli elementi dimensionali memorizzati nelle tabelle delle dimensioni. Ogni fatto contiene tante chiavi esterne quante sono le dimensioni che lo descrivono. Schema di fatto delle vendite Come è possibile passare da questo schema di fatto delle vendite a uno schema a stella? 20 Schema a stella delle vendite 21 Osservazioni sul passaggio da schema di fatto a schema a stella Nello schema a stella le tabelle delle dimensioni sono completamente denormalizzate e incuranti della ridondanza. Un‟unica Join è sufficiente per recuperare tutti di dati presenti nel db ma la struttura è scarsamente intuitiva. Lo schema a stella permette di massimizzare la velocità di estrazione dei dati. 22 Schema a fiocco di neve Lo schema a fiocco di neve ha la caratteristica di ridurre la denormalizzazione delle tabelle esplicitando alcune dipendenze funzionali. Se tale schema è altamente consigliato per il fatto che segue maggiormente le regole di normalizzazione e dunque separa in maniera logica i soggetti-entità essendo la struttura più complessa porta a rallentamenti nell’estrarre le informazioni dovuto al fatto che bisogna fare molte più join fra tabelle. 23 Schema a fiocco di neve delle vendite 24 Istanza di dati sullo schema a stella delle vendite Dimensione Articolo ID Codice articolo Descrizione articolo Codice tipologia Descrizione tipologia Codice materiale Descrizione materiale … Descrizione finitura … 1822 S104H46 Sedia Olga h.46 S Sedie Pn Pino naturale ZZZ Finitura assente 1823 S104H78 Sgabello Olga h.78 S Sedie Pn Pino naturale ZZZ Finitura assente 1824 S105H46 Sedia Ugo h.46 S Sedie Nn Noce nazionale CER Ceratp … 25 Codice finitura … Fatti di vendita ID Kart Kagt Kdata Quantità Importo Sconto … Provvigione … 120998 1673 10 4507 6 1800,00 180,00 360,00 120998 1822 10 4507 12 32,68 0,00 0,00 120998 123 8 4507 5 225,00 25,00 4,50 … … Dimensione Agente ID Codice agente Descrizione agente Codice area … … 8 A_101 Rossi Antonio Ovest Italia Nord-Ovest 9 A_102 Brambialla Luigi Ovest Italia Nord-Ovest 10 A_103 Del Do Antonella Est Italia Nord-Est … 26 Descrizione area … Dimensione Data ID Data Mese Trimestre Anno 4506 11/10/2005 10/2005 4/2005 2005 4507 12/10/2005 10/2005 4/2005 2005 4508 13/10/2005 10/2005 4/2005 2005 … … 27 … Ciclo di vita dei sistemi di data warehousing 28 Ciclo di vita. Osservazioni 1/2 Come ha evidenziato la figura precedente, la costruzione di un sistema di data warehouse avviene con un approccio iterativo, si parte con la costruzione del primo ipercubo (di solito il più significativo, le vendite). Successivamente se ne aggiungono altri dando luogo a un processo continuo di evoluzione del sistema di supporto delle decisioni. Tale approccio è interessante perché: L‟utilità dei sistemi di supporto alle decisioni viene apprezzata dopo che si sono ottenuti i primi risultati positivi Essendo considerati utili ma non necessari, costruire un sistema “chiavi in mano” sarebbe un investimento iniziale troppo costoso L‟approccio iterativo permette di tarare al meglio il sistema 29 Tecniche di analisi dei dati Analisi OLAP Un data warehouse mette a disposizione dell‟utente strumenti al fine di analizzare i dati senza seguire percorsi predeterminati. L‟analisi OLAP è la principale modalità di fruizione dei dati, permette di navigare nei dati ed esplorare interattivamente i fatti. Il principio fondamentale è: esplorazione guidata dalle ipotesi. L‟utente formula un‟ipotesi, inoltra la richiesta alla base di dati multidimensionale e la verifica. Spesso le interrogazioni discendono da interrogazioni fatte precedentemente. 30 Tecniche di analisi dei dati Analisi OLAP Le principali tecniche di analisi dei dati sono: Drill down, letteralmente trivellare, scavare, scendere in profondità => verso un maggior dettaglio di informazioni Roll up o Drill up, letteralmente arrotolare => significa aggregare le informazioni Slice, affettare => limita l‟analisi dei dati fissando una dimensione Dice, tagliare a cubetti => limita l‟analisi “ai cubetti” fissando uno o più attributi Pivot, girare attorno ad un perno => ruota l‟ipercubo permettendo la ridisposizione delle dimensioni per esporre i dati 31 Drill Down L‟operazione di drill down permette di partire da un livello di presentazione dei dati molto generale e approfondire i dettagli passo per passo aggiungendo una dimensione di analisi. Esempio (si riprenda lo schema di fatto delle vendite) di una prima interrogazione che riporta il confronto sulle quantità vendute annualmente per prodotto e area: Prodotto Area 2003 2004 Confronto Articolo 1 Centro 60 56 7% Est 203 220 8% Ovest 64 64 0% I dati evidenziano una mancata crescita ad Ovest. È possibile aggiungere il dettaglio dei nomi degli agenti che distribuiscono i prodotti nella zona? 32 Drill Down Prodotto Area Agente 2003 2004 Confronto Articolo 1 Est Dal Farra 43 52 21% Del Do 24 25 4% Mansi 28 30 7% Trevisan 28 30 7% Brambilla 89 93 4% Cozzi 71 75 6% Raiteri 13 11 -15% Rossi 27 28 4% Ovest Dalla tabella si capisce che il mancato aumento del fatturato è originato da un solo agente (Raiteri) che ha addirittura un trend negativo. Tale operazione di drill down è rappresentata graficamente tramite l‟ipercubo: 33 Esempio di operazione di drill down 34 Roll up o Drill up Il Roll up permette di avere visioni più generali e sintetiche a partire da analisi dettagliate. L‟operazione è concettualmente l‟opposto di quella di Drill down. 35 Slice L‟operazione di Slice consiste nel fissare il valore di una delle dimensioni base e analizzare la porzione di dati filtrati così ottenuti. L‟operazione di slice concentra l‟analisi su un iperpiano dell‟ipercubo. 36 Dice Anche l‟operazione di Dice riduce l‟insieme dei fatti elementari considerati nell‟analisi ma lo fa su più dimensioni e fissando valori per coordinate dimensionali di qualsiasi livello. 37 Pivot È l‟operazione che inverte la relazione tra le dimensioni, realizzando di fatto una rotazione del cubo. Tale operazione permette di riorganizzare velocemente i date per mettere in maggior evidenza un certo soggetto di analisi Prodotto Area 2003 2004 Articolo 1 Centro 60 56 Est 203 220 Ovest 64 64 Prodotto Anno Centro Est Ovest Articolo 1 2003 60 203 64 2004 56 220 64 38 Aree di applicazione nei sistemi aziendali Le aree di applicazione dei sistemi di data warehousing sono molteplici. Le più tradizionali sono quelle che permettono l’analisi delle vendite e il rapporto con il cliente. Negli ultimi anni si inizia anche ad analizzare altri settori come la gestione del personale, la logistica, il controllo di qualità. Di seguito verranno analizzati brevemente gli schemi di fatto utilizzati. 39 Analisi del flusso attivo e passivo del venduto Si cerca di analizzare il mix di prodotti venduti, analisi fatturato per tipologia di cliente o area geografica, valutazione efficienza rete distributiva, gli abbandoni silenziosi (clienti che senza lamentare disservizi non comprano più)… 40 Controllo di gestione In questo ambito si fanno analisi di marginalità su clienti o prodotti, analisi tra budget e consuntivi. In figura uno schema di fatto per l‟analisi di marginalità. 41 Controllo di qualità In questo ambito si fanno analisi sui reclami, sulla non conformità ed eventuali azioni correttive, sulle manutenzioni e sull‟efficienza dei flussi documentali generali Schema di fatto analisi sulle non conformità 42 CRM In questo ambito si fanno analisi orientate a comprendere la relazione dell‟azienda con il mercato. Ambiti di indagine sono l‟efficacia delle promozioni o azioni di fidelizzazione, l‟esito di campagne di telemarketing. Schema di fatto servizio assistenza clienti 43