Best practice Forudsætninger for et godt data warehouse SAS Data Integration Studio Anne Boilesen, konsulent Jacob Høy Berthelsen, konsulent SAS Institute A/S
Best practice Forudsætninger for et godt data warehouse Agenda Indledning Rammerne i et data warehouse (dwh) Data Integration Design-dokument Indholdet i et dwh (Under-)prioriterede opgaver Pointer!! Spørgsmål
Hvem er vi? Professional Services, Skanderborg Civilingeniører i sundhedsteknologi Fokus: Data Integration
Best practice Forudsætninger for et godt data warehouse Agenda Indledning Rammerne i et data warehouse (dwh) Data Integration Design-dokument Indholdet i et dwh (Under-)prioriterede opgaver Pointer!! Spørgsmål
Data Integration Design-dokument Fælles referenceramme Design og arkitektur Standarder for udvikling Dokumentation Målgruppe Alle projektdeltagere Data warehouse-designere ETL-udviklere Projektledere Forvaltningen (drift og overvågning) Ikke tiltænkt forretningsbrugere!
Omkostninger/tid Data Integration Design-dokument Hvorfor skal vi have et Data Integration Design-dokument? Udnytte DI-værktøjet (SAS Data Integration Studio) DI-værktøj DI-standard DI-værktøj DI-standard DI-værktøj DI-standard Tid
Data Integration Design-dokument Indhold Formål og målgruppe Teknisk setup Organisering af data Niveauer i data warehouse Logisk og fysisk folderstruktur Dokumentationspraksis Navngivningsstandarder Udviklingsstandarder Håndtering af sikkerhed Idriftsættelse og schedulering
Data Integration Design-dokument Organisering af data - niveauer i et data warehouse Niveauerne afspejler den process, data gennemgår fra kilde til applikation
Data Integration Design-dokument Organisering af data - niveauer i et data warehouse MASTERDATA Centrale tværgående dimensioner Operational data definition/ storage area Data staging area Data warehouse area Datamart area Source Source Extract Extract 1:1 kopi af de operationelle data Trans form Trans form Datarens Opsamling af historik Trans form Trans form Kildeopdelt Load/ Transform Håndtering af forretningsregler på tværs af systemer Load Aggregerede data Håndtering af forretningsregler BIapplication BIapplication Source Extract Kildeopdelt Trans form Kildeopdelt Trans form Samlet lager af rensede, validerede og aftestede data Sikre entydige definitioner Forretningsopdelt BIapplication Back Room Front Room
Data Integration Design-dokument Organisering af data - niveauer i SAS Data Integration Studio Fra teori til praksis... Logisk folderstruktur I SAS Data Integration Studio Custom Tree (SAS 9.1.3) En hensigtsmæssig organisering af metadata om jobs, tabeller, osv. Fysisk folderstruktur Organisering og placering af alle fysiske filer Ensret den logiske og fysiske folderstruktur!
Data Integration Design-dokument Logisk folderstruktur i SAS Data Integration Studio - eksempel Back Room MASTERDATA ODD/ODS DSA DWH DATA MART Front Room Back Room Front Room
Data Integration Design-dokument Udviklingsstandarder En samling kogebøger til udviklingsarbejdet Tilføjet som afsnit i Data Integration Designdokument
Data Integration Design-dokument Udviklingsstandarder eksempel Hvornår/hvordan anvender vi UserWritten Code? Kun hvis det forbedrer overskuelighed og performance Husk stadig mappings (impact analysis kan derved anvendes) Dokumentér din kode!!!
Data Integration Design-dokument Udviklingsstandarder eksempel Hvornår anvender vi User Generated Transforms? Hvis koden kan generaliseres Placeres i speciel folder i både Custom Tree og Process Library Lad koden kalde en makro
Data Integration Design-dokument Dokumentationspraksis Hvad skal dokumenteres, og hvordan? Bestem et minimumsniveau for dokumentation, fx. Brug descriptions-feltet for transformations og jobs Dokumenter UserWritten Code og transformations Forretningslogik
Data Integration Design-dokument Dokumentationspraksis - eksempel Jobflows Brug Job Description Giv sigende navne til temporære tabeller og transformations Kommer med i koden (samt i loggen) Gør jobbet nemmere at overskue/gennemskue
Data Integration Design-dokument Dokumentationspraksis - eksempel Jobflows
Data Integration Design-dokument Navngivningsstandarder Fastlæg en navngivningsstandard for såvel logiske som fysiske objekter, såsom: Jobs Tabeller Kolonner Libraries m.m. Undgå (specielt i jobs) special-karakterer, inklusive æ,ø,å!!
Data Integration Design-dokument Navngivningsstandarder - eksempel
Best practice Forudsætninger for et godt data warehouse Agenda Indledning Rammerne i et data warehouse (dwh) Data Integration Design dokument Indholdet i et dwh (Under-)prioriterede opgaver Pointer!! Spørgsmål
Data warehouse - indhold - Fokus på (under-)prioriterede opgaver Masterdata/centrale tværgående dimensioner Nødvendighed for at skabe en gennemgående rød tråd i et data warehouse Datarensning Nødvendigt for at skabe autencitet omkring et data warehouse Modellering (datamart) Nødvendigt for at bringe fagligheden inde i et data warehouse
Masterdata/centrale tværgående dimensioner Den røde tråd Opbygningen Hierarkisk eller tekstning af koder Historikhåndtering Hvilke krav stilles fra forretningen, og hvad der er muligt i henhold til data? Vedligehold Automatiseret eller manuelt Afhænger af opbygningen, historikhåndteringen og data
Masterdata/centrale tværgående dimensioner Eksempel - Sundhedsvæsenets KlassifikationsSystem (SKS) Opbygning Gengivelse af SKS til brug i sygehusafdelings-, diagnose- og proceduredimensioner Hierarkisk opbygning http://medinfo.dk/sks/brows.php Historikhåndtering Der ønskes kun gengivelse af nyeste hierarki og tekstning (type 1 dimensioner) Vedligehold Delvis automatiseret - ellers manuel via applikation
Masterdata/centrale tværgående dimensioner Eksempel - Sundhedsvæsenets KlassifikationsSystem (SKS)
Eksempel - SKS Historikhåndtering Det kræver stor indsigt i forretning og data, for at beslutte hvordan historikken skal håndteres
Eksempel - SKS Vedligehold
Eksempel - SKS Vedligehold
Datarensning Autensitet Mål med datarensning Overordnet system til at håndtere datakvalitet Registrere datakvalitet Udfør nødvendige korrektioner til data Publicere datakvaliteten, helst med link tilbage til de faktiske data Niveauer for datarensning Kolonne-screening Struktur-screening Screening af forretningsregler
Modellering (datamart) Fagligheden Forretnings-proces-orienteret Departmentiel-orienteret Rapport-orienteret (ingen modellering) Ideelt set består data warehouse-teamet eksplicit af flere roller: Arkitekter/designere ETL-udviklere BI-udviklere Dataansvarlige M.m.
Pointer Lav et Data Integration Design-dokument! Prioriter det! Gør det tilgængeligt! Prioriter opbygning og vedligehold af masterdata! Tænk datarensning ind i udviklingen! Tag stilling til modellering af datamarter! Hyr gerne SAS til sparring/udarbejdelse af DI-dokument
Referencer Kunder Region Syddanmark, Region Midtjylland, Bankdata, Århus Kommune, Vejle Kommune, Odense Kommune, m.fl. Litteratur Wiley 2004: Ralph Kimball & Joe Caserta: The Data Warehouse ETL Toolkit Practical Techniques for Extracting, Cleaning, Conforming, and Delivering Data Wiley 2004: Ralph Kimball et al: "The Data Warehouse Lifecycle Toolkit, 2nd Edition: Practical Techniques for Building Data Warehouse and Business Intelligence Systems SAS Institute Inc. 2007. Cary, NC: SAS Institute Inc. "ETL Performance Tuning Tips." support.sas.com/documentation/whitepaper/technical/etlperformance07.pdf SAS Global Forum 2007 - Paper 108-2007:Nancy A. Rausch and Nancy J. Wills, SAS Institute Inc., Cary, NC: Super Size It!!! Maximize the Performance of Your ETL Processes http://www2.sas.com/proceedings/forum2007/108-2007.pdf SAS Institute Inc. 2007. SAS Data Integration Studio 3.4: User's Guide. http://support.sas.com/documentation/onlinedoc/etls/usage34.pdf
Spørgsmål?
anne.boilesen@sdk.sas.com jacob.hoey.berthelsen@sdk.sas.com