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