6. Architetture e paradigmi per l’analisi dei dati

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
II° Circolo Orta Nova (FG)
Progetto Qua.ser Indagine di customer satisfaction: Cambio di indirizzo Firenze, 30 giugno 2011.
Introduzione al datawarehouse
Esercizio zSi vuole realizzare un data warehouse per una azienda che vende mobili allingrosso. zIl data warehouse deve permettere di analizzare i ricavi.
Biglietti e Ritardi: schema E/R
Data warehousing con SQL Server
Basi di Dati prof. A. Longheu
4 – Progettazione – Introduzione e Modello E-R
Il contesto abitanti dipendenti dirigenti 164
Lez. 3 - Gli Indici di VARIABILITA’
Associazione Nazionale Medici Cardiologi Ospedalieri
L’uso dei database in azienda
ON LINE ANALYTICAL TRANSACTION PROCESSING (OLAP)
Tipo Documento: unità didattica 4 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Obiettivi del corso di Statistica Medica.
APPROCCI PER I SISTEMI DIREZIONALI:
PROGETTI DI SISTEMI INFORMATIVI DIREZIONALI
ELEZIONI REGIONALI 2010 PRIMI RISULTATI E SCENARI 14 aprile 2010.
Canale A. Prof.Ciapetti AA2003/04
Corso di Informatica (Programmazione)
Algoritmi e strutture dati
La P.A. delineata dal D.lgs n. 150/2009
Test di ipotesi X variabile casuale con funzione di densità (probabilità) f(x; q) q Q parametro incognito. Test Statistico: regola che sulla base di un.
Già primario f.f. U.O. di neurochirurgia
I lavoratori italiani e la formazione UNA RICERCA QUANTITATIVA SVOLTA DA ASTRA, IN COLLABORAZIONE CON DOXA, PER ANES (febbraio 2005)
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
MP/RU 1 Dicembre 2011 ALLEGATO TECNICO Evoluzioni organizzative: organico a tendere - ricollocazioni - Orari TSC.
Cos’è un problema?.
FONDAMENTI DI INFORMATICA III A2A2-1 CARATTERISTICHE E MODELLIZZAZIONE DEL LAVORO DUFFICIO Argomento 2 Approfondimento 2 CARATTERISTICHE E MODELLIZZAZIONE.
CALCIO SKY 2007 – 2008 PROFILO DI ASCOLTO. 2 INDICE DEGLI ARGOMENTI Profilo di ascolto CALCIO SERIE A 2007 – 2008 Totale campionato (tutte le partite)……………………………………………….
Gli italiani e il marketing di relazione: promozioni, direct marketing, digital marketing UNA RICERCA QUANTITATIVA SVOLTA DA ASTRA RICERCHE PER ASSOCOMUNICAZIONE.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Modello E-R Generalizzazioni
Daniel Stoilov Tesi di Laurea
Controllo di Gestione negli Enti Pubblici
La struttura organizzativa e informativa del controllo
CHARGE PUMP Principio di Funzionamento
Settimana: 3-7 marzo Orariolunedimartedi Mercoledi 5 Giovedi 6 Venerdi lezione intro alla fis mod DR lezione intro alla fis mod DR.
Blue economy Blue economy Maggio Universo di riferimento Popolazione italiana Numerosità campionaria cittadini, disaggregati per sesso,
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
Array a un dimensione : vettori
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
ISTITUTO COMPRENSIVO “G. BATTAGLINI” MARTINA FRANCA (TA)
Un trucchetto di Moltiplicazione per il calcolo mentale
1 Ly-LAB Sistema di gestione dei dati analitici di laboratorio.
Estratto per la relazione del Dott. Trevisanato 30 maggio 2008.
1 AUTOMATIZZAIAUTOMATIZZAIAUTOMATIZZAIAUTOMATIZZAI S.I. SISTEMASISTEMA INFORMATIVO INFORMATIVO PROCESSOPROCESSO DECISIONALE DECISIONALE DECISIONEDECISIONE.
LE COMPONENTI DEL SISTEMA INFORMATIVO
Esempi risolti mediante immagini (e con excel)
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
AUTOVALUTAZIONE D’ISTITUTO
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
Modulo 5 - Database. Contenuti della lezione 5.1.1Concetti Fondamentali 5.1.2Organizzazione di un Database 5.1.3Relazioni 5.2.1Lavorare con i database.
Cloud SIA V anno. Introduzione ai Data Warehouse.
LA SODDISFAZIONE DEGLI UTENTI SUL SERVIZIO TELEMATICO SISTER Sintesi dei risultati dell’indagine 2006 Roma, ottobre 2006.
Tipo Documento: unità didattica 4 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Customer satisfaction anno 2013 Ospedale di Circolo Fondazione Macchi Varese Presentazione risultati (Febbraio 2014)
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Variabili temporali Analisi statistica
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
Progettazione di basi di dati: metodologie e modelli
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Le basi di dati.
Data warehouse(B.2.8) Nei database ci sono molti dati di tipo diverso e ciascuna tipologia di dato può avere un formato diverso. Alcuni provengono da legacy.
Transcript della presentazione:

6. Architetture e paradigmi per l’analisi dei dati

SOMMARIO Sistemi informativi direzionali Sistemi informativi e data warehouse Architettura di un Data Warehouse Analisi multidimensionale Implementazione di un Data Warehouse Indici per il Data Warehouse Progetto di un Data Warehouse Knowledge Discovery in database

SISTEMI INFORMATIVI DIREZIONALI

Modello aziendale

Scambio di Informazioni tra livelli Il livello direzionale si occupa di quelle attività necessarie alla definizione degli obiettivi da raggiungere ed alle azioni, eventualmente correttive, da intraprendere per perseguirli. Il livello operativo viceversa si occupa delle attività attraverso cui l’azienda produce i propri servizi e prodotti. il livello direzionale fornisce informazioni sulle strategie da seguire al livello operativo al fine di perseguire gli obiettivi aziendali. il livello operativo fornisce a sua volta al livello direzionale informazioni sui risultati raggiunti.

Tipi di sistemi direzionali la pianificazione strategica determina gli obiettivi generali dell’azienda il controllo direzionale definisce traguardi economici ovvero risultati da conseguire a medio termine e loro verifica il controllo operativo assicura che le attività procedano nel modo prefissato.

Tipologia delle informazioni I sistemi direzionali trattano informazioni fortemente aggregate. Essi infatti devono fornire ai dirigenti aziendali dati sintetici - indicatori gestionali - quali medie, ricavi globali, che possano quantizzare l’andamento dell’azienda in certi intervalli temporali.

INDICATORI – MISURE - FONTI Indicatore1 Indicatore2 Indicatore n ... ... Misura 1 Misura 2 Misura p ... Fonte 1 Fonte 2 Fonte m

Dimensioni di analisi delle informazioni aziendali L’analisi delle prestazioni aziendali può inoltre essere condotta in diverse dimensioni: la dimensione tempo ; la dimensione prodotto : finalizzata all’analisi di costi e ricavi (i quali sono evidentemente indicatori contabili o monetari); la dimensione processi : finalizzata al controllo di indicatori di efficienza ed efficacia come la tempestività; la dimensione responsabilità : ad ogni centro così come indicato dall’organigramma aziendale possono essere associati alcuni indicatori che forniscono dei rendiconti sulle prestazioni dei singoli dirigenti; la dimensione cliente : al fine di analizzare redditività, volume di affari e bacino di utenza.

CRITICAL SUCCESS FACTORS Nel metodo dei CSF (Critical Success Factor) l’analista, mediante opportune interviste ai manager aziendali interessati al sistema, individua quali siano le aree in cui essi ritengono necessario eccellere per il successo nel business. Queste aree costituiranno i CSF ai quali vengono abbinati opportuni indici di prestazione. Sarà quindi compito del progettista selezionare gli indicatori ritenuti migliori sulla base di alcuni criteri: Semplicità: è opportuno selezionare indicatori ricavabili da algoritmi semplici. Costo dell’informazione: inteso come costo per produrre un certo indicatore. Frequenza: inteso come tasso di campionamento dell’indicatore. Strutturazione dell’informazione.

CSF SETTORE PRODUZIONE AZIENDA X

KEY PERFORMANCES INDICATORS Nel metodo dei KPI (Key Performances Indicators) l’analisi è rivolta alla determinazione di indicatori globali quali efficienza, qualità e servizi. Indicatori di efficienza: misurano la produttività e i costi di alcuni processi aziendali di interesse. Indicatori di qualità: misurano la conformità degli output del processo di trasformazione alle attese del cliente (un esempio sono gli scarti) Indicatori di servizio: misurano i tempi di risposta dell’azienda (time to market)

ESAME DI COPERTURA DEI CSF I parametri individuati con i due metodi possono essere incrociati al fine di verificare che i processi aziendali siano monitorati attraverso indicatori correlati alle aree di successo aziendale critiche. Qualora si dovessero trovare dei CSF di rilievo scoperti vanno introdotti altri indicatori atti a coprirli, viceversa in presenza di ridondanze è possibile decidere di selezionare opportunamente degli indicatori rispetto ad altri.

LA STRUTTURA INFORMATICA DEL SID Il sottosistema front-end comprende tutte quelle elaborazioni necessarie alla presentazione delle informazioni utili all’utente finale. Il sottosistema back-end provvede ad alimentare automaticamente la base dati direzionale in maniera periodica estraendo le informazioni di interesse per il SIA.

Struttura dettagliata dei SID

SISTEMI INFORMATIVI E DATA WAREHOUSE

Motivazioni del DW I sistemi informativi permettono di aumentare la produttività delle organizzazioni automatizzando in maniera integrata la gestione operativa e quotidiana dei processi di business. I dati ad essi connessi — se adeguatamente accumulati e analizzati — possono essere utilizzati per la pianificazione e il supporto alle decisioni In particolare, da una corretta gestione dei dati storici l’azienda può conseguire un grande vantaggio competitivo.

Sistemi di “business intelligence” I sistemi di business Intelligence (BI) costituiscono la tecnologia che supporta la dirigenza aziendale nel prendere decisioni operative, tattiche e/o strategiche in modo efficace e veloce. Ma come?... mediante particolari tipologie di elaborazioni dette “analitiche” che usano in maniera integrata i dati dell’organizzazione combinati con eventuali dati esterni Operando su quali dati? … quelli accumulati dai processi operativi e gestionali

Tipi di elaborazione Nei Transaction Processing Systems: On-Line Transaction Processing Nei Business Intelligence Systems: On-Line Analytical Processing

OLTP Tradizionale elaborazione di transazioni, che realizzano i processi operativi dell’azienda o ente. Operazioni predefinite, brevi e relativamente semplici Ogni operazione coinvolge “pochi” dati Dati di dettaglio, aggiornati Le proprietà “acide” (atomicità, correttezza, isolamento, durabilità) delle transazioni sono essenziali

OLAP Elaborazione di operazioni per il supporto alle decisioni 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

OLTP e OLAP OLTP OLAP Utente impiegato dirigente Funzione operazioni giornaliere supporto alle decisioni Progettazione orientata all'applicazione orientata ai dati Dati correnti, aggiornati, dettagliati, relazionali, omogenei storici, aggregati, multidimensionali, eterogenei Uso ripetitivo casuale Accesso read-write, indicizzato read, sequenziale Unità di lavoro transazione breve interrogazione complessa Record acc. decine milioni N. utenti migliaia centinaia Dimensione 100MB - 1GB 100GB - 1TB Metrica throughput tempo di risposta

OLTP e OLAP I requisiti sono quindi contrastanti Le applicazioni dei due tipi possono danneggiarsi a vicenda

Separazione degli ambienti APPLICAZIONE OLTP UTENTI FINALI (Transazioni) OLTP Base di dati Data Warehouse APPLICAZIONE OLAP ANALISTI (Query complesse) OLAP

Data warehouse Una base di dati orientata al soggetto dell’elaborazione: il dirigente aziendale integrata — aziendale e non dipartimentale con dati storici — con un ampio orizzonte temporale, e indicazione (di solito) di elementi di tempo con dati usualmente aggregati — per effettuare stime e valutazioni fuori linea e a sola lettura— i dati sono aggiornati periodicamente e sono solo interrogati mantenuta separatamente dalle basi di dati operazionali

... orientata al soggetto ... E’ una collezione di dati orientata al soggetto dell’elaborazione che è un dirigente aziendale che deve perseguire i suoi CSF.

... integrata ... I dati di interesse provengono da tutte le 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

problematiche di integrazione

... 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

con fissato arco temporale Tutti i dati contenuti in un data warehouse si riferiscono ad un preciso arco temporale. Un DWH rappresenta dati in genere su un lungo periodo (ad esempio cinque, dieci anni) rispetto ai dati contenuti in un data base operativo validi e consistenti per un periodo molto più corto ( ad es. giorni o settimane). Ogni struttura di base in un DWH contiene implicitamente o esplicitamente un riferimento ad un valore temporale contenuto nella tabella dei tempi la quale ricordiamo rappresenta per gli utenti direzionali una dimensione di analisi.

... 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.

... 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

con operazioni a sola lettura Dal punto di vista delle operazioni consentite su un DWH a differenza dei dati di un data base tradizionale che possono essere inseriti, modificati ed acceduti, i dati di un DWH possono essere solo caricati ed acceduti poiché essi rappresentano successive istantanee della realtà elaborativa.

... mantenuta separatamente ... Diversi motivi: non esiste un’unica base di dati operazionale che contiene tutti i dati di interesse la base di dati deve essere integrata non è tecnicamente possibile fare l’integrazione in linea i dati di interesse sarebbero comunque diversi 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

SISTEMI OPERATIVI E SISTEMI “DATA WAREHOUSING”

ARCHITETTURA PER IL DATA WAREHOUSING

Architettura per il data warehousing Metadati Sorgenti esterne Analisi dimensionale ETL Basi di dati operazionali Data Warehouse Data mining Data Mart Sorgenti informative Strumenti di analisi

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

Alimentazione del data warehouse Attività necessarie ad alimentare un data warehouse (si parla di strumenti ETL): Estrazione (Extraction) — accesso ai dati nelle sorgenti Pulizia (Cleaning) —rilevazione e correzione di errori e inconsistenze nei dati estratti Trasformazione (transformation) —trasformazione di formato, correlazione con oggetti in sorgenti diverse Caricamento (Loading) — con introduzione di informazioni temporali e generazione dei dati aggregati I metadati sono informazioni mantenute a supporto di queste attività

Metadati "Dati sui dati": descrizioni logiche e fisiche dei dati (nelle sorgenti e nel DW) corrispondenze e trasformazioni dati quantitativi Spesso sono non dichiarativi e immersi nei programmi

Data Warehouse Server Sistema dedicato alla gestione del warehouse Può basarsi su diverse tecnologie ROLAP i dati sono memorizzati in DBMS relazionali (schemi a stella) MOLAP I dati sono memorizzati in forma multidimensionale tramite speciali strutture dati tipicamente proprietarie i produttori di RDBMS stanno iniziando a fornire estensioni OLAP ai loro prodotti

Strumenti di analisi Consentono di effettuare analisi dei dati utilizzando il Data Warehouse server e 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 Data mining

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

Variante dell’architettura Monitoraggio & Amministrazione Metadati Sorgenti esterne Analisi dimensionale Basi di dati operazionali Data mining Sorgenti dei dati Strumenti di analisi Data Mart

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 …

Visualizzazione finale di un’analisi

ANALISI MULTIDIMENSIONALE

Rappresentazione multidimensionale L’analisi dei dati avviene rappresentando i dati in forma multidimensionale Concetti rilevanti: fatto — un concetto sul quale centrare l’analisi misura — una proprietà atomica di un fatto dimensione — descrive una prospettiva lungo la quale effettuare l’analisi Esempi di fatti/misure/dimensioni vendita/quantità,incasso/prodotto, luogo, tempo telefonata/costo,durata/chiamante, chiamato, tempo

Rappresentazione multidimensionale dei dati VENDITE Luogo (negozio) Milano-2 Milano-1 Roma-2 Roma-1 Lettori DVD Televisori Articolo (prodotto) Quantità, incasso Lettori CD Videoregistratori 1 trim. 2003 Tempo (trimestre) 2 trim. 2003 3 trim. 2003 4 trim. 2003

Dimensioni e gerarchie di livelli Ciascuna dimensione è organizzata in una gerarchia che rappresenta i possibili livelli di aggregazione per i dati. regione anno provincia trimestre marca categoria città mese prodotto negozio Articolo giorno Luogo Tempo

Operazioni su dati multidimensionali Slice & dice — seleziona e proietta Roll up — aggrega i dati volume di vendita totale dello scorso anno per categoria di prodotto e regione Drill down — disaggrega i dati per una particolare categoria di prodotto e regione, mostra le vendite giornaliere dettagliate per ciascun negozio (Pivot — re-orienta il cubo)

Slice and dice Il manager regionale esamina la vendita dei prodotti in tutti i periodi relativamente ai propri mercati Il manager finanziario esamina la vendita dei prodotti in tutti i mercati relativamente al periodo corrente e quello precedente Tempo Luogo Articolo Il manager di prodotto esamina la vendita di un prodotto in tutti i periodi e in tutti i mercati Il manager strategico si concentra su una categoria di prodotti, una area e un orizzonte temporale

Risultato di slice and dice (Selezione del prodotto DVD e proiezione) 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 200

Roll-up (Selezione del prodotto DVD ed aggregazione rispetto alla dimensione luogo) LETTORI DVD 1 trim. 03 2 trim. 03 3 trim. 03 4 trim. 03 Roma 193 310 314 463 Milano 343 395 421 526

Altra operazione di roll-up (Aggregazione rispetto alla dimensione luogo) VENDITE TRIM. 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

Drill-down (Disaggregazione rispetto alla dimensione tempo) Vendite Mensili 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 75

IMPLEMENTAZIONE DI UN DATA WAREHOUSE

Implementazione MOLAP I dati sono memorizzati direttamente in un formato dimensionale (proprietario). Le gerarchie sui livelli sono codificate in indici di accesso alle matrici

Implementazione ROLAP: “schemi” dimensionali Uno schema dimensionale (schema a stella) è composto da una tabella principale, chiamata tabella fatti memorizza i fatti e le sue misure Le misure più comuni sono numeriche, continue e additive due o più 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

Schema a stella Tempo CodiceTempo Articolo CodiceArticolo Giorno Mese Trimestre Anno Articolo CodiceArticolo Descrizione Marca Categoria Vendite CodiceTempo CodiceLuogo CodiceArticolo CodiceCliente Quantità Incasso Luogo CodiceLuogo Negozio Indirizzo Città Provincia Regione Cliente CodiceCliente Nome Cognome Sesso Età Professione

Schema a fiocco di neve Mese Mese Trimestre Anno CodiceRegione Regione Vendite CodiceTempo CodiceLuogo CodiceArticolo CodiceCliente Quantità Incasso Tempo Giorno Mese Luogo Negozio Indirizzo Codice Città Città CodiceRegione Articolo Descrizione Marca Codice categoria Cliente Codice cliente Nome Cognome Sesso Età Professione Categoria Codice categoria Mese Trimestre Anno Mese CodiceRegione Regione

Una possibile istanza DataCube?

Caratteristiche di uno schema dimensionale Una tabella dimensione memorizza i membri di una dimensione la chiave primaria è semplice gli altri campi memorizzano i livelli della dimensione tipicamente denormalizzata 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

Esempio SELECT A.Categoria, T.trimestre, sum(V.Quantita) FROM Vendite as V, Articolo as A, Tempo as T WHERE V.CodiceArticolo = A.CodiceArticolo and V.CodiceTempo = T.CodiceTempo and T.Anno = 2003 GROUP BY A.Categoria, T.trimestre ORDER BY A.Categoria, T.trimestre

Additività dei fatti Un fatto è additivo se ha senso sommarlo rispetto a ogni possibile combinazione delle dimensioni da cui dipende l’incasso è additivo perché ha senso calcolare la somma degli incassi per un certo intervallo di tempo, insieme di prodotti e insieme di negozi l’additività è una proprietà importante, perché le applicazioni del data warehouse devono solitamente combinare i fatti descritti da molti record di una tabella fatti

FORMATO DELLE INTERROGAZIONI DI ROLL-UP Le interrogazioni 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

DATA 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)

Possibile risultato del data cube

GROUP BY 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)

Possibile risultato

INDICI PER IL DATA WAREHOUSE

Motivazioni A causa della complessità delle elaborazioni direzionali, è necessario massimizzare la velocità di esecuzione delle interrogazioni OLAP ; l’impiego di indici quindi assume un’importanza primaria. L’aggiornamento periodico del DW consente di ristrutturare gli indici ogni volta che si effettua il “refresh”.

Query OLAP e indici Analizzando la struttura delle query OLAP è possibile affermare che gli indici vanno costruiti su: Attributi non chiave delle “Tabelle dimensione” al fine di accelerare le operazioni di selezione. Chiavi esterne (importate) della “Tabella Fatti” per accelerare l’esecuzione dei join. Sebbene meno efficaci, si può pensare di costruire indici sulle misure della “ Tabella Fatti” con predicati di selezione su tali valori Esempio : “Indicare tutte le vendite con quantitativi superiori a 1.000.”

Indice Bitmap Viene posto su un attributo e: E’ composto da una matrice binaria con tante colonne quanti sono i possibili valori dell’ attributo tante righe quante sono le ennuple della relazione Per ogni possibile valore un bit (T/F) indica se il corrispondente record ha quel valore.

Esempio 1: T = Vero 0: F = Falso Indice Bitmap sull’attributo Posizione di una tabella Impiegati. i possibili valori sono: ´Ingegnere´ - ´Consulente´ - ´Manager´ - ´Programmatore´ -´Segretario´ - ´Ragioniere´ 1: T = Vero 0: F = Falso

Indici Bitmap:implementazione nel DW Generalmente, le bitmap sono associate ad un albero B-tree : la radice ed i nodi intermedi sono simili ad indici tradizionali Le foglie invece contengono per ciascun valore dell’indice un vettore i cui bit sono posti ad uno in corrispondenza delle tuple che contengono quel valore a zero altrimenti Algoritmo Discendi il B + tree. Carica l’array binario corrispondente al valore dell’indice. Determina quali bit sono alti. Trova tutte le tuple corrispondenti.

Considerazioni sulle bitmap Vantaggioso nel caso di attributi con pochi valori differenti (indici con piccolo ingombro). Ottimo per query che non necessitano di accedere al file dati. Possibilità di utilizzare operatori binari di livello basso per l’esecuzione dell’elaborazione dei predicati.

esempio “Quanti maschi in California non sono assicurati?”

Svantaggi Gli indici BITMAP presentano forti limiti quando per un attributo siano possibili un elevato numero di valori differenti. Infatti è necessario utilizzare una diversa colonna per ogni possibile valore. Non sono indicati quando la tabella subisce frequenti modifiche: Nel nostro caso le modifiche si ottengono solo al refresh quando è già prevista una ristrutturazione.

Svantaggi (2) Quando il numero di valori possibili è molto alto la matrice di bit che ne deriva è estremamente sparsa. NOTA: Alcune versioni permettono di comprimere la matrice di bit al fine diminuirne la dimensione.

Join Index L’esecuzione di query su schemi a stella richiede spesso di eseguire join su più tabelle. Gli indici che risultano più utili in questi casi sono i Join Index. Questi vengono creati identificando in anticipo le tuple che soddisfano il predicato di join.

esempio Tabella indice La tabella indice individua le tuple per cui Vendite.ID_Negozi = Negozi.ID_Negozi Per verificare le tuple che soddisfano il predicato di join non è più necessario scandire le tuple delle due relazioni

Join index: implementazione nel DW Gli indici di join vengono costruiti sulle chiavi delle tabelle dimensioni. Contengono nelle foglie del B-tree per ogni valore dell’indice, invece dei puntatori alle tuple delle dimensioni, puntatori agli insiemi di tuple delle tabelle dei fatti che contengono quel valore di chiave.

Star Join Index Il “Join Index” calcola in anticipo il join tra un fatto ed una dimensione: lo “Star Join index” estende il join index a più tabelle dimensionali . Concatena colonne relative a più dimensioni ottenendo una tabella di join più complessa.

Ovvero … Tabella Indice

Indici Bitmap e di Join: costi e benefici I costi sono dovuti alla necessità di costruire e memorizzare persistentemente gli indici bitmap e di join I benefici sono legati al loro uso effettivo da parte del Server del DW per la risoluzione delle interrogazioni

PROGETTO DI UN DATA WAREHOUSE

Progetto di un DWH Altre sorgenti Dati OLTP Input Esigenze OLAP Selezione delle sorgenti informative Traduzione in modello E/R comune Analisi sorgenti Integrazione degli schemi E/R Integrazione Identificazione di fatti, misure e dimensioni Ristrutturazione dello schema concettuale Derivazione di un grafo dimensionale Progettazione logica multidimensionale Progettazione fisica relazionale a stella Progettazione

Informazioni in ingresso Le informazioni in ingresso necessarie alla progettazione di un data warehouse requisiti dell’analisi — le esigenze aziendali di analisi dati (OLAP) basi di dati aziendali — con una documentazione sufficiente per la loro comprensione (OLTP) altre sorgenti informative — l’analisi richiede spesso la correlazione con dati non di proprietà dell’azienda ma comunque da essa accessibili — ad esempio, dati ISTAT o sull’andamento dei concorrenti

Analisi sorgenti informative Selezione delle sorgenti informative analisi preliminare del patrimonio informativo aziendale correlazione del patrimonio informativo con i requisiti identificazione di priorità tra schemi Traduzione in un modello di riferimento attività preliminare alla correlazione e all’integrazione di schemi — si svolge con riferimento a schemi concettuali E/R

... se non sono disponibili schemi E/R Si applica l’attività di comprensione concettuale di uno schema di dati attraverso la rappresentazione dello schema relazionale mediante il modello E/R. Uno schema ER è più espressivo di uno schema relazionale L’attività descritta è detta di “reverse engineering” di schemi relazionali ed è svolta in maniera semiautomatica da appositi strumenti di progettazione CASE.

Integrazione di sorgenti informative L’integrazione di sorgenti informative è l’attività di fusione dei dati rappresentati in più sorgenti in un’unica base di dati globale che rappresenta l’intero patrimonio informativo aziendale L’approccio è orientato alla identificazione, analisi e risoluzione di conflitti — terminologici, strutturali, di codifica L’integrazione delle sorgenti informative produce una descrizione globale del patrimonio informativo aziendale.

Integrazione di schemi di sorgenti informative orientata all’analisi e risoluzione di conflitti tra schemi ovvero di rappresentazioni diverse di uno stesso concetto

Integrazione di sorgenti informative L’integrazione di sorgenti informative è guidata da quella dei loro schemi – ma è necessario risolvere anche i conflitti relativi alla codifica delle informazioni un attributo “sesso” può essere rappresentato Con un carattere - M/F Con una cifra - 0/1 Implicitamente nel codice fiscale Non essere rappresentato Il nome e cognome di una persona “Mario”, “Rossi” “Mario Rossi” “Rossi Mario” “Rossi, M”

Integrazione di sorgenti informative La parte più problematica è legata alla qualità dei dati disponibili Mario Rossi è nato il 3 ottobre 1942 Mario Rossi è nato il 10 marzo 1942 Mairo Rossi è nato il 10 marzo 1942

Progettazione del DWH identificazione di fatti, misure e dimensioni ristrutturazione dello schema concettuale rappresentazione di fatti mediante entità individuazione di nuove dimensioni raffinamento dei livelli di ogni dimensione derivazione di un grafo dimensionale progettazione logica: derivazione dello schema multidimensionale. progettazione fisica: determinazione dello schema relazionale a stella.

Identificazione di fatti, misure e dimensioni scontrino data numero pezzi incasso percentuale Vendita (0,1) codice Articolo nome prezzo costo marca categoria Cliente Occupazione sesso anno nascita città residenza tempo Negozio città

Ristrutturazione dello schema concettuale E’ lo schema concettuale del data warehouse

Derivazione di un grafo dimensionale

Progettazione logica: schema MOLAP per Vendita, Costo e Prezzo La traduzione dello schema dimensionale al modello logico multidimensionale è immediata: Dimensioni corrispondono a ipernodi del grafo Livelli e descrizioni corrispondono a nodi del grafo I fatti corrispondono ai nodi fatto: Vendita[Data:giorno, Prod:articolo, A:cliente, Loc:Negozio]: [incasso:numero] Costo[Prodotto:Articolo, Tempo:mese]: [Valore:numero] Prezzo[Prodotto:articolo,Tempo:mese]:[Valore:numero]

Progettazione fisica ROLAP: star schema per Vendita

ESEMPIO DI PROGETTO

Specifiche progetto di una DWH: 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.

Individuazione ed analisi sorgenti informative Da colloqui col committente: Ogni farmacia utilizza una base di dati operazionale per la gestione delle vendite dei farmaci implementata attraverso un DBMS Access. Dall’analisi del modello E/R è possibile individuare lo schema concettuale contenente le sole informazioni di interesse: Prodotti/Farmaci Vendite/fatture Clienti

Schema E/R della base dati

Schema concettuale della DWH

Modello finale di tipo starflake-schema

Progettazione fisica e gestione dati Si ottiene così, nella fase di progettazione fisica, uno star flake schema di figura con una sola dimensione denormalizzata: quella relativa alla collocazione geografica delle farmacie. Questo per consentire un maggiore livello di aggregazione delle informazioni. Su tale DW è poi possibile effettuare in maniera semplice interrogazioni come: selezione del farmaco più venduto in Campania. determinazione dell’età media dei consumatori di AULIN. I clienti della farmacia ALFANI. Impatto della terapia del dolore nelle varie regioni italiane. Infine vanno schedulate apposite procedure di refresh per aggiornare il contenuto del data warehouse ad intervalli di tempo prefissati.

KNOWLEDGE DISCOVERY IN DATABASE

Knowledge Discovery in Database Il processo di KDD è un processo interattivo e iterativo, strutturato in diverse fasi:

Knowledge Discovery in Database Fase 1: si identifica il problema, tenendo conto della relativa conoscenza già acquisita in precedenza e gli obiettivi che si vogliono perseguire. Fase 2: si seleziona l’insieme dei dati, oggetto del processo di estrazione (discovery) della conoscenza. Fase 3: si “puliscono” e si normalizzano i dati attraverso, ad esempio, l’eliminazione dei dati rumorosi e dei valori estremi, la gestione dei campi vuoti … Fase 4: si individuano le caratteristiche salienti per rappresentare il fenomeno che si sta analizzando in funzione dell’obiettivo definito, tendendo a ridurre il numero delle variabili prese in considerazione.

Knowledge Discovery in Database Fase 5: si sceglie il cosiddetto “data mining task”, cioè il tipo di analisi sui dati da effettuare - classificazione, previsione, etc …-. Fase 6: si scelgono le tecniche di data mining da impiegare per ricercare i pattern nei dati, in funzione del criterio generale alla base del processo di KDD (ad esempio, l’analista potrebbe essere maggiormente interessato alla comprensione del modello rispetto alle capacità di previsione dello stesso). Fase 7: si effettua il data mining, cioè si compie la ricerca dei pattern d’interesse. Fase 8: si interpretano i pattern “scoperti” con la possibilità di ritornare alle fasi precedenti per ulteriori iterazioni.

Knowledge Discovery in Database Fase 9: si consolida e si formalizza la conoscenza acquisita (realizzazione/integrazione di un sistema applicativo, redazione di documentazione, presentazione alle parti interessate …). Il ruolo fondamentale nel processo di KDD, che è caratterizzato da un alto livello di iterazione, è svolto dalla fase 7, ovvero quella in cui si compie il data mining.

KDD e Data Mining In questa ottica, il KDD è un processo non banale di identificazione dai “dati” dei “pattern” validi, precedentemente sconosciuti, potenzialmente utili ed ultimamente comprensibili. per “dato” si intende in questo contesto un insieme di fatti; per “pattern” si intende un sottoinsieme dei dati o un modello applicabile a questo sottoinsieme. Si noti ancora che per processo di estrazione di un pattern si intende il processo di individuare un modello che ben si adatta ai dati in esame.

Data mining E’ un approccio alternativo all’analisi multidimensionale per estrarre informazioni di supporto alle decisioni da un data warehouse Talora le tecniche di ricerca di “informazione nascosta” in una collezione di dati si applica a dati “destrutturati” ad es. collezioni di transazioni.

Problemi classici di data mining Uso di regole associative: 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 classificazione: catalogare un fenomeno in una classe predefinita sulla base di fenomeni già catalogati

Uso di regole associative Dati di ingresso: insiemi di transazioni Obiettivo: trovare delle “regole” che correlano nelle transazioni la presenza di un insieme di oggetti con un altro insieme di oggetti.

Regole associative:esempio di regola Pannolini  Birra il 2% tra tutte le transazioni contiene entrambi gli oggetti (supporto cioè rilevanza statistica) il 30% delle transazioni che contiene Pannolini contiene anche Birra (confidenza cioè forza)

Significatività delle regole X, Y  Z Supporto S: la regola è verificata in S% delle transazioni rispetto a tutte le transazioni rilevanza statistica Confidenza C: C% di tutte le transazioni che contengono X e Y contengono anche Z “forza” della regola

Pattern sequenziali Dati di ingresso: Obiettivo: Insieme di sequenze di transazioni ciascuna delle quali si riferisce ad un fissato cliente. Obiettivo: trovare sequenze di oggetti che compaiono nell’insieme almeno in una assegnata percentuale.

Pattern sequenziali: 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)

Classificazioni Dati in ingresso Obiettivo Record di osservazione elementari Obiettivo Determinare gli attributi significativi dei record osservati e costruire un albero di decisione che consenta, in funzione dei valori degli attributi significativi della tupla, di classificarla.

Classificazioni:esempio Classificazione delle polizze di una compagnia attribuendo loro un rischio alto o basso. Partendo dalle transazioni che descrivono le polizze, il classificatore determina gli attributi per definire il rischio (età guidatore, tipo auto) e costruisce un albero di decisione.

Classificatore polizze a rischio Età<20 T F TipoAuto = “Sportiva” T F Albero di decisione costruito in base ad un “training set” ed utilizzabile nel “test set”