Dataintegration best practice vejen til et godt data warehouse Niels-Kenneth Nielsen, seniorkonsulent Professional Services Division
Dataintegration best practice Vejen til et godt data warehouse Agenda Best practice hvorfor er det nødvendigt? Organisering af data warehouse Navngivningsstandarder Dokumentationspraksis Udviklingsstandarder
Best practice hvorfor er det nødvendigt? Fælles referenceramme Design og arkitektur Standarder for udvikling Dokumentation Uden fælles referenceramme Afhængighed af enkeltpersoner Man opfinder den dybe tallerken flere gange Ustruktureret miljø Man risikerer at opfinde flere versioner af sandheden
Best practice hvorfor er det nødvendigt? Få udarbejdet et best practice dokument Hvad skal dokumentet omhandle? Formål og målgruppe Teknisk setup Organisering af data Niveauer i data warehouse Logisk og fysisk folderstruktur Navngivningsstandarder Dokumentationspraksis Udviklingsstandarder Håndtering af sikkerhed Idriftsættelse og schedulering
Organisering af data warehouse Niveauer i et data warehouse Fødekilde Fødekilde Fødekilde Extract Extract Extract Operational data store (ODS) 1:1 kopi af de operationelle data Kildeopdelt Transform Datarens Opsamling af historik Transform Transform Transform Data staging area (DSA) Kildeopdelt Masterdata Centrale tværgående dimensioner Transform Transform Datawarehouse (DWH) Samlet lager af rensede validerede og aftestede data Håndtering af global forretningslogik Kildeopdelt Load Datamart Load Load Applikation data Håndtering af områdespecifikke forretningsregler på tværs af forretningsområder Forretningsopdelt Forretningsopdelt MyBIsystem (optional) Access Access Stored process rapporter, java applikationer BI klienter (EG, WRS, AMO) Back room Front room
Organisering af data warehouse Fra model til folderstruktur Logisk folderstruktur I SAS Data Integration Studio oprettes en rootfolder Organisering af jobs, tabeller, libraries, formater mv. Fysisk folderstruktur Organisering og placering af alle fysiske filer
Organisering af data warehouse Anbefalet logisk folderstruktur Den fysiske folderstruktur bør stemme overens med den logiske fra EnvRoot niveauet Tips: Brug environment variable der peger på roden af den fysiske folderstruktur i stedet for fysiske referencer
Dataintegration best practice Vejen til et godt datawarehouse Best practice: Hvad skal man overveje? Formål og målgruppe Teknisk setup Organisering af data Niveauer i datawarehouse Logisk og fysisk folderstruktur Navngivningsstandarder Dokumentationspraksis Udviklingsstandarder Håndtering af sikkerhed Idriftsættelse og schedulering
Navngivningsstandarder Navngivningsstandarder i SAS Data Integration Studio er vigtige for at sikre overskuelighed og struktur, der illustrerer sammenhænge og gør det lettere at finde jobs samt tabeller. Fastlæg navngivningsstandarder for Jobs Tabeller Kolonner (også på tværs af fødesystemer) Libraries Makroer User-written code/transformations Undgå specialkarakterer i navngivning
Navngivningsstandarder Eksempler Tabeller <niveau>_<systemnavn>_<beskrivelse af tabellen>_<(fysisk tabelnavn)> ods_oes_strukturkontoplan_(ods_oes_strukturkontoplan) Job <niveau>_<systemnavn>_<løbenummer>_<beskrivelse af job>. dsa_ oes_ 202_udtraek_de_relevante_budgetposter. Libraries <niveau>_<system/emne>_<evt. beskrivelse>_<(libname)> dsa_patientdata_(dsa_pas).
Data integration best practice Vejen til et godt data warehouse Best practice: Hvad skal man overveje? Formål og målgruppe Teknisk setup Organisering af data Niveauer i data warehouse Logisk og fysisk folderstruktur Navngivningsstandarder Dokumentationspraksis Udviklingsstandarder Håndtering af sikkerhed Idriftsættelse og schedulering
Dokumentationspraksis Eksempel
Dokumentationspraksis Eksempel
Dataintegration best practice Vejen til et godt data warehouse Best practice: Hvad skal man overveje? Formål og målgruppe Teknisk setup Organisering af data Niveauer i data warehouse Logisk og fysisk folderstruktur Navngivningsstandarder Dokumentationspraksis Udviklingsstandarder Håndtering af sikkerhed Idriftsættelse og schedulering
Udviklingsstandarder Brug af Data Integration Studio Anvend som udgangspunkt standardtransforms Dette princip kan fraviges, hvis: der opnås bedre performance ved user-written kode/transformation der ikke findes en standard transformation til løsning af opgaven substitut for user-written kode/transform kræver brug af en hel række standardtransformationer. Kun én outputtabel per job Tænk performance, når du udvikler
Udviklingsstandarder Performance Hvordan optimerer man sit jobflow med hensyn til performance i SAS Data Integration Studio? Svært at opstille håndfaste regler afhænger af situationen Tommelfingerregel: Brug views hver 2. gang, dvs. undgå at et view refererer til et andet view Medtag kun nødvendige kolonner Minimér længde på tekstkolonner Ved SQL-transformationer sæt alle numeriske kolonner først i select statement Mange tricks, se fx http://support.sas.com/resources/papers/etlperformance07.pdf
Best practice vigtige pointer Få gennemtænkt organisering, navngivningsstandarder mv. for dit data warehouse Denne proces er næsten lige så vigtig som det færdige produkt Få udfærdiget et dataintegrationsdesigndokument! Få udpeget en ansvarlig for, at retningslinjerne overholdes en såkaldt data integration-sherif! Få dokumentet gjort tilgængeligt Husk også, at det er et levende dokument vigtigt at dokumentet opdateres!
Spørgsmål?
Niels-Kenneth Nielsen niels-kenneth.nielsen@sdk.sas.com