1 6. Architetture e paradigmi per lanalisi dei dati.
-
Upload
valeriano-bianco -
Category
Documents
-
view
217 -
download
0
Transcript of 1 6. Architetture e paradigmi per lanalisi dei dati.
1
6. Architetture e paradigmi per l’analisi dei dati
2
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
3
SISTEMI INFORMATIVI DIREZIONALI
4
Modello aziendaleModello aziendale
5
Scambio di Informazioni tra livelliScambio 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 strategiestrategie 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 raggiuntirisultati raggiunti. .
6
Tipi di sistemi direzionaliTipi 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.
7
Tipologia delle informazioniTipologia delle informazioni
• I sistemi direzionali trattano informazioni fortemente aggregateaggregate.
• 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.
8
INDICATORI – MISURE - FONTIINDICATORI – MISURE - FONTI
Indicatore1Indicatore1
Misura 1Misura 1
Fonte 1Fonte 1
Indicatore2Indicatore2 Indicatore nIndicatore n
Misura pMisura pMisura 2Misura 2
Fonte 2Fonte 2 Fonte mFonte m
...
...
...
9
Dimensioni di analisi delle informazioni Dimensioni di analisi delle informazioni aziendaliaziendali
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.
10
CRITICAL SUCCESS FACTORSCRITICAL SUCCESS FACTORS• Nel metodo dei CSF (Critical Success Factor)
l’analista, mediante opportune interviste ai manager aziendali interessati al sistema, individua quali siano le le areearee in cui essi ritengono necessario eccellere per il successo nel business.
• Queste aree costituiranno i CSF ai quali vengono vengono abbinati opportuni indici di prestazioneabbinati 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.
11
CSF SETTORE PRODUZIONE AZIENDA XCSF SETTORE PRODUZIONE AZIENDA XCSF Indicatore Metrica Fonte Motivo
Costi
Costo
unitario
Costo totale /
#prod.
SIA
Prestazioni determinanti per
la competitività del processo
‘produzione’
Qualità
Difetti
riscontrati
Totale difetti /
#prod.
SIA
Indicativo della qualità del
prodotto e dell’efficienza dei
controlli interni
Giudizio
clienti
Punteggio 1..10 Interviste a
campione
Livello di qualità percepito
dal cliente
Rifiuti da
smaltire
Totale rifiuti /
#prod.
SIA
Determinante per l’immagine
dell’azienda
Rispetto
ambiente
Materiali
riciclabili
Totale mat. Ricic. /
#prod
SIA
Consumo
energetico
MW / #prod SIA Efficienza energetica
12
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)
13
ESAME DI COPERTURA DEI CSFESAME 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.
14
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.
15
Struttura dettagliata dei SID
16
SISTEMI INFORMATIVI E DATA SISTEMI INFORMATIVI E DATA WAREHOUSEWAREHOUSE
17
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.
18
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
19
Tipi di elaborazione
• Nei Transaction Processing Systems:– On-Line Transaction Processing
• Nei Business Intelligence Systems:– On-Line Analytical Processing
20
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
21
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
22
OLTP e OLAPOLTP 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
23
OLTP e OLAP
• I requisiti sono quindi contrastanti• Le applicazioni dei due tipi possono
danneggiarsi a vicenda
24
APPLICAZIONE OLTP
UTENTI FINALI(Transazioni)
OLTP
Base di datiData
Warehouse
APPLICAZIONE OLAP
ANALISTI(Query complesse)
OLAP
Separazione degli ambientiSeparazione degli ambienti
25
Data warehouseData 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
26
... orientata al soggetto ...... orientata al soggetto ...• E’ una collezione di dati orientata al soggetto
dell’elaborazione che è un dirigente aziendale che deve perseguire i suoi CSF.
27
... 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
28
problematiche di integrazioneproblematiche di integrazione
29
... ... dati storicidati 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
30
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.
31
... dati aggregati ...... 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.
32
... fuori linea ...... fuori linea ...• In una base di dati operazionale, i dati vengono
– acceduti– inseriti– modificati – Cancellatipochi 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
33
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.
34
... mantenuta separatamente ...... 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
35
SISTEMI OPERATIVI E SISTEMI “DATA WAREHOUSING”
SISTEMI OPERATIVI SISTEMI DI DATA
WAREHOUSING
Memorizzano dati correnti Memorizzano dati storici
Memorizzano dati dettagliati I dati sono debolmente o
fortemente aggregati
I dati sono dinamici I dati sono pressoché statici
Le elaborazioni sono ripetitive Effettuano elaborazioni ad hoc
Massimizzano il throughput
rispetto alle transazioni
Hanno un throughput di
transazioni medio-basso
Sono transaction driven Sono Analysis driven
Sono orientati alle applicazioni Sono orientati al soggetto
Supportano le decisioni day-to-day Supportano decisioni strategiche
Servono un grosso numero di utenti
operativi
Servono un numero di utenti
manageriali relativamente basso
36
ARCHITETTURA PER IL ARCHITETTURA PER IL DATA WAREHOUSINGDATA WAREHOUSING
37
Architettura per il data warehousing
Metadati
DataWarehouse
Data Mart
Sorgenti informative
Sorgentiesterne
Basi di datioperazionali
Strumenti di analisi
Analisidimensionale
Data mining
ETLETL
38
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
39
Alimentazione del data warehouseAttività 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à
40
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
41
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
42
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
43
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
44
Variante dell’architetturaVariante dell’architetturaMonitoraggio & Amministrazione
Metadati
Data MartSorgenti dei dati
Sorgentiesterne
Basi di datioperazionali
Strumenti di analisi
Analisidimensionale
Data mining
45
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– …
46
Visualizzazione finale di un’analisi
Lettori DVDTelevisori
Lettori CDVideoregis tratori
1 trim.2003
2 trim.2003
3 trim.2003
4 trim.2003
0
100
200
300
400
500
600
700
800
900
1000
47
ANALISI MULTIDIMENSIONALE
48
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
49
Rappresentazione multidimensionale dei dati
Articolo(prodotto)
Tempo(trimestre)
Quantità, incasso
Luogo(negozio)
Lettori DVD
Lettori CD
Televisori
Videoregistratori
Roma-1Roma-2
Milano-1Milano-2
1 trim. 20032 trim. 2003
3 trim. 20034 trim. 2003
VENDITE
50
Dimensioni e gerarchie di livelli
negozio
regione
provincia
città
giorno
anno
trimestre
meseprodotto
marcacategoria
Luogo
Articolo
Tempo
Ciascuna dimensione è organizzata in una gerarchia che rappresenta i possibili livelli di aggregazione per i dati.
51
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)
52
Slice and dice
Tempo
Luogo
Articolo
Il manager strategico si concentra su una categoria di prodotti, una area e un orizzonte temporale
Il manager di prodotto esamina la vendita di un prodotto in tutti i periodi e in tutti i mercati
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 periodocorrente e quello precedente
53
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
(Selezione del prodotto DVD e proiezione)
54
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
(Selezione del prodotto DVD ed aggregazione rispetto alla dimensione luogo)
55
Altra operazione di roll-up
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
(Aggregazione rispetto alla dimensione luogo)
56
Drill-down
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 64 75 …
(Disaggregazione rispetto alla dimensione tempo)
57
IMPLEMENTAZIONE DI UN IMPLEMENTAZIONE DI UN DATA WAREHOUSEDATA WAREHOUSE
58
Implementazione MOLAPImplementazione MOLAP• I dati sono memorizzati direttamente in un
formato dimensionale (proprietario). Le gerarchie sui livelli sono codificate in indici di accesso alle matrici
59
Implementazione ROLAP: Implementazione ROLAP: “s“schemi” dimensionalichemi” 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
60
Schema a stellaSchema a stella
Vendite
CodiceTempo
CodiceLuogo
CodiceArticolo
CodiceCliente
QuantitàIncasso
Tempo
CodiceTempoGiornoMeseMeseTrimestreAnno
Luogo
CodiceLuogo
NegozioIndirizzoCittà
ProvinciaProvinciaRegione
ArticoloCodiceArticoloDescrizioneMarcaCategoria
Cliente
CodiceClienteNomeCognomeSessoEtàProfessione
61
Schema a fiocco di neveSchema a fiocco di neve
Categoria
Codice categoriaCategoria
TrimestreAnno
Mese
CodiceRegioneRegione
Regione
Vendite
CodiceTempoCodiceLuogoCodiceArticoloCodiceClienteQuantitàIncasso
Tempo
CodiceTempo
Giorno
Mese
Luogo
CodiceLuogoNegozioIndirizzoCodice CittàCittàCodiceRegione
Articolo
CodiceArticoloDescrizioneMarca
Codice categoria
Cliente
Codice clienteNomeCognomeSessoEtà
Professione
Mese
62
Una possibile istanzaUna possibile istanzaDataCube?
63
Caratteristiche di uno schema Caratteristiche di uno schema dimensionaledimensionale
• 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
64
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
65
Additività dei fattiAdditività 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
66
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
67
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)
68
Possibile risultato del data cubePossibile risultato del data cube
69
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)
70
Possibile risultatoPossibile risultato
71
INDICI PER IL DATA INDICI PER IL DATA WAREHOUSEWAREHOUSE
72
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”.
73
Query OLAP e indiciQuery 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.”
74
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.
75
EsempioEsempio
• Indice Bitmap sull’attributo Posizione di una tabella Impiegati. – i possibili valori sono:
´Ingegnere´ - ´Consulente´ - ´Manager´ - ´Programmatore´ -´Segretario´ - ´Ragioniere´
1: T = Vero0: F = Falso
00
76
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.
77
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.
78
esempioesempio
• “Quanti maschi in California non sono assicurati?”
79
SvantaggiSvantaggi
• 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.
80
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.
81
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.
82
esempioesempio
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
83
Join index: implementazione nel DWJoin 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.
84
Star Join IndexStar 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.
85
Ovvero …Ovvero …
Tabella Indice
86
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
87
PROGETTO DI UN DATA WAREHOUSE
88
Progetto di un DWH
Selezione delle sorgenti informative
Traduzione in modello E/R comune
Analisi sorgenti
Esigenze OLAP Dati OLTP Altre sorgenti
Integrazione degli schemi E/R
Identificazione di fatti, misure e dimensioni
Ristrutturazione dello schema concettuale
Derivazione di un grafo dimensionale
Progettazione logica multidimensionale
Progettazione fisica relazionale a stella
Integrazione
Progettazione
Input
89
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
90
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
91
... 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.
92
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.
93
Integrazione di schemi di sorgenti informative
• orientata all’analisi e risoluzione di conflitti tra schemi ovvero di rappresentazioni diverse di uno stesso concetto
94
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”
95
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
96
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.
97
Identificazione di fatti, misure e dimensioni
scontrinodatanumero pezziincasso
percentuale
Vendita(0,1)
codice
Articolonomeprezzocosto
marcacategoria
codice
Cliente
Occupazione
sessoanno nascita
città residenza
nome
tempo
Negozionomecittà
98
Ristrutturazione dello schema concettuale
Vendita
scontrino
numero pez z iincasso
codice
Artico lo
nom emarca
codice
C liente
Occupaz ioneprincipale
sessoannonascita
nom e
Negoz io nom e
città
C ittà Regione
regione
Residenz a
M arca
categoria
Categoria prez z o costo
Dati artico lo
meseM ese
data
Giorno
trimestreT rimestre
annoAnno
E’ lo schema concettuale del data warehouse
99
Derivazione di un grafo dimensionale
100
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]
101
Progettazione fisica ROLAP:star schema per Vendita
VENDIT A CodArtico lo CodCliente CodTempo CodNegoz io Incasso
CLIEN T E CodCliente Sesso Occupaz ione Anno nascita C ittà nascita Provincia nascita Regione nascita
A RT ICO LO CodArtico lo M arca Categoria Nom e
NEGO ZIO CodNegoz io Ind iriz z o C ittà Provincia Regione
T EM PO CodTem po Giorno M ese T rimestre Anno
102
ESEMPIO DI PROGETTO
103
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.
104
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
105
Schema E/R della base datiSchema E/R della base dati
106
Schema concettuale della DWHSchema concettuale della DWH
107
Modello finale di tipo starflake-schemaModello finale di tipo starflake-schema
108
Progettazione fisica e gestione datiProgettazione 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.
109
KNOWLEDGE DISCOVERY IN DATABASE
110
Knowledge Discovery in DatabaseKnowledge Discovery in DatabaseIl processo di KDD è un processo interattivo e iterativo, strutturato in diverse fasi:
111
Knowledge Discovery in DatabaseKnowledge 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.
112
Knowledge Discovery in DatabaseKnowledge 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 cioè si compie la ricerca dei pattern pattern d’interessed’interesse.
• Fase 8: si interpretano i pattern “scoperti” con la possibilità di ritornare alle fasi precedenti per ulteriori iterazioni.
113
Knowledge Discovery in DatabaseKnowledge 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.
114
KDD e Data MiningKDD 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.
115
Data miningData 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.
116
Problemi classici di data miningProblemi 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
117
Uso di regole associativeUso 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.
118
Regole associative:esempio di regolaRegole 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)
119
Significatività delle regoleSignificatività 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
120
Pattern sequenzialiPattern sequenziali
• Dati di ingresso:– 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.
121
Pattern sequenziali: esempiPattern 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)
122
ClassificazioniClassificazioni
• Dati in ingresso– 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.
123
Classificazioni:esempioClassificazioni: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.
124
Classificatore polizze a rischioClassificatore polizze a rischio
Età<20
T
T
F
F
TipoAuto = “Sportiva”
Albero di decisione costruito in base ad un “training set” ed utilizzabile nel “test set”