Caso di studio: Coopetitive Datawarehouse File - e-Learning

Coopetitive Data Warehouse
Dott. Claudio Venturini
Di cosa parlerò...
1. Vi mostrerò un'esperienza pratica di sviluppo di un data warehouse
2. Illustrerò le problematiche dello sviluppo di un data warehouse in un
contesto un po' particolare: un contesto di coopetizione
3. Spiegherò come è possibile adattare il processo di sviluppo e le
architetture impiegati per i data warehouse tradizionali al fine di
sviluppare un Coopetitive Data Warehuose
COOPETITIVE DATA WAREHOUSE
2
Cos'è la coopetizione?
COMPETIZIONE
COOPERAZIONE
COOPETIZIONE
"You've to compete and cooperate at the same time"
Ray Noorda, 1993
CEO di
COOPETITIVE DATA WAREHOUSE
3
Perché la coopetizione?
"There's no way you can not be partner with a whole lot of people.
Rather than wait for that to happen, we decided we would partner
with anybody and everybody that made sense."
Ray Noorda, 1992
"Business is cooperation when it comes to creating a pie, and
competition when it comes to divide it up."
A. Brandenburger, B. Nalebuff, 1996
COOPETITIVE DATA WAREHOUSE
4
Teoria alla base della coopetizione
× La base teorica della coopetizione si spiega con la
teoria dei giochi
○ Formulata per la prima volta da John Von Neumann
○ I pionieri della teoria dei giochi furono John Nash, John
Harsanyi, Reinhart Selten
○ Premi Nobel per l'economia nel 1994
× Consente di modellare matematicamente il
comportamento di attori che devono agire in
situazioni di competizione o di cooperazione
○ Ogni giocatore ha a disposizione le stesse strategie di
azione
(Premio Oscar 2002)
○ Il guadagno per un giocatore dipende dalle strategie
applicate da tutti i giocatori
COOPETITIVE DATA WAREHOUSE
5
Il gioco della coopetizione
COOPETIZIONE
COMPETIZIONE
Gioco a somma zero
• I giocatori hanno interessi opposti
• Il guadagno di un giocatore è la
perdita dell'avversario
COOPETITIVE DATA WAREHOUSE
Gioco a somma positiva ma variabile
• I giocatori hanno interessi
parzialmente convergenti
• Si ha creazione di valore finché c'è
cooperazione
COOPERAZIONE
Gioco a somma positiva
• I giocatori hanno interessi
convergenti
• Si ha creazione di valore
6
Esempio: Interbank networks (ATM)
× Nel 1977 Citibank è il primo gruppo bancario ad avviare un progetto di
interconnessione dei propri uffici bancari
× Vengono introdotti i primi ATM disponibili 24/7
× In risposta, anche i gruppi concorrenti avviano progetti analoghi
× Si è capito che l'interconnessione delle
reti dei singoli gruppi avrebbe
consentito vantaggi reciproci
× Nascono le reti interbancarie PLUS,
Cirrus, Interac, LINK…
COOPETITIVE DATA WAREHOUSE
7
Esempio: Walt Disney & Pixar
× Negli anni '90 Walt Disney e Pixar sono entrambi produttori (e competitor)
di lungometraggi e film di animazione
× Decidono di cooperare nella distribuzione
× Walt Disney distribuisce a livello globale le maggiori produzioni Pixar
○ Toy Story, Finding Nemo, The Incredibles, …
COOPETITIVE DATA WAREHOUSE
8
Esempio: Toyota, Peugeot, Citroën
× L'economia di scala consente di abbassare i costi
× Per produrre un utilitaria a bassissimo costo Toyota, Peugeot e Citroen
decidono di collaborare per ridurre i costi di sviluppo
× Viene costituita la joint venture TPCA e costruito un unico stabilimento di
produzione
× Toyota Aygo, Peugeot 107, e Citroën C1 condividono il 92% dei
componenti. Differiscono per loghi e parte di interni e di carrozzeria.
COOPETITIVE DATA WAREHOUSE
9
Il caso di AOP UnoLombardia
× AOP UnoLombardia è il consorzio che riunisce le maggiori Organizzazioni
di Produttori (O.P.) di ortofrutta della Lombardia
9 O.P.
…
(Bonduelle)
(DimmidiSì)
(SAB ortofrutta)
(Jentu)
…
COOPETITIVE DATA WAREHOUSE
2500+
produttori
10
Finalità di AOP UnoLombardia
× È un consorzio senza scopo di lucro
× Favorisce la cooperazione tra le O.P.
× Mira a migliorare la competitività delle O.P. sul mercato
× Come?
○ Analisi del mercato al fine di orientare le produzioni
○ Iniziative di innovazione in campo IT per la gestione del ciclo produttivo
○ Formulazione e ottimizzazione dei processi per migliorare l'efficienza delle O.P.
○ Informazione del consumatore
○ Garanzia della qualità della filiera produttiva attraverso la verifica
dell'applicazione dei disciplinari di produzione regionali
○ Garanzia della tracciabilità dei prodotti
COOPETITIVE DATA WAREHOUSE
11
Il business delle O.P.
1° Gamma
Produttori
Grande Distribuzione
Organizzata (GDO)
Materia prima
Organizzazione
di Produttori
4° Gamma
COOPETITIVE DATA WAREHOUSE
12
La IV gamma
× Comprende l'ortofrutta fresca venduta già lavata e confezionata
× Le O.P. producono IV gamma a marchio proprio (branded) e in private
label, ossia con marchio di una specifica GDO
Marchio proprio
(branded)
Private label
60% del
mercato!
COOPETITIVE DATA WAREHOUSE
13
L'esigenza delle O.P.
× Il 60% del mercato della IV gamma è occupato da prodotti private label
× Il potere contrattuale della GDO è troppo elevato, le O.P. non sono
sufficientemente competitive
○ La GDO fornisce la principale base di clienti per i prodotti delle O.P.
○ Il private label costituisce una parte rilevante del fatturato delle O.P.
× Di conseguenza la G.D.O. detta le regole e i prezzi del gioco
È necessaria una maggiore cooperazione tra le O.P. per:
1. ottenere maggiore potere contrattuale verso la GDO
2. migliorare l'efficienza della produzione al fine di incrementare
il margine operativo
COOPETITIVE DATA WAREHOUSE
14
Misura 124: "Il primario avanzato"
× Progetto POR-FESR 2007-2013 co-finanziato dalla Regione Lombardia
○ Avviato nel 2009 in partnership con l'Università degli Studi di Milano-Bicocca
○ L'obiettivo è fornire soluzioni pilota mirate a favorire lo scambio di informazioni
tra le O.P. al fine di migliorarne la competitività sul mercato
Ottenere una visione globale del
mercato delle O.P. del consorzio
Effettuare analisi storiche circa
l'intera produzione del consorzio
Un Data
Warehouse!
Condurre analisi previsionali per
anticipare le richieste della GDO
COOPETITIVE DATA WAREHOUSE
15
Il data warehouse tradizionale
× È un sistema interno ad una singola organizzazione
○ Raccoglie dati interni all'organizzazione
○ Esegue analisi e produce dati destinati ad utenti interni all'organizzazione stessa
Manager
Analisti
Pulizia e
integrazione
DW
Altri utenti
Sorgenti
eterogenee
COOPETITIVE DATA WAREHOUSE
16
Un Coopetitive Data Warehouse (CDW)
× È un data warehouse destinato ad operare in un contesto coopetitivo
○ Raccoglie dati provenienti da tutte le organizzazioni cooperanti
○ I risultati delle analisi sono destinati alle organizzazioni stesse, e sono il frutto
dell'integrazione di dati appartenenti a organizzazioni in competizione
Organizzazione 1
Informazioni
globali
Organizzazione 2
…
Pulizia e
integrazione
DW
Informazioni
pubbliche e
di controllo
Organizzazione N
COOPETITIVE DATA WAREHOUSE
17
Peculiarità e requisiti di un CDW
× Lo sviluppo di un CDW presenta problematiche aggiuntive rispetto a ad
un DW tradizionale, e determina quindi alcuni requisiti peculiari
× Integrazione
1. Problematiche classiche di integrazione di sorgenti eterogenee
2. Al contrario di un DW tradizionale, nello sviluppo di un CDW il team potrebbe
non avere accesso diretto alle sorgenti:

Non è possibile applicare tecniche di ricostruzione dello schema logico della sorgente a
partire dagli schemi fisici (approccio bottom-up)

È necessario partire da uno schema concettuale globale delle informazioni che i
partecipanti decidono di condividere (approccio top-down)
COOPETITIVE DATA WAREHOUSE
18
Peculiarità e requisiti di un CDW
× Scalabilità
1. Rispetto alla quantità di dati processati: come in un DW tradizionale
2. Rispetto al numero di sorgenti da integrare: il numero di partecipanti può
variare nel tempo

AOP UnoLombardia riuniva 9 O.P., oggi sono 13
× Flessibilità
○ In un DW tradizionale, le modifiche agli schemi delle sorgenti sono eventi poco
frequenti, che avvengono nel lungo periodo
○ In un CDW, maggiore è il numero di partecipanti più alta è la probabilità di
modifiche ad uno degli schemi delle sorgenti nel breve periodo
COOPETITIVE DATA WAREHOUSE
19
Peculiarità e requisiti di un CDW
× Proprietà dei dati
○ In un CDW i dati integrati e processati appartengono a più organizzazioni in
competizione: il dato esce dal confine della singola organizzazione
○ È necessaria una soluzione di integrazione che garantisca che i dati
transazionali di una singola organizzazione non siano mai materializzati
all'esterno dell'organizzazione stessa.
× Privacy
○ Le informazioni condivise sono spesso sensibili
○ Un sistema di data warehousing abilita analisi approfondite che espongono al
rischio dell'inferenza statistica

Un partecipante potrebbe sfruttare le informazioni del CDW per risalire alle informazioni
sensibili delle altre organizzazioni partecipanti.
COOPETITIVE DATA WAREHOUSE
20
Integrazione: concetti comuni
× In un CDW i partecipanti si accordano sul set di informazioni da
condividere, in base a:
○ utilità di una data informazione rispetto alle analisi desiderate
○ sensibilità intrinseca dell'informazione e modalità di trattamento
× L'approccio all'integrazione è top-down
○ Si delinea il set informativo comune modellando la porzione di business di
interesse per le analisi: schema globale
○ Per ogni partecipante, si analizzano i dati a disposizione, ottenendo lo schema
locale, e si effettua il mapping tra i concetti di tale schema e quelli dello
schema globale.
COOPETITIVE DATA WAREHOUSE
21
Integrazione: concetti comuni
prezzo
1,n
Organizzazione
nome
1,n
vendita
1,1
Prodotto
appartenenza
1,n
1,n
nome
nome
Cliente
Categoria
nome
1,n
Acquirente
Schema
globale
prezzo
1,n
acquisto
1,n
categoria
Prodotto
Schema
locale
nome
Negozio
COOPETITIVE DATA WAREHOUSE
22
Integrazione: anagrafiche condivise
× È possibile concordare a priori con tutti i partecipanti l'insieme di istanze
da considerare per ogni concetto dello schema globale che
rappresenta le istanze di una dimensione del CDW
× Una anagrafica condivisa definisce le istanze di un concetto e il mapping
con le corrispondenti rappresentazioni (le chiavi) nelle sorgenti
informative di ogni singola organizzazione
Anagrafica condivisa
Tabella
anagrafica
Tabella di
mapping
organizzazione 1
COOPETITIVE DATA WAREHOUSE
Tabella di
mapping
organizzazione 2
Tabella di
mapping
organizzazione 3
25
Integrazione: processo
× Il processo di integrazione in un CDW è di tipo top-down
Individuazione dei
concetti comuni
Definizione dello
schema globale
Definizione delle
anagrafiche
condivise
Analisi dello schema
locale
Per ogni
partecipante
Definizione dei
mapping con lo
schema globale
COOPETITIVE DATA WAREHOUSE
26
Privacy
× In un CDW è la privacy è un aspetto fondamentale, ma in ambito OLAP è
problema poco studiato
× È necessario prevenire la possibilità di inferenza statistica per derivare i
dati di un singolo partecipante. Ponendo alcune condizioni…
Devono essere forniti solo dati globali
aggregati: non devono essere forniti dati
di un singolo partecipante
Sotto tali condizioni, la privacy è garantita se:
•
coinvolte
I dati forniti devono essere relativi a
concetti comuni ad almeno 3 dei
•
Ogni organizzazione conosce unicamente i
suoi dati
partecipanti
•
I dati globali sono fornibili solo quando
L’attaccante è una delle organizzazioni
L’attaccante intenda inferire il valore
esatto dei dati
calcolati a partire dai dati di dettaglio di
tutti i partecipanti a cui sono comuni
COOPETITIVE DATA WAREHOUSE
27
Problemi delle architetture tradizionali
× L'architettura di un DW tradizionale è a 3 livelli
Sorgenti
ETL
integrazione
Procedure di ETL specifiche per ogni sorgente
Bassa flessibilità e scalabilità rispetto all'ingresso
di nuove organizzazioni
ODS
Operational Data Store materializzato
ETL
caricamento
Non garantisce la proprietà dei dati delle
organizzazione
DW
COOPETITIVE DATA WAREHOUSE
28
Integrazione virtuale: EII
× L'integrazione delle sorgenti di proprietà delle singole organizzazione
avviene tramite un sistema di Enterprise Information Integration (EII)
× Un sistema di EII consente di integrare le sorgenti costruendo una vista
integrata virtuale
× Le interrogazioni sulla vista sono eseguite direttamente sulle sorgenti
ETL
EII
Approccio
Persistente
Virtuale
Caricamento
Push
Pull
Prestazioni
Determinate dal DBMS dell'ODS
Determinate dalla sorgente più lenta
Storicizzazione dei dati
A piacere
Limitata dalla storicità delle sorgenti
Complessità di set-up
Elevata
Bassa
Disponibilità
Determinata dal DBMS dell'ODS
Pari alla probabilità che tutte le sorgenti
siano disponibili contemporaneamente
Latenza
>0
=0
COOPETITIVE DATA WAREHOUSE
29
Architettura di un CDW
× Un sistema di EII consente di soddisfare i requisiti di scalabilità, flessibilità e
protezione della proprietà dei dati conferiti dai partecipanti
Un wrapper per ogni sorgente
Sorgenti
Ognuno definisce uno schema
virtuale composto da viste che
Anagrafiche
condivise
interrogano gli schemi delle
sorgenti. L'aggiunta di
un'organizzazione richiede solo la
EII
V-ODS
definizione di nuove viste
 Semplici interrogazioni SQL!
ETL
caricamento
Virtual Operational Data Store
I dati integrati non sono materializzati, è noto
solo lo schema. Garantisce la proprietà dei
DW
COOPETITIVE DATA WAREHOUSE
dati forniti dalle singole organizzazioni.
30
Processo di sviluppo
× Lo sviluppo di un CDW segue un approccio requirement-driven
○ I partecipanti si accordano sul genere di analisi di cui necessitano e sull'insieme
di dati da condividere
Individuazione
concetti
Definizione
progetto
Classificazione
concetti
Analisi dei
requisiti
Progettazione
concettuale
Progettazione
logica DW
Progettazione
fisica DW
Progettazione
e sviluppo ETL
Progettazione
logica SG
Progettazione
logica SL
Mapping SL
Progettazione
applicazioni BI
Sviluppo
integrazione
Deployment
× Il processo è adattato dal Business Dimensional Lifecycle di Kimball
Sviluppo
applicazioni BI
Manutenzione e crescita
COOPETITIVE DATA WAREHOUSE
31
Requisiti
× Il CDW per AOP UnoLombardia deve soddisfare un'esigenza principale
Ottenere una visione globale del
mercato delle O.P. del consorzio
× Il CDW costituisce la base per lo sviluppo di applicazioni di business
intelligence per analisi storica e predittiva
Raccolta dei dati relativi a prezzi e
quantità di materia prima acquistata
da parte delle O.P. al fine di
condurre analisi globali sul dati
aggregati degli acquisti dell'intero
consorzio
Raccolta dei dati relativi a prezzi e quantità
di referenze vendute dalle O.P. alla GDO,
per condurre analisi globali sul dati
aggregati delle vendite dell'intero
consorzio, limitatamente ai prodotti di IV
Gamma in private label
Due data mart: acquisti e vendite
COOPETITIVE DATA WAREHOUSE
32
Individuazione dei concetti
× I partecipanti concordano la porzione di business che intendono
condividere
× Si costruisce un modello globale dei concetti di dominio
Descrizione
fornitura
Indirizzo
Nome
Azienda
agricola
1,n
afferenza
Comune
Data
Quantita
UM
1,1
0,n
1,1
appartenenza
COOPETITIVE DATA WAREHOUSE
1,n
Sito
produttivo
Nome
1,1
0,n
collocazione
1,1
1,n
Descrizione
collocazione
1,n
acquisto
1,n
Peso
Descrizione
1,n
1,n
composizione
Prezzo
OP
1,1
Provincia
1,n
Quantità
Nome
contenuto
3,n
Prezzo
1,1
effettua
Data
fattura
1,1
Vendita
Data
GDO
1,n
produzione
1,n
Nome
Confezione
Referenza
Nome
1,n
Nome
1,n
Materia
prima
Percentuale
1,n
cliente
N. fattura
33
Classificazione dei concetti
Unclassified
Liberamente condivisibile
Confidential
Condivisibile solo in forma aggregata
Secret: condivisibile in forma aggregata
e con riduzione della qualità
• Minore accuratezza: approssimazione,
rumore, aggregazioni
• Minore timeliness: fornitura ritardata
Top-secret
Non condivisibile
fornitura
Indirizzo
Nome
Azienda
agricola
1,n
afferenza
Comune
Data
Quantita
UM
1,1
0,n
1,1
appartenenza
COOPETITIVE DATA WAREHOUSE
1,n
Sito
produttivo
Nome
1,1
0,n
collocazione
1,1
1,n
Descrizione
collocazione
Materia
prima
1,n
acquisto
1,n
Percentuale
Peso
Descrizione
1,n
1,n
composizione
Prezzo
OP
1,1
Provincia
1,n
Quantità
Nome
contenuto
3,n
Prezzo
1,1
effettua
Data
fattura
1,1
Vendita
Data
GDO
1,n
produzione
1,n
Nome
Confezione
Referenza
Nome
1,n
Nome
1,n
Descrizione
1,n
cliente
N. fattura
34
Progettazione concettuale
× Due passi:
1. Design dello schema globale integrato
2. Progettazione concettuale del modello multidimensionale dei data mart
× Lo schema globale integrato è derivato dal modello dei concetti di
business definito in fase di analisi
○ I concetti top-secret vengono rimossi
○ Se le singole organizzazioni potranno accedere direttamente allo schema
globale integrato è necessario rimuovere il concetto di organizzazione (O.P.) e
aggregare i dati di tutte le entità ad esso correlate

Non necessario nel caso di AOP UnoLombardia: le singole O.P. accedono solo ad CDW,
non hanno accesso diretto allo schema globale integrato
COOPETITIVE DATA WAREHOUSE
35
Modello multidimensionale
× Modellazione dei due data mart tramite il Dimensional Fact Model (DFM)
Settimana Mese Trimestre Anno
Settimana Mese Trimestre Anno
Festivo
Festivo
Giorno
Giorno
Data
Tipo
Referenza
Confezione
Valore
Data
Tipo
Referenza
VENDITA
Quantità
Valore
ACQUISTO
Controparte
Tipo
Confezione
Controparte
Quantità
Valore
Valore
Tipo
Località
Area geografica
Provincia Regione
Nazione
Poiché non è possibile fornire i dati relativi alle singole OP o alle singole GDO, le
controparti attualmente sono: le singole azienda agricole, la GDO, AOP UnoLombardia.
COOPETITIVE DATA WAREHOUSE
36
Anagrafiche condivise
× In fase di progettazione logica dello schema globale di individuano le
anagrafiche condivise
× Le informazioni delle anagrafiche condivise non saranno fornite dalle
sorgenti di proprietà delle singole organizzazioni
Anagrafica delle
materie prime
Anagrafica delle
referenze
COOPETITIVE DATA WAREHOUSE
37
Schemi locali
× La porzione di schema
globale che rappresenta le
informazioni che le singole
organizzazioni devono fornire
è lo schema locale di
riferimento
× Ogni organizzazione mette a
disposizione, in qualche
forma, i dati dello schema di
riferimento: schema locale
× Il sistema di integrazione
effettua la mappatura tra
ogni schema locale e lo
schema di riferimento:
riconciliazione
COOPETITIVE DATA WAREHOUSE
38
Integrazione tramite EII
× Nel CDW di AOP UnoLombardia è stato impiegato JBoss Teiid 5.1
○ Sistema di EII open-source
Definiti come viste
in SQL
Mapping
Schema
integrato
Mediator
Wrapper
Sorgenti eterogenee
COOPETITIVE DATA WAREHOUSE
39
Mapping di una sorgente
× Il mapping tra lo schema locale di una sorgente e lo schema locale di
riferimento è definito in SQL
Conversioni
COOPETITIVE DATA WAREHOUSE
Pulizia
Risoluzione dei conflitti di
chiavi tramite le
anagrafiche condivise
40
Implementazione dello schema globale
× Lo schema globale virtuale è composto dalle anagrafiche e da viste che
effettuano l'unione di tutti gli schemi locali delle organizzazioni
Interrogabile
come una
vista SQL
COOPETITIVE DATA WAREHOUSE
41
Implementazione del CDW
× Implementato tramite la
piattaforma di Business
Intelligence open source
Pentaho BI Suite 3.7
COOPETITIVE DATA WAREHOUSE
42
Alimentazione del CDW
× Procedure di ETL interrogano lo schema globale virtuale integrato
Aggregazione
dei dati delle OP
Caricamento incrementale:
Carica solo le vendite
successive all'ultima vendita
registrata nel CDW
ETL di caricamento
della tabella dei
fatti VENDITA
COOPETITIVE DATA WAREHOUSE
43
Accesso al CDW
× Accesso ai report e alle analisi OLAP tramite interfaccia web
COOPETITIVE DATA WAREHOUSE
44
Analisi OLAP
Prezzi medi mensili
delle referenze
(Q3-2009 - Q4-2010)
COOPETITIVE DATA WAREHOUSE
45
Analisi OLAP
Prezzi medi mensili
delle referenze
(Q3-2009 - Q4-2010)
COOPETITIVE DATA WAREHOUSE
46
Analisi OLAP
Grazie per l'attenzione!
Domande?
COOPETITIVE DATA WAREHOUSE
47