La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

11 giugno 2008 Progetto CARE Ludovico Ferrara Partner Technology Reply s.r.l. Club TI Triveneto – Evento Grandi Moli di Dati.

Presentazioni simili


Presentazione sul tema: "11 giugno 2008 Progetto CARE Ludovico Ferrara Partner Technology Reply s.r.l. Club TI Triveneto – Evento Grandi Moli di Dati."— Transcript della presentazione:

1 11 giugno 2008 Progetto CARE Ludovico Ferrara Partner Technology Reply s.r.l. Club TI Triveneto – Evento Grandi Moli di Dati

2 2 Reply

3 3 Revenue & People Millions of EURO Headcount as at Dec People

4 EBITDAEBIT EBITDA CAGR (99-06): 33.7% EBIT CAGR (99-06): 36.1% EBITDA & EBIT Millions of EURO

5 5  Focalization  Methodology  Culture  Flexibility Reply Characteristics A strong team culture Reply companies work together and join their expertise aiming to optimize efficiency and reach An increased market strenght. Autonomous and specialized Enterprises Reply Companies share management philosophy, Goals and management functional standards, to guarantee quality, proficiency and effectiveness.  Ethics  Reliability  Honesty  Transparency

6 6 Reply Companies Reply Germany

7 7 > Focused on design and development of Architetture Service Oriented projects using Oracle Fusion Architecture. > Location in Milan, Turin, Rome, Treviso > “Tuned” with Oracle Technology using the certification program (OCA, OCP, OCM) and joining to Beta Site Program (Database, Oracle Fusion Middleware). > Focus on Design and Build up solution for the extended enterprise using Oracle eBusiness Suite > Location in Milan, Rome, Treviso > Functional skills on eBS modules. > Technological skills in order to implement vertical solution. Reply: 2 companies focused on Oracle’s proposition

8 8 8 Some Milestones Startup First Beta Site (Oracle8) then 8i, 9, 10g and OAS Beta Server (Bpel, Esb) Customer Satisfation Awards for eBusiness Suite 2002 Largest Competence Center on Oracle Application in Italy Oracle Certified Partner (Technology) Certified Advantage Partner (Technology) OPN Innovation Award Customer Excellence Partnering Certified Advantage Partner for eBS OFM11g Beta Site

9 9 Our Offer Application Integration Architecture (AIA) eBusiness Suite OTM, Demantra, Agile PLM Application Solutions Technologies Enterprise Web2.0 (RIA) BI & CPM SOA Identity & Access Management Core Technologies Customers SOA Methodology (SOA Maturity Model) Process Design (BPA Suite) Technological Stack Methodologies, Processes

10 10 Progetto CARE

11 11 Analytic CRM Operational CRM CARE Platform Customer Analysis, Relation & Experience

12 12 CARE come supporto al Relation Management CARE

13 13 Customer Analysis, Relation & Experience Relativamente ai consumatori vengono collezionate: le informazioni utilizzate dalle applicazioni di CRM applicativo le informazioni utilizzate dalle applicazioni analitiche (es.: score di Data Mining) le informazioni sui prodotti e i servizi e sulle relazioni di proprietà/uso da parte del consumatore le informazioni relative alle iniziative di marketing, di promozione prodotti e servizi le informazioni sui ritorni da parte dei consumatori alle iniziative le informazioni sulle richieste e/o i contatti sui canali di relazione le informazioni circa le risposte/azioni intraprese nei loro riguardi

14 14 CARE: schema funzionale CARE Portal Admin GUI and Data Quality Management GUI Data Browsing And Searching Customer Identity Infos Campaign Mgr Contact Mgr [TBV] Data Mining Tool Customer Intelligence Reporting And Analysis Web Services Interface Runtime Services/Components Schemas / Meta Schemas Campaign Definition, Redemption Measures Customer And Consumer SocioDemo characteristics Products, Services, Contacts Tracking History Contact Management [TBV] Data Acquisition Territory, Dictionary Normalization, Validation, Matching Rules Mapping, Transformation, Loading Rules P,S&C data access C&P data access Data browsing and searching services Data edit services Data Browsing Dealer authorization management Appointment management Agenda Contact mgmt [TBV] Report & analysis engine Data mining engine Data mart access Data Mining and Analysis Admin services Admin Data Acquisition Subsystem and Services: Normalization, Validation, Matching Data Quality Campaign mgmt Target extraction schedule Campaign definition Target defin.

15 15 CARE: Architettura logica acquisizione dati Preprocessing (es.: split dei files, padding) Files di alimentazione DWI EDM: mapping per formati interni standard CARE (es.: MOVAN, MURF) Liste di alimentazione Formato standard interno Formato MURF Caricatore dati di prodotto, servizio e contatto Care repository DWI DNA: normalizzatore (1), generatore di hash code DWI PARTY: doblonatore e caricatore dati anagrafico nella basedati (1) per alcuni mercati si usano algoritmi di normalizzazione di terze parti (es.: ASSESSO Datacare per il brasile)

16 16 Oracle Database Enteprise Edition –Data Mining Option –Partitioning Option –Oracle Workflow Oracle Application Server Enterprise Edition; relativamente alle sue componenti viene utilizzato il conteiner java OC4J e le componenti runtime di Oracle Discoverer Oracle Discoverer (in piano il passaggio ad Oracle BI EE) Oracle Warehouse Builder SPSS Clementine Server 10.1 Microfocus Cobol Server Express 4.0 Piattaforma di normalizzazione DWI costituita da: –Mappatura e configurazione flussi dati (modulo EDM) –Normalizzatore e codificatore hash (moduli specifici per mercato es.: DNA 5.0 per l’Italia oppure DNA 5.0 con integrazione engine di normalizzazione ASSESSO di Datacare per il brasile) –Deduplica e caricamento dati DB (modulo PARTY) –User Interfaces per configurazione prodotti DWI (design time), per ricerca, navigazione e aggionarmento delle tabelle del sottosistema di acquisizione anagrafica (run time) CARE: software di base e prodotti

17 17 Care: architettura fisica

18 18 Le dimensioni della base dati Allocazione RDBMS produzione:1800 Gb Allocazione RDBMS certificazione:1100 Gb Consumatori (IT):51,5 M –Aziende:4,5 M –Privati47 M Veicoli (IT):52,5 M –Gruppo FIAT22,5 M –Concorrenza30M Ordini (IT):9 M (800 K/anno) Finanziamenti (IT):3 M (77 K/anno) Estensioni di garanzia(IT):1,6 M (77 K/anno) Interventi (garanzie, soccorsi, etc.):17,5 M (1,5 M/anno) Contatti(IT):38 M Per il mercato Italia: ca. 20 flussi dati e aggiornamenti di codifiche al giorno; ca. 25 flussi acquisiti su base settimanale

19 19 Grandi moli di dati: il punto di vista applicativo

20 20 Design: capacity planning Spazio disco: definizione delle principali entità e calcolo delle loro occupazioni Risorse elaborative DB server: definizione della numerosità degli accessi ai dati secondo una classificazione (complessi, medi e semplici); interpolazione con i risultati dei test TPC Risorse elaborative Application Server: definizione della numerosità dell’utenza e del tipo e della frequenza di accesso al sistema; interpolazione con i risultati dei test SPECjAppServer2002

21 21 Data Mining Customer Intelligence Design: modelli dati dedicati Repository DB Operational DB Customer Intelligence Data Mart Data Mart Analysis Data acquisition engine Data Information flows

22 22 DB application: set based vs row based Set Based: il set di dati viene elaborato con un unica chiamata SQL. Vantaggi –prestazioni molto elevati –Codifica software molto strutturata Svantaggi –L’anomalia su un singolo record invalida tutta l’operazione –Tracking delle operazioni più complesso –Codifica software più complessa Per un utilizzo efficace, tale approccio richiede l’implementazione di uno step propedeutico di trattamento dati per prevenire tutte le possibili cause di anomalia. Row Based: il set di dati viene elaborato con una chiamata SQL per ogni record. Vantaggi –Consolidamento dell’operazione sul singolo record (commit) –Semplicità di Tracking delle operazioni –Codifica software più semplice Svantaggi –Prestazioni scarse nel caso di manipolazioni a blocco di grosse moli di dati E’ un approccio indispensabile nelle situazioni dove a seconda dell’esito della singola operazione si condiziona il passo successivo.

23 23 DB application: opzione Oracle Partitioning Tabella partizionata: tabella nella quale i dati sono fisicamente segmentati a seconda del valore della/e chiave/i di partizionamento. Es.: Nelle operazioni di accesso ai dati, specificando la chiave di partizionamento, si utilizzerà soltanto il relativo segmento e non tutta la tabella. Vantaggi –Ricerche più rapide, soprattutto nelle situazioni in cui sia necessario un table scan. –Svecchiamento della base dati più efficace (drop di singole partizioni) –Ogni partizione può avere caratteristiche di storage diverse –Distribuzione della tabella segmentata su Tablespaces diversi Svantaggi –Ricerche penalizzate nelle situazioni in cui non venga specificata la chiave di partizionamento –Necessità di intervenire sulla struttura nelle situazioni in cui la chiave di partizionamento assuma nuovi valori per i quali non era stata definita una partizione –Il valore della chiave di partizionamento non è aggiornabile

24 24 DB configuration: l’uso del parallelismo Real Application Cluster: utilizzo del parallelismo a livello di nodo server di elaborazione Parallelizzazione applicativa: con il disegno di una strategia opportuna per evitare i conflitti e la contesa delle strutture dati è possibile lanciare elaborazioni parallele che vengono risolte dal server RDBMS Parallelizzazione del motore SQL: specie nel caso di approcci Set Based il motore può sfruttare l’architettura multiprocessore dei server per parallelizzare l’accesso e la monipolazione dei dati

25 25 DB configuration: utilizzo di Hints Il motore del database normalmente determina autonomamente il miglior piano di esecuzione per la risoluzione di una query. Il piano di esecuzione viene definito sulla base delle statistiche calcolate periodicamente sui dati presenti nelle diverse tabelle. Qualora si verifichino dei grossi cambiamenti nelle tabelle rispetto alle statistiche il piano potrebbe non essere più ottimale In alcuni casi è comunque necessario intervenire manualmente definendo un piano alternativo condizionando il comportamento del motore con direttive che si chiamano hint. Questa attività è molto delicata e complessa, per cui deve essere effettuata soltanto quando indispensabile.

26 26 DB configuration: utilizzo di Hints (esempio) Una tabella di staging, sulla quale è presente una PK, è normalmente vuota. La statistica dice che non ci sono record e quindi l’ottimizzatore non può sfruttare l’indicizzazione della PK, in quanto non ha informazioni per orientarsi. Una procedura carica massivamente dati sulla tabella. Poichè l’indice sulla PK non viene usato per la verifica di univocità, le prestazioni degradano; all’aumentare dei record aumenta anche il costo della ricerca sequenziale Impostando un hint che forzi sempre l’utilizzo dell’indice sulla PK, si migliorano le prestazioni sull’inserimento massimo dei record

27 27 DB configuration: data compression E’ possibile configurare la compressione delle aree di memorizzazione fisica dei dati su disco (Tablespace) Questo meccanismo è stato utilizzato per l’ambiente di certificazione, consentendo di poter replicare tutti i dati in produzione con un costo di spazio disco ridotto Vantaggi: –Riduzione dei costi: occupazione dello storage ridotta del 40% (da 1.8TB a 1.1TB) –In determinati casi (operazioni di lettura, e di insert) aumento delle performance Svantaggi: –Nelle operazioni di aggiornamento degrado delle performance –Maggiore complessità nelle operazioni di allineamento tra ambiente di produzione e certificazione

28 28 Case Study: Data Mart Analysis Data Mart Analysis: caricamento integrale settimanale FaseNoteDurata 0MIDA: Tecnologia SAS, basata su file System 40 ore 1CARE: Tecnologia Oracle, hardware partizionato 30 ore 2CARE: Tecnologia Oracle, Hardware non partizionato 20 ore 3CARE: Tecnologia Oracle, Hardware non partizionato, Tablespace compression 19 ore

29 29 Gli impatti sulla Web Application Il modello dati è stato progettato in modo ottimale per il suo trattamento (es.: informazioni nella loro forma più aggiornata, uso della denormalizzazione, etc) Utilizzo dei meccanismi di cache delle componenti di Object Relational Mapping Per le estrazioni utenti si realizza l’accesso ai dati in background secondo i criteri di query selezionati e si effettua un pre-calcolo della lista da estrarre (in xml). In un secondo momento si trasforma (uso di xsl) la lista nel struttura e nel formato specifico dell’estrazione richiesta Utilizzo di pull parser ovvero parser che consentono le trasformazione di grandi documenti XML con un uso limitato della memoria e compressione dei files per il download

30 30 Contact Ludovico Ferrara Partner Technology Reply s.r.l. Q&A

31 31 BACKUP

32 32 La ns.applicazione Alcuni dati di dimensionamento solo sul mercato Italia Le tecnologie usate per la gestione di grandi moli di dati: –Design: Capacity planning (L) –Design: modelli dati dedicati (L) –DB: operazioni set based vs row based (cursori) puntualizzare che verifiche stringenti per non avere pesanti rollback (P) –DB: il partizionamento (P) –DB: il parallelismo (vedi caricamento dma) (A) –DB: il condizionamento del comportamento ottimizzatore con Hints (P) –DB: data compression (A) –Hardware dedicato preferibile ad hardware partizionato (A) –Esempio del dma (A) SAS (file system, no parallelismo) 40 ore Oracle (su host partizionato, tecniche di parallelismo, etc.) 26 ore Oracle (hardware non partizionato) 20 ore Oracle (compressed, non partizionato) 18 ore –Web Application: caching dei dati basato sia sulle tecnologie utilizzate (iBatis) che su soluzioni applicative (preFetch delle informazioni) (R)

33 33 Customer Analysis, Relation & Experience

34 34 CARE: architettura tecnica

35 35 CARE: censimento Flussi ITALIA

36 36 Mida come supporto al Relation Management

37 37 CARE: tecnologie per l’acquisizione dati preprocessing: shell unix di trattamento files piattaforma DWI: nelle sue componenti EDM, DNA e PARTY; comprende le logiche e gli algoritmi in linguaggio COBOL oltre al modello dati relazionale per la memorizzazione della componente anagrafica caricatore di prodotto, servizi e contatti: procedure di ETL sviluppate con Oracle Warehouse Builder ed automatizzate in catene elaborative con l’uso di Oracle Workflow Automazione acquisizione: tutto il trattamento elaborativo per l’acquisizione dati è gestito con catena di schedulazione orchestrate da Maestro (standard GV) Per la realizzazione del sistema di acquisizione dati sono state usate le seguenti tecnologie:

38 38 CARE: tecnologie utilizzate per il portale framework Struts: implementazione del design pattern model-view-controller per la realizzazione di applicazioni web framework Spring: implementazione del design pattern DAO per la manipolazione degli oggetti in lettura/scrittura dalla basedati framework iBatis: per l’accesso fisico alla basedati, separando la manipolazione degli oggetti dai comandi SQL language di manipolazione del DB libreria AJAX: per rendere più rapido il rinfresco delle pagine e alleggerire il traffico tra il client ed il web server Per la realizzazione del portale in java sono stati usati i seguenti framework e le seguenti tecnologie:


Scaricare ppt "11 giugno 2008 Progetto CARE Ludovico Ferrara Partner Technology Reply s.r.l. Club TI Triveneto – Evento Grandi Moli di Dati."

Presentazioni simili


Annunci Google