Data til rett tid Santander Consumer Bank Liv Bøstrand, Santander Stine Sevilhaug, Affecto Nordic
Agenda 2 Introduksjon Santander Consumer Bank Problemstillingen Målet for prosjektet Rammeverket Løsningen Resultat og oppsummering
Santander, a leading financial Group 100 190,604 14,679 3,501 Million Customers Employees Branches Profit (EUR million) Customers (million) 2 100,0
Santander Nordic 4 NORWAY - Estbl. 1963 (ELCON) - Auto Finance/Cards/Consumer loans - NOK 25,5 MM assets - 30% Market share auto finance - 5% Market share cards 17% 21% FINLAND - Estbl. Q1 2007 - Auto Finance/Direct - NOK 10,4 MM assets - 25 % Market share auto finance DENMARK - Estbl. Q4 2007 - Auto Finance - NOK 4,9 MM assets - 20 % Market share 51% 10% SWEDEN SWEDEN - Estbl. 2000 - Auto Finance - NOK 8,4 MM assets - 16% Market share NORDIC Total assets: NOK 49,8 MM ( 6,4MM) No. of employees: 560
Santander Nordic Markeds posisjon 2010 5 2007 2010 NORWAY CAR 28 % 30 % SWEDEN CAR 8 % 16 % DENMARK CAR 6 % 20 % FINLAND CAR 8 % 25 % CREDIT CARDS 5 % 5 % No 1 No 1-2 No 1 No 1 N/A
Datavarehus relaterte prosjekter. Idea Decision point 1 Planning Decision point 2 Implementation Profit realization Pre-study Specification Detailed design Development Corporate. Loan & Leasing Norway Finland Credit Cards Sweden Denmark
7 Problemstillingen Forsinket last hver dag Tap av salgsmuligheter Store driftsproblemer Mange og komplekse kilder Avhengig av ekstern leverandør Sekvensiell last Forsinkelser/feil i ett land forsinket lasten for alle Datavarehuset forventet ferdig lastet kl 08:00 hver dag Nye løsninger på vei inn i et allerede sprengt lastevindu Helt nødvendig å gjøre noe med lasten av datavarehuset
Prosjektets mål 8 Laste datavarehuset til rett tid hver dag Laste ulike løsninger uavhengig av hverandre Redusere tid brukt på drift av lastejobber Sørge for et robust og skalerbart miljø som kan ta i mot nye løsninger Redusere risiko for stopp i driften
Nytt lasteprinsipp 9 Hovedformål er å ha en plattform tilrettelagt for utvidelse av datavarehuset med både lokale og felles løsninger samt sikre en stabil og sikker drift. Old View Vile Fabriken ODA Other Corp EDW Data Mart Solutions All countries All countries All countries
10 Rammeverket Job Monitor Kontroll og styring på jobbnivå Session Control Kontroll og styring på workflownivå / logiske enheter
Rammeverket JobMonitor 11
12 JobMonitor JobStartScript: 1. Sjekker om samme jobb allerede eksekverer 2. Initiere jobbstart i styringstabell 3. Vente på andre jobber som må være ferdig før denne jobben kan starte 4. Starte eksekvering av jobben
13 JobMonitor JobStopScript: 1. Oppdatere styringstabell med sluttid og status 'Successful' JobFailedScript: 1. Oppdatere styringstabell med sluttid og status Failed 2. Om nødvendig rydde og renske opp i sesjonskontroll rammeverket
Rammeverket Formål med sesjonskontroll: 14 1. 2. 3. 4. 5. Speede opp omkjøring ved å hoppe over de deler av jobben som fullførte ok Innføre ventelogikk på workflow nivå (logisk enhet) for å kunne kjøre flere jobber paralelt som laster til de samme måltabellene Automatisk starttidspunkt ved deltalast Sporing av datalast på radnivå Automatisk tilbakerulling/rensing ved feilkjøring
1: Omkjøring Omkjøring ved intern feil 15 Omkjøring med lastetype NORMAL vil hoppe over de enheter (sessions) som fullførte ok tidligere samme dag Omkjøring ved ekstern feil Omkjøring med lastetype RERUN rekjører alle enheter selv om de har eksekvert ok tidligere samme dag
16 2: Parallellkjøring Venting på Sesjonsnivå (Logisk enhet) Felles nøkkelord for grupper av tabeller FIFO venteliste
3: Deltalast 17 Logging av eksekvering på workflownivå i styringstabell Finn starttidspunkt for siste successful eksekvering for kombinasjonen Job Workflow - Keyword
18 4: Sporing av datalast Samle all sporing av last i 1 tabell Etl_Mod_By kolonne på alle datavarehustabeller inneholder nå en peker mot Sesjonskontroll tabellen. Tidligere var dette en varchar(1000) streng med jobnavn workflownavn dataflownavn Forenkle og enkelt utvide sporingssøk mot sesjonskontroll tabellen i stedenfor mot måltabellene Forminske størrelsen på alle tabeller ved å endre datatype på etl_mod_by fra varchar(1000) til int
Løsningen 19 Template Job - JobMonitor Template_WF SessionControl
Løsningen - SessionControl 20
21 Løsningen - SessionControl Catch ved feil i sesjonen 1. Oppdater status til Failed 2. Send evt mail 3. Automatisk rollback 4. Stopp videre eksekvering (Raise exception)
22 Implementere løsningen 1. Kopier Template WF 2. Sett Keyword 3. Legg inn din kodeenhet (workflow)
23 Implementere løsningen 1. Kopier Template WF 2. Sett Keyword 3. Legg inn din kodeenhet (workflow) 4. Set parametre for Sporing og Deltalast
Eksempel BODI jobb 24
Prosjektets mål 25 Laste datavarehuset til rett tid hver dag Laste ulike løsninger uavhengig av hverandre Redusere tid brukt på drift av lastejobber Sørge for et robust og skalerbart miljø som kan ta i mot nye løsninger Redusere risiko for stopp i driften
Oppsummering 26 Pr. løsning FØR NPO %levert før kl 0800 Etter NPO % levert før kl 0800 Pande 0 74 SF Contract 6 87 Gammelt DWH 43 100 Andre DM 13 87 5 1 Pr. land Etter NPO % levert før kl 0800 Finland 87 Danmark 94 Sverige 94 Norge 100