Tilrettelegging av store datagrunnlag for analyse med SAS Scalable Performance Data Engine (SPDE) Steinar Helstrup 8.juni 2017

Like dokumenter
DATAUTFORSKNING I EG, EG 7.1 OG EGENDEFINERTE FUNKSJONER SAS FANS I STAVANGER 4. MARS 2014, MARIT FISKAAEN

9 Online Backup. Priser KR 100 / PC lisens KR 300 / Server lisens (inkluderer bl.a. SQL/Exchange) KR 0,50 / GB

Demo for første sprint

SENTRAL FELLES KARTDATABASE. Geir Heksem

Migrering hos Gjensidige Bank. 9. februar 2011 Ellen Aaslund - Gjensidige Bank Knut Erik Terjesen - bwise

Maestro Klientadministrasjon

Installasjonsveiledning

SQL Server guide til e-lector

SAS Credit Scoring for Banking

Tekniske Krav Aditro Lønn

Scan Secure GTS PAS

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.

UTDANNELSE NTNU i Trondheim, Sivilingeniør i datateknikk og informasjonsvitenskap

Effektiv Systemadministrasjon

Som en del av den kontinuerlige utviklingen av systemet vil Visma Software AS kunne endre sammensetningen av pakkeløsninger, moduler og funksjoner.

NorthIce videobriller

Velkommen som ny bruker av Uni Økonomi!

Releaseskriv versjon Vedr. INSTALLASJONSPROSEDYRER. Versjon Pr. 30. MARS 2012 Copyright. Daldata Bergen AS

Feilsøking i BO. Olav Syse, konsulent. Jan Terje Hansen, service manager. Be business intelligent

Tonje Thøgersen, Daniel Svensen Sundell, Henrik Smedstuen

Harmoni lønn versjon

Brukerveiledning for programmet HHR Animalia

Huldt & Lillevik Lønn og Personal - System 4. Oppdatering. Aditro HRM AS

Veiledning til STAR Tableau

Systemkrav og administrasjon

Datamodellering og databaser SQL, del 2

Installasjonsveiledning

Harmoni lønn versjon

Installasjon Huldt & Lillevik Lønn. Innhold

Din verktøykasse for anbud og prosjekt

Databearbeiding direkte i memory på LASR server nye muligheter? Trond Holmen, SAS Institute

PostGIS som navet i dataforvaltningen ved Skog og landskap

5XQH.MHOYLN )URQW3DJHRJGDWDEDVHU

REISEN MOT EN MER DATADREVET INTERNREVISJON

Kan du byta BI-lösning eller är du fast? Trondos vågade och gjorde det!

NOVUG 14 februar HP Asset Management

Master Data Management

Office Synchronizer. Versjonsinformasjon. Versjon 1.66

Vedlegg 3 Tekniske krav til IKT-løsninger i Kongsbergregionen

Huldt & Lillevik Ansattportal Ansattportal. Versjon

BI strategi rasjonale og metode. Fred Anda. Managing Partner NextBridge Advisory 8. november 2016

Brukerdokumentasjon. Dynamiske Rapporter

For kunder som kjører Huldt & Lillevik Reise 1.3 på Access database

Bruk av data kan deles i data for transaksjonsbruk og data for analyse bruk:

Humanware. Trekker Breeze versjon

Informasjonsanalytisk styring i SpareBank 1 Forsikring

Huldt & Lillevik Lønn 5.0. Oppdatere til ny versjon

Installere konverteringsprogrammet. Innholdsfortegnelse

ROADMAP FOR DIGITALISERING

Installasjonsveiledning PowerOffice SQL

Oppgave 1 (Opprett en database og en tabell)

Temaer til terminalserverinstallasjon

VEILEDNING. Webrapporter

Visma CRM Nyheter og forbedringer Side 1

Installasjonsdokument

SAP Lumira Hans-On Session

SAS I TNS GALLUP. Fra spesialistverktøy til standard rapporteringsog analyseverktøy. Copyright 2010 SAS Institute Inc. All rights reserved.

NYHETER I ENTERPRISE GUIDE 7.12

Visma Reconciliation NYHETER OG FORBEDRINGER

Flytte Lønn 5.0 fra SQL 2000 til SQL 2005 / 2008

2. Hvor mye Internminne har den? Svar: 2GB

Installasjonsveiledning. DDS-CAD Arkitekt & Konstruksjon 7

Skjermbilder DBS Datavarehus

WinTid Scheduler. Oppgradering til versjon HRM

Innføring av sentral lagring av FKB er et nasjonalt løft for kartbransjen

Hurtigstart guide. Searchdaimon ES (Enterprise Server)

Kravspesifikasjon Digital distribusjon av sakspapirer

InfoRed Publisering. - produktbeskrivelse. TalkPool WebServices Postboks Åneby

Nyheter i remote support platform 3.1

Teknisk hjørne RiskManager

Harmoni lønn versjon

Ny SPKrapportering. Morten Erlandsen Unit4. In business for people.

Personec Lønn Personec Lønn Pr

Tekniske forutsetninger - fakturadistribusjon. Drift torsdag 17. sept

Huldt & Lillevik Lønn 5.0. Installere systemet

Installasjon. - første gang. Med MS SQL Server eller eksisterende MSDE. Huldt & Lillevik Lønn og Personal - System 4. Personec AS

DROPS SHAREPOINT. Informasjonsskriv. Innhold

EGA Svar på spørsmål, oppdatert pr

Friheten ved å ha Office på alle enhetene dine

Fri Lønnsrapport er et verktøy for å lage og kjøre ut egendefinerte rapporter. Rapporten startes fra Rapporter Fri lønnsrapport Utskrift

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Datavarehus hva er det?

Installasjonsveiledning

Installasjonsveiledning Future

PowerOffice Server Service

Spørsmål og svar til Konkurransegrunnlag

1. Intro om System Center

INSTALLASJONSVEILEDNING FOR KALK2010 KALKULASJONSPROGRAM

Læringsutbyttebeskrivelse, Fredrikstad FagAkademi

Excelerator tips & triks

Flytte System 4 fra SQL 2000 til SQL 2005 / 2008

Programvareutvikling hos Sun Microsystems. Jørgen Austvik Sun Microsystems Database Technology Group

Datamodellering og databaser SQL, del 2

EXCELERATOR KENNETH TORSTVEIT. Sensitivity: Internal

Installasjonsveiledning Future

PROEX.NO. En webbasert samhandlingsløsning. Utviklet av Eskaler as. Rogaland Kunnskapspark Postboks 8034 Postterminalen 4068 Stavanger

Huldt & Lillevik Lønn og Personal - System 4. Installasjon. - første gang MSDE. Personec AS. Veiledningen er oppdatert pr

Datamodellering og databaser SQL, del 2

Felleskatalogens Nedlastbare CD-rom/web. Installasjonsveiledning Server (Flerbruker) for Windows

Vedlegg 1: Oversikt over noen mulige leverandører

Transkript:

Tilrettelegging av store datagrunnlag for analyse med SAS Scalable Performance Data Engine (SPDE) Steinar Helstrup 8.juni 2017

Agenda Bakgrunn Strukturering av datagrunnlag for analyse Last av datagrunnlag med SAS DI Studio Eksempel på spørringer og responstid Oppsummering 2

1. Bakgrunn

Hva gjør vi? Sylinder Analyse Sylinder analyse er analyseavdelingen hos Sylinder. Vi er 100% eid av Vi bistår med analyser og beslutningsstøtte til, Trumf og øvrige samarbeidspartnere PERSONALISERT KUNDEDIALOG: Bygge modeller for personalisert dialog med kundene og implementere disse. Digitale tilbudskuponger basert på handlemønster EFFEKTANALYSER: Hva var effekten av kampanjen? Regne hjem verdien av kampanjen KUNDEINNSIKT: Hva kjennetegner forbrukerne av ulike produkter? Hva gjør kunden? Gjenkjøp? Kryssalg? DRIVERANALYSER: Hva driver veksten i kjeden? Hvilke faresignaler kan vi plukke opp fra dataene? RAPPORTERING: Standardisere og kontinuerlig videreutvikle rapportering for sluttbrukerne Bindeledd mellom forretningssiden og IT-siden: Analytikere som leker i sandkassa Tolke og forstå dataene Kontrollere datakvaliteten Aggregere/bearbeide dataene slik at de får rett form og kvalitet til formålet Bygge innsikt for beslutningsstøtte og kundedialog 4

Stort analysegrunnlag Kjede/Butikk Tid Vare (3,5 milliarder per år) Kampanje BONG DATABASE (Oracle) Trumf (>50% av omsetningen)

Hvordan kommer vi dit Analyseverktøy og systemer Database: Oracle (Toad) og SQL Server (MS SQL Server) Rapportering/Analyse ETL SAP Business Objects (SAP BO) MS Office (Fortrinnsvis Excel, noe Power Point) SAS DI Studio Informatica Power Center (PC) Data Mining SAS Enterprise Guide SAS Enterprise Miner Optimering SAS Market Optimization (MO) 6

2. Strukturering av datagrunnlag for analyse

SAS Analysemiljø hos Sylinder Til nå: SAS miljø installert på server hos ekstern driftspartner Fremover: SAS miljø settes opp på intern server Krav/begrensinger Begrenset linjekapasitet mellom database og SAS server Unngå installasjon og drift av relasjonsdatabase hos ekstern driftspartner Effektiv drift og forvaltning Enkelt slette gamle transaksjoner Rask AD-HOC analyse Utfordringer Dårlig ytelse på uttrekk av store datamengder fra kildetabeller i datavarehus (Oracle Exadata) Dårlig ytelse på spørring mot store SAS datasett Lite brukervennlig å lese fra mange datasett (splittet på tid/kjede) Løsning Kopiere datagrunnlag til SAS Datasett Sammenstille fakta og dimensjon i samme datagrunnlag Partisjonering av data Parallellisering med SPDE filer Rask disk (I/O disk) 8

SAS Analysemiljø hos Sylinder Internt driftsmiljø SAS Server (eksternt driftsmiljø) KILDE BONG DATABASE (Oracle) SAS DI Studio STAGE (SAS BASE datafiler) SAS DI Studio DETAIL DATASTORE (DDS) Dimensjoner Fakta (SAS BASE datafiler) SAS DI Studio ANALYSE MART (SAS BASE og SPDE filer) Ad-Hoc Analyse (SAS EG) Utvikling av modeller (SAS EG/EM) Begrenset linjekapasitet Drift av modeller (DI Studio) Resultater fra modeller

Sammenstilling av fakta og dimensjoner Slår opp og legger til sentral info fra dimensjonstabeller som ekstra felter Formål: I størst mulig grad unngå å koble mot dimensjoner før filtrering og aggregering av fakta Kilde SAS Detail Datastore (DDS): Transaksjon FAKTA Transaksjon FAKTA Detaljtransaksjon per handel/vare Transaksjon FAKTA Detaljtransaksjon per handel/vare En datafil per: måned, Detaljtransaksjon kjede, kundetypeper handel/vare En datafil per: måned, kjede, kundetype En datafil per: måned, kjede Transer alle kjeder siste 14 måneder m/siste nøkkelinfo på vare, butikk og kunde Transaksjon Vare Butikk Kunde Tid Kunde DIM Dimensjoner med historikk Tid DIM Vare DIM Dimensjoner med historikk Butikk DIM Dimensjoner med historikk 10

Partisjonering av datasett Splitt av datasett i mindre grupper av kunder Gjør det enkelt og raskt å bygge en analyse på en gruppe kunder og teste/validere mot en annen gruppe Muliggjør parallellisering av videre spørringer Datasett med nøkkelinfo fra dimensjoner Datasett Transaksjon Vare Butikk Kunde Tid 16 datasett splittet på tilfeldige grupper av kunder Datasett Transaksjon Vare Butikk Kunde Tid 1 Gruppe 01 2 Gruppe 02 3 Gruppe 03 4 Gruppe 04 5 Gruppe 05 1 Alle Trumf kundene blir fordelt i en tilfeldig kundegruppe ved innmelding Gruppe 01-16 11 6 Gruppe 06 7 Gruppe 07 8 Gruppe 08 9 Gruppe 09 10 Gruppe 10 11 Gruppe 11 12 Gruppe 12 13 Gruppe 13 14 Gruppe 14 15 Gruppe 15 16 Gruppe 16

3. Last av datagrunnlag med SAS DI Studio

Splitt av datasett med loop i SAS DI Studio Kasselapp m/varer Kasselapp totalsum Oversikt over eksisterende SAS datafiler Lage dynamisk liste med måned/kjede 14*6 = 84 Kjører 8 parallelle SAS sesjoner som løper igjennom listen med dataset som skal splittes Splitt av dataset med dynamsisk SAS script 84 filer splittes i 16 kundegrupper = 1344 midlertidige filer # År/Måned Kjede 1 2016/01 1 2 2016/01 2 3 2016/01 3 4 2016/01 4 5 2016/01 5 6 2016/01 6 7 2016/02 1.. 84x 1344x 13

Splitt av datasett - Dynamisk SAS Script (1) Eksempel på oppbygging av SAS script Parametere År/Måned= &am. KjedeKunde = &kk. Opprett dynamisk view Skriv til 16 nye datafiler Bruk av SAS script gjør det enkelt å verifisere hva som skjer, samt enkelt å legge til nye felter. Les fra view Splitt datafil Kjører SAS script 14

Splitt av datasett - Dynamisk SAS Script (2) Resultat Opprett dynamisk view Skriv til 16 nye datafiler Les fra view Splitt datafil 15

Last av midlertidige datafiler til SPDE tabeller (fakta og sumtabeller) Liste med 16 kundegrupper 8 parallelle kjøringer BongVare Bong Sumtabeller Lager dynamisk liste med måned/kjede 14*6 = 84 16 Append til 16 ulike SPDE filer - Ca 50 fysiske filer per tabell - Hver fysiske fil er komprimert til ca 200Mb - Lagret på I/O disk Sletter midlertidige datafiler

Variabler for prediksjonsmodeller Har laget en DI Studio-jobb som beregner alle variablene vi bruker i alle prediksjonsmodellene Løper kun igjennom fakta tabellen en gang 8 parallelle kjøringer Oppretter modellvariabler Liste med 16 kundegrupper Sammenstill er modellvariabler Beregner modellvariabler Fjerner kunder som har reservert seg Lagrer modellvariabler Finner kunder som har reservert seg 17

Score av en prediksjonsmodell En DI Studio jobb per prediksjonsmodell Meget raskt å gjøre score når modellvariablene er forhåndsberegnet Liste med 16 kundegrupper Sekvensiell loop Henter modell variabler og scorer kundene Sammenstiller 16 dataset med score verdier i et view Cut betingelse og lagring til SAS dataset Laster resultat til temp tabell i Oracle Kryssbytter nye data med forrige lastet versjon 18

4. Eksempel på spørringer og responstid

Eksempel på ytelse i internt SAS miljø (I) TESTDATA Antall rader 82 millioner Antall unike kunder 90.000 Størrelse 12,9 GB data Tidsforbruk uttrekk alle Kiwi handler med alle varer for Trumf kundegruppe Type Tidsbruk SAS SPDE 16 sek SAS Base 20 sek Oracle Exadata 2 min 3 sek * * Spørringen internt i Oracle responderer på 730 ms. Resterende tid brukes til å overføre data til SAS serveren 26 DATA WORK.UTTREKK_SPDE; 27 SET SANASPDE.SM003T_FBONGVAREKUNDE_TRUMF3_09; 28 WHERE PARTISJONLISTE_LNR=9 /*TRUMFTRANSER KIWI*/; 29 RUN; NOTE: The data set WORK.UTTREKK_SPDE has 37277087 observations and 37 variables. NOTE: DATA statement used (Total process time): real time 16.48 seconds cpu time 25.02 seconds 30 31 DATA WORK.UTTREKK_BASE; 32 SET SANALYSE.SM003T_FBONGVAREKUNDE_TRUMF3_09; 33 WHERE PARTISJONLISTE_LNR=9 /*TRUMFTRANSER KIWI*/; 34 RUN; NOTE: The data set WORK.UTTREKK_BASE has 37277087 observations and 37 variables. NOTE: DATA statement used (Total process time): real time 19.70 seconds cpu time 19.60 seconds 35 36 DATA WORK.UTTREKK_ORA; 37 SET OAN01.SM003T_FBONGVAREKUNDE_TRUMF3; 38 WHERE PARTISJONLISTE_LNR=9 /*TRUMFTRANSER KIWI*/ 39 AND UTVALGGRUPPE_NR=9; 40 RUN; NOTE: The data set WORK.UTTREKK_ORA has 37277087 observations and 37 variables. NOTE: DATA statement used (Total process time): real time 2:02.96 cpu time 2:30.08 20

Eksempel på ytelse i internt SAS miljø (II) TESTDATA Antall rader 82 millioner Antall unike kunder 90.000 Størrelse 12,9 GB data Tidsforbruk uttrekk ALLE handler med ALLE varer for EN butikk Type Tidsbruk SAS SPDE * 0,56 sek SAS Base 4,69 sek Oracle Exadata 0,47 sek *Henter raskt uten behov for indeksering av felter 26 DATA WORK.UTTREKK_SPDE; 27 SET SANASPDE.SM003T_FBONGVAREKUNDE_TRUMF3_09; 28 WHERE BUTIKK_LNR=14175; 29 RUN; NOTE: The data set WORK.UTTREKK_SPDE has 67667 observations and 37 variables. NOTE: DATA statement used (Total process time): real time 0.56 seconds cpu time 7.84 seconds 31 DATA WORK.UTTREKK_BASE; 32 SET SANALYSE.SM003T_FBONGVAREKUNDE_TRUMF3_09; 33 WHERE BUTIKK_LNR=14175; 34 RUN; NOTE: The data set WORK.UTTREKK_BASE has 67667 observations and 37 variables. NOTE: DATA statement used (Total process time): real time 4.69 seconds cpu time 4.67 seconds 36 DATA WORK.UTTREKK_ORA; 37 SET OAN01.SM003T_FBONGVAREKUNDE_TRUMF3; 38 WHERE BUTIKK_LNR=14175 39 AND UTVALGGRUPPE_NR=9; 40 RUN; NOTE: The data set WORK.UTTREKK_ORA has 67667 observations and 37 variables. NOTE: DATA statement used (Total process time): real time 0.47 seconds cpu time 0.31 seconds 21

5. Oppsummering

Oppsummering Lisens SAS SPDE er inkludert i SAS BASE Egenskaper SAS Performance Data Engine er designet for å levere data med høy ytelse Organiserer data i et strømlinjevennlig format Tillater parallelle spørringer Utnytter bruk av flere CPU er Automatisk sortering ved bruk av BY Begrensninger (viktigste) Dårlig ytelse ved bruk av view mot en SPDE tabell Tillater enten komprimere eller kryptering av datasett Ikke mulig å kopiere datafiler direkte i operativsystem Konklusjon Kan være et meget bra supplement til standard SAS Base filer Viktig å teste ytelse på SAS Base vs SPDE dataset for å finne ut hva som fungerer best ift behov 23