2470620 data-warehouse

66
1 Data warehousing e OLAP Introduzione Il contesto, processi aziendali Decision Support Systems Sistemi di Data Warehousing Data mart Architettura Modellazione Concettuale Star Schema, Dimensioni, Livelli OLAP Progettazione di un Data Warehouse Analisi, Integrazione, Progettazione

description

 

Transcript of 2470620 data-warehouse

Page 1: 2470620 data-warehouse

1

Data warehousing e OLAP

• Introduzione– Il contesto, processi aziendali

• Decision Support Systems• Sistemi di Data Warehousing

– Data mart– Architettura– Modellazione Concettuale – Star Schema, Dimensioni, Livelli

• OLAP

• Progettazione di un Data Warehouse– Analisi, Integrazione, Progettazione

Page 2: 2470620 data-warehouse

2

Il Contesto

• Verso la fine degli anni ‘90 si è capita l’importanza strategica, per il business, dell’uso dei dati aziendali raccolti dai processi operazionali (Business Intelligence)

• Il ritorno di investimento dato dall’automatizzazione dei processi aziendali non dava il risultato sperato.

• Occorreva sfruttare meglio i dati aziendali globali accumulati

Page 3: 2470620 data-warehouse

3

In genereIn genere::

abbondanza di dati

ma anche abbondanza di ridondanza ed inconsistenza che non permette di utilizzare i dati in modo utile a fini decisionali

DB4

Il problema

DB1

DB3

DB2

Page 4: 2470620 data-warehouse

4

Tipiche richieste

• Qual è il volume delle vendite per regione e categorie di prodotto durante l’ultimo anno?

• Come si correlano i prezzi delle azioni delle società produttrici di hardware con i profitti trimestrali degli ultimi 10 anni?

• Quali sono stati i volumi di vendita dello scorso anno per regione e categoria di prodotto?

• In che modo i dividendi di aziende di hardware sono correlati ai profitti trimestrali negli ultimi 10 anni?

Page 5: 2470620 data-warehouse

5

•gestione dei rischi•analisi finanziaria•programmi di marketing•analisi statistica•integrazione DB clienti•integrazione relazioni clienti•analisi temporale

•telecomunicazioni•banking•università•assicurazioni•beni di consumo•salute•produzione

contesti

problematiche

Possibili applicazioni

Page 6: 2470620 data-warehouse

6

In sintesi ...

daticonoscenza utile all’azienda

sistemi di supporto alle decisioni (DSS)

DSS: Tecnologia che supporta la dirigenza aziendale nel prendere decisioni tattico-strategiche in modo migliore e più veloce

Page 7: 2470620 data-warehouse

7

Processi Aziendali

Processi informativi aziendali:Processi operativi

Operano su dati dipartimentali e dettagliatiDecisioni strutturate e basate su regole definite

Processi gestionaliOperano su dati settoriali e parzialmente aggregatiDecisioni semistrutturate, basate su regole note ma con intervento umano creativo

Processi direzionaliOperano su dati integrati e aggregatiDecisioni non strutturate, non cis ono regole, il tutto è basato su capacità umane

Page 8: 2470620 data-warehouse

8

Processi Aziendali - Una Banca

Processi Operativi:

Gestione di un movimento su Conto Corrente bancario presso uno sportello

Processi GestionaliConcessione di un fidoRevisione delle condizioni su conto corrente

Processi DirezionaliVerifica dell’andamento di servizi su carte di creditoLancio di una campagna promozionaleAccordi commerciali

Page 9: 2470620 data-warehouse

9

Processi Aziendali - Compagnia Telefonica

Processi Operativi:Stipula dei contrattiInstradamento delle telefonateDati contabili telefonate(scatti, durata, tariffa…)

Processi GestionaliStipula di contratti specialiInstallazione infrastrutture

Processi DirezionaliScelta dei parametri che fissano il costo delle telefonateDefinizione di contratti diversificatiPianificazione potenziamento infrastrutture

Page 10: 2470620 data-warehouse

10

Informatizzazione dei sistemi informativi aziendali

Un sistema aziendale può essere tanto più informatizzato quanto più le sue decisioni sono strutturate.

Un processo altamente strutturato può essere facilmente informatizzato, mentro un processo non strutturato può essere solo parzialmente supportato da inziative di informatizzazione

Page 11: 2470620 data-warehouse

11

Sistemi Informativi

Tipologie di sistemi informativi:

Transaction Processing System: dipartimentali, per sistemi strutturati

Management Information System: settoriali, anche per processi gestionali

Decision Support System: fortemente integrati, di supporto alle decisioni

Page 12: 2470620 data-warehouse

12

Perché i sistemi tradizionali non sono sufficienti?

• Non gestiscono dati storici• Sono sistemi eterogenei• Basse prestazioni

• DBMS non adeguati al supporto decisionale• Problemi di sicurezza

Page 13: 2470620 data-warehouse

13

• Sistemi tradizionali– On-Line Transaction Processing (OLTP)

• Sistemi di data warehousing– On-Line Analytical Processing (OLAP)

⇒ Profondamente diversi

Più formalmente…

Page 14: 2470620 data-warehouse

14

Sistemi di Supporto alle Decisioni

I DSS sono i sistemi che supportano la dirigenza nel predere decisoni tattico-strategiche, nel modo migliore e velocemente.

Tipiche operazioni:

3. Quali sono stati i volumi di vendita dello scorso anno per una certa categoria di prodotto?

4. Quali ordini dovremmo soddisfare per massimizzare le entrate?

Ci si basa sui dati accumulati da OLTP.

Page 15: 2470620 data-warehouse

15

In dettaglio ...OLTP OLAP

funzione gestione giornaliera

supporto alle decisioni

progettazione orientata alle applicazioni

orientata al soggetto

frequenza giornaliera sporadicadati recenti, dettagliati storici, riassuntivi,

multidimensionalisorgente singola DB DB multipleuso ripetitivo ad hocaccesso read/write readflessibilità accesso uso di programmi

precompilati generatori di query

# record acceduti decine migliaiatipo utenti operatori manager# utenti migliaia centinaiatipo DB singola multiple, eterogeneeperformance alta bassadimensione DB 100 MB - GB 100 GB - TB

Page 16: 2470620 data-warehouse

16

Sistemi di Supporto alle Decisioni

In generale i DSS si usano per:• Customer Retention

– Identificare pattern che portano il cliente alla “defezione”

• Customer Service– Servizi di recommendation del prodotto

• Marketing– Targeting delle promozioni

• Risk Assessment, Fraud Detection– Trovare pattern sospetti

Page 17: 2470620 data-warehouse

17

Evoluzione dei DSS

• Anni ‘60: rapporti batch– difficile trovare ed analizzare i dati– costo, ogni richiesta richiede un nuovo programma

• Anni ‘70: DSS basato su terminale– non integrato con strumenti di automazione d’ufficio

• Anni ‘80: strumento d’automazione d’ufficio– strumenti di interrogazione, fogli elettronici, interfacce

grafiche– accesso ai dati operazionali

• Anni ‘90: data warehousing, con strumenti integrati OLAP

Page 18: 2470620 data-warehouse

18

I sistemi di data warehousing

Il Data Warehousing si può definire come il processo di integrazione di basi di dati indipendenti in un singolo repository (il data warehouse) dal quale gli utenti finali possano facilmente ed efficientemente eseguire query, generare report ed effettuare analisi

Page 19: 2470620 data-warehouse

19

Data Marts

• Data warehouse dipartimentale • sistema specializzato che mette insieme i dati

necessari ad un dipartimento• implementato creando views specifiche alle

applicazioni• sottoinsiemi materializzati di views dipartimentali

che focalizzano su soggetti determinati. • Possono utilizzare differenti metafore di

rappresentazione

Page 20: 2470620 data-warehouse

20

Il data warehouse

Collezione di dati che soddisfa le seguenti proprietà:• usata per il supporto alle decisioni• orientata ai soggetti

• integrata: livello aziendale e non dipartimentale• correlata alla variabile tempo: ampio orizzonte

temporale• con dati tipicamente aggregati, per effettuare stime

• fuori linea: dati aggiornati periodicamente

Page 21: 2470620 data-warehouse

21

Il data warehouse

Orientata ai soggetti: considera i dati di interesse ai soggetti dell’organizzazione e non quelli rilevanti ai processi organizzativi

– basi di dati operazionali dipartimentali:

• vendita, produzione, marketing– data warehouse: prodotti, clienti, fornitori

Page 22: 2470620 data-warehouse

22

Il data warehouse

Integrata: – i dati provengono da tutte le sorgenti informative– il data warehouse rappresenta i dati in modo

univoco, riconciliando le eterogeneita` delle diverse rappresentazioni:

• nomi

• struttura• codifica• rappresentazione multipla

Page 23: 2470620 data-warehouse

23

Il data warehouse

Correlata alla variabile tempo: presenza di dati storici per eseguire confronti, previsioni e per individuare tendenze

– basi di dati operazionali: finestra temporale di pochi mesi

– data warehouse: finestra temporale dell’ordine di anni

Page 24: 2470620 data-warehouse

24

Il data warehouse

Dati aggregati: nell’attività di analisi dei dati per il supporto alle decisioni:

– non interessa “chi” ma “quanti”

– non interessa un dato ma la somma, la media, il minimo, il massimo di un insieme di dati

Page 25: 2470620 data-warehouse

25

Il data warehouse

Fuori linea: – base di dati operazionale: i dati vengono acceduti,

inseriti, modificati, cancellati pochi record alla volta– data warehouse:

• operazioni di accesso e interrogazione diurne

• operazioni di caricamento e aggiornamento notturne che riguardano milioni di record

Page 26: 2470620 data-warehouse

26

DataWarehouse

ExtractTransformLoadRefresh

OLAPServer

AnalysisQueryReportsData mining

Tools

Serve

Data Marts

Operational DBs

other

sources

Architettura

Page 27: 2470620 data-warehouse

27

Popolare un data warehouse

• Estrazione dei dati dalle sorgenti informative• Trasformazione e pulizia dei dati,

trasformazione di formato e correlazione con oggetti provenienti da altre sorgenti

• Caricamento aggiunta di informazioni temporali e generazione di dati aggregati

• Refresh - modalità incrementale

Page 28: 2470620 data-warehouse

28

System Design

• Capacita` di pianificazione nel definire l’architettura• Integrazione di servers e clients• Disegno degli schemi e delle viste del data warehouse• Disegno dell’organizzazione fisica del warehouse: metodi

di accesso, di caricamento, di partizionamento• Metodi di connessione

• Disegno e implementazione degli script per l’estrazione, il caricamento e il refresh dei dati

• Definizione dei metadati e popolamento della repository• Disegno e implementazione delle applicazioni-utente

Page 29: 2470620 data-warehouse

29

Tecnologie coinvolte

• conceptual data modeling– disegno dello schema del warehouse

• integrazione di dati da fonti eterogenee

– monitoraggio e integrazione• estensione di tecniche relazionali• distributed and parallel processing

– warehouse & OLAP server

Page 30: 2470620 data-warehouse

30

Modellazione concettuale di un data warehouse

Dimensioni e misure

– Star schema: Un singolo oggetto (fact table) in mezzo connessa ad un numero di oggetti (dimension tables)

– Snowflake schema: Un raffinamento dello star schema in cui la gerarchia dimensionale è rappresentata esplicitamente (normalizzando le tabelle delle dimensioni)

– Fact constellations: fact tables multiple condividono dimension tables.

Page 31: 2470620 data-warehouse

31

Star Schema

• Un fatto è un evento di interesse per l’impresa (vendite, spedizioni, acquisti)

• Le misure sono attributi che descrivono quantitativamente il fatto da diversi punti di vista (num di unità vendute, prezzo unitario)

• Una dimensione determina la granularità minima di rappresentazione dei fatti (il prodotto,il negozio, la data)

• Una gerarchia determina come le istanze di un fatto possono essere aggregate e selezionate - descrive una dimensione

Page 32: 2470620 data-warehouse

32

Dimensioni

• Devono essere scelte sono le entità rilevanti per l’analisi

• Tipicamente sono caratterizzate da attributi testuali o discreti

• La dimensione temporale esiste sempreEsempio: •vendite in una catena di supermercati

–Dimensioni: tempo, prodotti, magazzino

•Iscrizioni universitarie–Dimensioni: tempo, facoltà, tipologia studenti

Page 33: 2470620 data-warehouse

33

Dimensioni

Come si identifica se un attributo numerico è un fatto o una dimensione?

Se è una misura che varia continuamente nel tempo è un fatto analisi costo di un prodotto nel tempo

Se è una discrizione discreta di qualcosa che e’ ragionevolmente costante è un attributo di una dimensione costo di un prodotto come informazione descrittiva

Page 34: 2470620 data-warehouse

34

Dimensioni

• Tipicamente le dimensioni sono:– Tempo– Collocazione geografica– Organizzazione

– Clienti

• Il numero di attributi per ogni dimensione è in genere molto elevato (centinaio)

Page 35: 2470620 data-warehouse

35

Fatti

• I fatti sono tipicamente numerici addittivi• Es. vendita in una catena di supermercati i

fatti possono essere – N. prodotti venduti

– Incassi– Costi– …..

Page 36: 2470620 data-warehouse

36

Addittività dei fatti

• Se i dati si possono aggregare sommando rispetto ad ogni dimensione, sono detti addittivi (incassi totali)

• Se si possono aggregare sommando su alcune dimensioni, ma non si possono aggregare sommando su altre sono detti semiaddittivi (es. le misure statiche come bilanci finanziari sono semiaddittive rispetto al tempo)

• Se i fatti non si possono sommare sono detti non addittivi (es. costi unitari non si possono aggregare se prima non si moltiplicano per la unita’ vendute)

Page 37: 2470620 data-warehouse

37

Gerarchie ed aggregati

• L’idea delle gerarchie é di aggregare automaticamente i dati di interesse quando ci si focalizza su un livello

Se ci concentriamo su “Mese” i fatti rappresentano i totali delle vendite per ogni mese

• Possiamo concentrarci su diversi livelli della gerarchia in dimensioni diverse

le vendite mensili per regione di ogni prodotto

• Gerarchia Tipica:

– Comune, Provincia, Regione,Stato, Continente

Page 38: 2470620 data-warehouse

38

Esempio di Star Schema

DateMonthYear

Date

CustIdCustNameCustCityCustCountry

Cust

Sales Fact Table

Date

Product

Store

Customer

unit_sales

dollar_sales

Yen_sales

Measurements

ProductNoProdNameProdDescCategoryQOH

Product

StoreIDCityStateCountryRegion

Store

Chiavi Esterne

La Fact Table è normalizzata

Page 39: 2470620 data-warehouse

39

Esempio di Snowflake Schema

DateMonth

Date

CustIdCustNameCustCityCustCountry

Cust

Sales Fact Table

Date

Product

Store

Customer

unit_sales

dollar_sales

Yen_sales

Measurements

ProductNoProdNameProdDescCategoryQOH

Product

MonthYear

MonthYear

Year

CityState

City

CountryRegion

CountryStateCountry

State

StoreIDCity

Store

Page 40: 2470620 data-warehouse

40

Star Schema vs Snowflake Schema

• Uno schema snowflake fattorizza di più e quindi rende meno efficienti le operazioni di ricerca (+ operazioni join)

• In genere si usa solo quando aumenta la leggibilità dello schema e le prestazioni globali

Page 41: 2470620 data-warehouse

41

OLAP: On-Line Analytical Processing

• Una visione multidimensionale, LOGICA, dei dati• Analisi interattiva dei dati• Modellazione analitica: derivazione delle proporzioni, delle

varianze, etc • Aggregazioni per ogni intersezione di ogni dimensione.

• Previsione, trend analysis, e statistical analysis.

• Calcola e visualizza i dati in 2D o 3D crosstabs, charts, e grafi, with semplici operazioni di pivoting degli assi

Page 42: 2470620 data-warehouse

42

OLAP: Data Cubes

sum

Milk Bread … ... sumJan 96

… ...

sum

Feb 96

Product

Store

Time

OrangePisa

RomaFirenze

All ProductsJanuary 96, Pisa.

Ogni dimensione contiene una gerarchia di valoriuna cella del cubo contiene valori aggregati (count, sum, max, etc.)

Page 43: 2470620 data-warehouse

43

OLAP: esempi

prodotto

magazzino

tempo

Il manager regionale esamina la vendita dei prodotti in tutti i periodi relativamenteai propri mercati

Il manager di prodotto esamina la vendita di un prodotto in tutti i periodo e in tutti i mercati

Il manager finanziario esamina la vendita dei prodotti in tutti i mercati relativamente al periodo corrente e quello precedente

Il manager strategico si concentra su una categoria di prodotti, un’area regionale e un orizzonte temporale medio

Page 44: 2470620 data-warehouse

44

Operazioni tipiche

• Roll up: riassumi i dati– il volume totale di vendite per categoria di

prodotto e per regione• Roll down, drill down, drill through: passa da un

livello di dettaglio basso ad un livello di dettaglio alto– per un particolare prodotto, trova le vendite

dettagliate per ogni venditore e per ogni data

• Slice and dice: select & project– Vendite delle bevande nel West negli ultimi 6

mesi• Pivot: riorganizza il cubo

Page 45: 2470620 data-warehouse

45

Operazioni tipiche: Pivot

ProductStore

Time

All

Time

All

Time

ProductAll

All

AllAll

Drill-Down

Pivot

Pivot

Drill-Down

Drill-Down

Pivot

Page 46: 2470620 data-warehouse

46

Operazioni tipiche: Roll-Up

ProductStore

Month

ProductStore

Year

Roll-up

Drill-Down

ProductRegion

Year

Roll-up

Drill-Down

Page 47: 2470620 data-warehouse

47

Operazioni tipiche: Slice and Dice

ProductStore

Month

Slice

ProductStore

Month

Page 48: 2470620 data-warehouse

48

ROLAP & MOLAP

ROLAP (Relational OLAP): – utilizza le funzionalità di un’engine relazionale

• Tecnologia consolidata• molto efficienti su dati di dettaglio• estesi in modo da permettere la materializzazione degli aggregati • performance• scalabilità• general-purposes

– fornisce ulteriori servizi OLAP services• tools di disegno per schemi DSS• permette di utilizzare performance analysis tools

– SQL strumento principale– Queries difficili da formulare e possono essere time-

consuming

Page 49: 2470620 data-warehouse

49

ROLAP & MOLAP

MOLAP (Multidimensional OLAP): • Il modello di memorizzazione è un vettore

multidimensionale

• Queries multidimensionali si mappano sul server in modo immediato

• Ma:– Dati sparsi difficili da gestire

– Memoria sottoutilizzata– … no join– … no interfaccia SQL (API)– … necessità sistema relazionale per dati dettaglio– … file molto grandi– … limitazioni a circa 10GB (problemi scalabilità)

Page 50: 2470620 data-warehouse

50

DBMS multidimensionali

vendite prodotto mese magazzino

1 vino febbraio A2 acqua febbraio B3 coca cola aprile A4 acqua maggio A5 acqua settembre C

… … … ...

prodotto

magazzino

tempo

vino acqua coca cola

mag

apr

feb

set

CB

A

15 121

42

10

9

25

2

7

11

23

3

Page 51: 2470620 data-warehouse

51

ROLAP & MOLAP

• Performance– Query: MOLAP– Caricamento: ROLAP

• Analisi: MOLAP• Dimensione DW: ROLAP

– MOLAP: problema sparsità

• Flessibilità nello schema: ROLAP– MOLAP: minor numero di dimensioni ammesse

Page 52: 2470620 data-warehouse

52

Metodologie di Progetto

La progettazione di un data warehouse è diversa dalla progettazione di una base di dati operazionale, infatti i dati da memorizzare hanno caratteristiche diverse, si è vincolati alle basi di dati esistenti.

Page 53: 2470620 data-warehouse

53

Progettazione del Data Warehouse

Attività principali:– Requisiti utenti (interviste….)– Analisi delle sorgenti informative esistenti– Integrazione– Progettazione concettuale, logica e fisica

Page 54: 2470620 data-warehouse

54

Progettazione del Data Warehouse

AnalisiSelezione delle sorgenti informativeTraduzione in un modello concettuale comuneAnalisi delle sorgenti informative

IntegrazioneIntegrazione di schemi concettuali

ProgettazioneProgettazione Concettuale

Progettazione Logica

Progettazione Fisica

Page 55: 2470620 data-warehouse

55

Dati in ingresso

• Requisiti aziendali di analisi• Descrizione delle basi di dati• Descrizione di altre sorgenti informative (dati

ISTAT etc)

Page 56: 2470620 data-warehouse

56

Fase di Analisi

• Selezione delle sorgenti informative• Traduzione in un modello concettuale di

riferimento (integrazione tra schemi)• Analisi delle sorgenti informative

(identificazione dei fatti, misure e dimensioni)

Page 57: 2470620 data-warehouse

57

La fase di Integrazione

• E’ l’attività di fusione dei dati rappresentati in più sorgenti in un’unica base dati globale.

• Lo scopo principale è l’identificazione di tutte le porzioni delle sorgenti informative che si riferiscono allo stesso aspetto e unificare la loro rappresentazione

• Identificazione analisi e risoluzione di conflitti

Page 58: 2470620 data-warehouse

58

La Fase di Progettazione

• La semplice integrazione non descrive tutti i dati di interesse

• Progettazione:– Concettuale - individuare concetti dimensionali

necessari per l’analisi

– Logica - identificare il miglior compromesso tra la necessità di aggregare i dati e di normalizzarli

– Fisica - individuare la distribuzione dei dati e relative strutture di accesso

Page 59: 2470620 data-warehouse

59

Modelli dei Dati

• Le sorgenti informative possono essere varie: legacy, relazionale, object-oriented, semistrutturato, rappresentazione concettuale

• Per l’analisi e l’integrazione si fa riferimento al modello Entità - Relazioni

• Per la progettazione si usa il modello logico per basi di dati multidimensionali (MD)

• Per la realizzazione si fa riferimento al modello relazionale (ROLAP) e ad un modello multidimensionale generico (MOLAP)

Page 60: 2470620 data-warehouse

60

Reverse Engineering

• Attività di comprensione concettuale di uno schema di dati - da relazionale a concettuale

• Uno schema ER è più espressivo di uno schema relazionale, ci vuole conoscenza di dominio per recuperare la conoscenza persa nella progettazione logica

• Il reverse engineering di schemi relazionali viene fatto in modo semiautomatico da strumenti CASE

Page 61: 2470620 data-warehouse

61

Integrazione di sorgenti informative

• E’ necessario risolvere i conflitti che nascono dall’integrazione degli schemi. Sono dovuti alla diversa rappresentazione dell’informazione.

• Esempio: Nome e Cognome:– “Mario”, “Rossi”– “Mario Rossi”– “Rossi Mario”– “Rossi, M.”

Page 62: 2470620 data-warehouse

62

Progettazione del DW e schemi MD

• Introduzione di elementi dimensionali nella base di dati integrata

• Identificazione di fatti, misure e dimensioni• Ristrutturazione dello schema concettuale

– Rappresentazione dei fatti tramite entità– Individuazione di nuove dimensioni– Raffinamento dei livelli per ogni dimensione

• Grafo dimensionale

• Progettazione logica e fisica

Page 63: 2470620 data-warehouse

63

Schema integrato ER

Page 64: 2470620 data-warehouse

64

Grafo di derivazione di uno schema dimensionale

Page 65: 2470620 data-warehouse

65

La traduzione

• La dimensioni corrispondono agli ipernodi del grafo

• Livelli e descrizioni corrispondono ai nodi• Le funzioni di roll-up corrispondono agli archi

del grafo• Le tabelle dei fatti sono derivabili dai nodi

fatto

Page 66: 2470620 data-warehouse

66

Star Schema