Title: Progetto CARE
1Progetto CARE
- Ludovico Ferrara
- Partner Technology Reply s.r.l.
Club TI Triveneto Evento Grandi Moli di Dati
2Reply
3Revenue People
Millions of EURO
2006
1999
2003
2004
2005
2002
2001
2000
2007
244
875
1011
1277
750
647
396
1925
2272
People
Headcount as at Dec. 31
4EBITDA EBIT
31.5
Millions of EURO
EBITDA
EBIT
EBITDA CAGR (99-06) 33.7 EBIT CAGR
(99-06) 36.1
21.0
14.2
12.3
11.0
10.3
6.7
4.1
9.1
8.4
4.7
6.5
12.0
18.8
27.8
3.2
2006
2002
2001
2000
1999
2003
2004
2005
5Reply Characteristics
Autonomous and specialized Enterprises Reply
Companies share management philosophy, Goals and
management functional standards, to guarantee
quality, proficiency and effectiveness.
- Focalization
- Methodology
- Culture
- Flexibility
A strong team culture Reply companies work
together and join their expertise aiming to
optimize efficiency and reach An increased
market strenght.
- Ethics
- Reliability
- Honesty
- Transparency
6Reply Companies
Reply Germany
7Reply 2 companies focused on Oracles proposition
gt Focused on design and development of
Architetture Service Oriented projects using
Oracle Fusion Architecture. gt Location in
Milan, Turin, Rome, Treviso gt Tuned with
Oracle Technology using the certification
program (OCA, OCP, OCM) and joining to Beta Site
Program (Database, Oracle Fusion Middleware).
gt Focus on Design and Build up solution for the
extended enterprise using Oracle eBusiness
Suite gt Location in Milan, Rome, Treviso gt
Functional skills on eBS modules. gt
Technological skills in order to implement
vertical solution.
Processes
Applications
Technology
8Some Milestones
Customer Satisfation Awards for eBusiness Suite
Largest Competence Center on Oracle Application
in Italy
Certified Advantage Partner for eBS
OFM11g Beta Site
Customer Excellence Partnering
OPN Innovation Award
Certified Advantage Partner (Technology)
Oracle Certified Partner (Technology)
First Beta Site (Oracle8) then 8i, 9, 10g and OAS
Beta Server (Bpel, Esb)
Startup
9Our Offer
Methodologies, Processes
SOA Methodology (SOA Maturity Model) Process
Design (BPA Suite) Technological Stack
Technologies
Application Solutions
Enterprise Web2.0 (RIA) BI CPM SOA Identity
Access Management Core Technologies
Application Integration Architecture (AIA)
eBusiness Suite OTM, Demantra, Agile PLM
10Progetto CARE
11Customer Analysis, Relation Experience
12CARE come supporto al Relation Management
13Customer 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
14CARE schema funzionale
Data Browsing And Searching
Customer Identity Infos
Campaign Mgr
Contact Mgr TBV
Data Mining Tool
Customer Intelligence Reporting And Analysis
CARE Portal
Runtime Services/Components
Web Services Interface
Admin GUI and Data Quality Management GUI
Schemas / Meta Schemas
15CARE Architettura logica acquisizione dati
Care repository
DWI EDM mapping per formati interni standard
CARE (es. MOVAN, MURF)
Preprocessing (es. split dei files, padding)
Caricatore dati di prodotto, servizio e contatto
(1) per alcuni mercati si usano algoritmi di
normalizzazione di terze parti (es. ASSESSO
Datacare per il brasile)
16CARE software di base e prodotti
- Oracle Database 10.2.0.3.0 Enteprise Edition
- Data Mining Option
- Partitioning Option
- Oracle Workflow
- Oracle Application Server 10.1.2.2.0 Enterprise
Edition relativamente alle sue componenti viene
utilizzato il conteiner java OC4J e le componenti
runtime di Oracle Discoverer - Oracle Discoverer 10.1.2 (in piano il passaggio
ad Oracle BI EE) - Oracle Warehouse Builder 10.2.0.1
- 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 lItalia
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)
17Care architettura fisica
18Le dimensioni della base dati
- Allocazione RDBMS produzione 1800 Gb
- Allocazione RDBMS certificazione 1100 Gb
- Consumatori (IT) 51,5 M
- Aziende 4,5 M
- Privati 47 M
- Veicoli (IT) 52,5 M
- Gruppo FIAT 22,5 M
- Concorrenza 30M
- 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
19Grandi moli di dati il punto di vista applicativo
20Design 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à dellutenza e del
tipo e della frequenza di accesso al sistema
interpolazione con i risultati dei test
SPECjAppServer2002
21Design modelli dati dedicati
Customer Intelligence
Data Mining
Data Mart Analysis
Operational DB
Customer Intelligence Data Mart
Repository DB
Data acquisition engine
Data Information flows
22DB 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
- Lanomalia su un singolo record invalida tutta
loperazione - Tracking delle operazioni più complesso
- Codifica software più complessa
- Per un utilizzo efficace, tale approccio
richiede limplementazione 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 delloperazione 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 dellesito della singola
operazione si condiziona il passo successivo.
23DB 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
24DB configuration luso 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
larchitettura multiprocessore dei server per
parallelizzare laccesso e la monipolazione dei
dati
25DB 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.
26DB 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 lottimizzatore
non può sfruttare lindicizzazione della PK, in
quanto non ha informazioni per orientarsi. - Una procedura carica massivamente dati sulla
tabella. Poichè lindice sulla PK non viene usato
per la verifica di univocità , le prestazioni
degradano allaumentare dei record aumenta anche
il costo della ricerca sequenziale - Impostando un hint che forzi sempre lutilizzo
dellindice sulla PK, si migliorano le
prestazioni sullinserimento massimo dei record
27DB configuration data compression
- E possibile configurare la compressione delle
aree di memorizzazione fisica dei dati su disco
(Tablespace) - Questo meccanismo è stato utilizzato per
lambiente 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
28Case Study Data Mart Analysis
Fase Note Durata
0 MIDA Tecnologia SAS, basata su file System 40 ore
1 CARE Tecnologia Oracle, hardware partizionato 30 ore
2 CARE Tecnologia Oracle, Hardware non partizionato 20 ore
3 CARE Tecnologia Oracle, Hardware non partizionato, Tablespace compression 19 ore
- Data Mart Analysis caricamento integrale
settimanale
29Gli 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 laccesso 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 dellestrazione 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
30ContactLudovico FerraraPartner Technology
Reply s.r.l.l.ferrara_at_reply.it www.reply.it
QA
31BACKUP
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)
33Customer Analysis, Relation Experience
da completare
34CARE architettura tecnica
35CARE censimento Flussi ITALIA
36Mida come supporto al Relation Management
37CARE tecnologie per lacquisizione dati
Per la realizzazione del sistema di acquisizione
dati sono state usate le seguenti tecnologie
- 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 luso di Oracle Workflow - Automazione acquisizione tutto il trattamento
elaborativo per lacquisizione dati è gestito con
catena di schedulazione orchestrate da Maestro
(standard GV)
38CARE tecnologie utilizzate per il portale
Per la realizzazione del portale in java sono
stati usati i seguenti framework e le seguenti
tecnologie
- 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 laccesso 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