Data Warehousing Del 2 af 3: Opbygning af et Data Warehouse

Slides:



Advertisements
Lignende præsentationer
Telos Team Introduktion.
Advertisements

En fremtidssikret planlægningsløsning
Hvad handler tekster om? Eksempler på brugen af automatisk klassifikation og tagging i online nyhedsmedier. Rune Stilling RDFined.
Forsiden 1.Denne knap bruges når du vil taste dagens resultater ind. 2.Denne knap skal kun bruges hvis du allerede har gemt data og du finder ud af at.
Udlægning af en ny cache
OLAP / Multidimensionel analyse
Data Warehousing Del 3 af 3:
REGISTRERINGSDATABASEN
Computerens anatomi.
Klik på Aktivér redigering i meddelelseslinjen,
Vejledning i blog-værktøjet WordPress Opdateret februar 2009.
Relationsdatabaser og SQL
3. Funktionelle afhængigheder og normalisering
SQL 1 DDL og DML.
Obligatorisk projekt 5: ERP-systemer
Informationsteknologi B-A, HHX, 2005,
Regnskab & økonomistyring - Lektion 15 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
Regnskab & økonomistyring - Lektion 4 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
Regnskab & økonomistyring - Lektion 13 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
Introduktion til Microsoft CRM Christian Cletus Bjørn Eilertsen.
NOEA/IT - FEN - Databaser/TabelDesign 1 Tabeldesign Design af relationsdatabaser Normalisering.
Mapning af 1 til mange forbindelser
Introduktion til Access (Access, del 1)
Rapporter (Access, del 5)
Relationsdatabaser og SQL
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer Del 2 af 2: Proces- og funktionsdiagrammering Aalborg Universitet, d. 9. oktober 2006.
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer
2:Relations modellering og design regler.
Relationsdatabaser og SQL
Operationer på relationer
Velkommen til workshop om EASY-P
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
SQL – Oracle Relationsdatabase
Context- og flow-diagrammer (databaser, del 3)
Den relationelle model
XML Rasmus D. Lehrmann DM Indhold Hvad er XML? XML standarder Hvor bruges XML? XML struktur Træ struktur Element & Attribute Syntaks i XML Stylesheets.
SQL – Oracle Relationsdatabase
Relationelle databaser og XML
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
2009NOEA/IT - Databaser/arkitektur1 Den relationelle model En teoretisk model for databaser Hviler på et sundt teoretisk grundlag Omfatter: Datastruktur.
Microsoft Office System 21. Oktober 2003 Jesper Aaberg, Business Productivity Advisor Microsoft Danmark.
Virksomhedens informationsbehandling lektion Ved. Jens Godik Højen.
2009NOEA/IT - Databaser/arkitektur1 Tabeldesign Design af relationsdatabaser Normalisering.
IT i Byggeriet Semester 6, kursusgang Databaser (2) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg Universitet.
IT i Byggeriet Semester kursusgang Databaser (2) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg Universitet.
1. Database-systemer, introduktion
Data Warehouse 8. semester forår 2010
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
Data Warehouse - indledning 8. semester forår 2010 v/ Jens Godik Højen, Februar 2010 Fredag kl
Hvorfor Datawarehouse Hvad er det totale salg i område A? Hvilken sælger fik højeste kommission i denne måned ? Hvordan har salget i region A ændret sig.
Rapid Application Development med Application Express Aalborg Universitet, d. 19. september 2007 B e n t M ø l l e r M a d s e nB e n t M ø l l e r M a.
FENNOEA IT - Databaser/SQL-Eval1 SQL: Opsamling Om SELECT Vurdering af SQL.
Intro Databaserne? Gik det som det skulle?. Databasestøttet webpublicering Forelæsning nr 8 Hvorfor data i en RDB (relationel database)? Databasemodellering.
Kjeld Svidt  Institut for Byggeri og Anlæg  Aalborg Universitet IT i Byggeriet Semester 6, kursusgang Databaser (2) Kjeld Svidt
NOEA/IT FEN - Databaser/modellering 1 Datamodellering Den udvidede (enhanced) E/R-model (EE/R- modellen) Begreber Diagrammering Omformning til.
Dokumentation 7. Semester
Oprettelse af tabeller (Access, del 2)
Virksomhedens informationsbehandling
Oracle Application Express Lektion 2 7. Semester 2008.
OPERATIONEL ANALYSE AF WEBADFÆRD OAW – LEKTIONSGANG 11.
Database.
E/R-diagrammering 7. Semester.
Data Warehousing Dag 1 - formiddag
IT på byggepladsen Jørn Johansen, Malermester Jørn Johansen A/S Mads Carlsen, Aalborg Universitet.
Den relationelle model
IT i Byggeriet Semester kursusgang Projektweb og html (fortsat) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg.
Virksomhedens informationsbehandling Opgave inden for databehandling Opgave 1 Ved. Jens Godik Højen.
Import af data i CallCenter, klargøring Import SAP Call Center Finde data (emner) Opdatere adresser Opdatere telefon data Tilrette til Call Center HJV.
Modellering og data Nyt forløb.
Præsentationens transcript:

Data Warehousing Del 2 af 3: Opbygning af et Data Warehouse Aalborg Universitet, d. 1. februar 2007 B e n t M ø l l e r M a d s e n

Det store billede DWH Andre data-kilder OLTP-systemer Tekstfiler … ERP Produktions- system ERP Opsamling, rensning & bearbejdning af data DWH Data Mining Analyse-værktøjer Excel Rapporter OLAP

Data Warehouse dele Target / mål Source / kildesystemer Databasen (tabellerne) der udgør der faktiske data warehouse Source / kildesystemer Kildesystemerne der hentes data fra Extraction, Transformation and Loading (ETL) – Data Staging Processen hvormed der overføres data fra kilderne til data warehouse target

Target / mål Design af Data Warehouse udfra ens problemstilling. Valg af relevant databasemodel til design af Data Warehouse

Databasemodeller Normaliseret model Den traditionelle måde at designe databaser på Anvendes normalt i de fleste kildesystemer, såsom et ERP-system Dog skal man ikke regne med, at de alle er ”pænt” designet Væsentligste formål er at undgå redundant data i databasen Nemt at arbejde med de enkelte posteringer Indtaste, opdatere, slette og hente data om enkelte kunder, ordrer, produkter osv. Kompleks at overskue samlede modeller

Databasemodeller Dimensionaliserede modeller Forskellige arter af dimensionaliserede modeller Star schema (stjerneskema) Snowflake schema Constellation schema Datamodellen er relativ nem at overskue Velegnet som grundlag til analyser og rapporter: Idet det er nemmere at gennemskue strukturen Endvidere vil hastigheden på forespørgsler være hurtigere pga. af færre tabeller og dermed færre joins mellem tabeller Ikke velegnet til OLTP-systemer pga. at der bevidst er redundante data i modellen.

Star schema Fakta-tabel Dimensions- tabel A tabel C tabel D tabel B

Simpelt eksempel på star schema Kunde Kunde_id (pk) Navn Adresse Land Produkt Produkt_id (pk) Navn Serie Gruppe Salg Kunde_id (pk) Produkt_id (pk) Medarb_id (pk) Tid_id (pk) Maengde Beloeb Medarbejder Medarb_id (pk) Navn Stilling Tid Tid_id (pk) Dato Maaned Kvartal Aar

Star schema Fakta-tabel Attributterne i en fakta-tabel er typisk numeriske og kan normalt summeres (dog ikke f.eks. %) Disse attributter er dem, som der foretages analyser på Har enten en primærnøgle, der dannes af fremmednøglerne fra hver dimension eller en syntetisk (sekvens) dannet primærnøgle Stor mængde af værdier

Star schema Dimensionstabeller Dimensionerne indeholder informationen, som beskriver fakta-attributerne Normalt er dimensionstabellens attributter tekstfelter/beskrivelser Relativt få værdier i forhold til Fakta-tabel Der er næsten altid et ”et-til-mange” forhold mellem data i en dimension og data i fakta-tabellen

Simpelt eksempel på star schema Kunde Kunde_id (pk) Navn Adresse Land Produkt Produkt_id (pk) Navn Serie Gruppe Salg Kunde_id (pk) Produkt_id (pk) Medarb_id (pk) Tid_id (pk) Maengde Beloeb Medarbejder Medarb_id (pk) Navn Stilling Tid Tid_id (pk) Dato Maaned Kvartal Aar

Snowflake schema Et snowflake schema er lig star schemaet, på nær at dimensionstabellerne her er (delvis) normaliserede. Salg Produkt_id Maengde Beloeb Produkt Navn Serie Gruppe Salg Produkt_id Maengde Beloeb Produkt Navn Produktgruppe Serie Gruppe

Constellation schema To eller flere star schemas (og/eller snowflake schemas) der deler en eller flere dimensioner. Dim A Dim B Dim D Dim C Dim E Fakta I Fakta II

Nøgler i dimensionaliserede modeller Naturlige nøgler Informationsbærende Eks: produktkode, cpr-nr Syntetiske nøgler (surrogate keys) – f.eks. en sekvens, der tæller op for hver enkelt post Det anbefales at anvende syntetiske nøgler mellem faktatabel og dimensionstabeller for at sikre integriteten i data warehouset. Uafhængighed af ændringer i kildesystemer Relevant hvis samme data findes i flere systemer Nødvendigt hvis historik gemmes i dimensioner

Granularitet i target På hvilket niveau vil man gemme data i sit data warehouse? Atomare data/detaildata/transaktionsdata Summerede/aggregerede data Afhænger af analyse- og rapporteringsbehovet Stor betydning for hastighed og størrelse Det første valg der skal foretages i designet af datamodellen, da det bestemmer indhold af dimensioner og fakta

Hierarkier i dimensioner Hierarkier opbygges i dimensioner for at gøre det nemt at analysere og rapportere data på forskellige niveauer. år måned uge dag verden verdensdel land by Bore op og ned i dimensioner Flere hierarkier i en dimension Naturlige og problemafledte hierarkier

Hierarki – parent-child Alle produkter Kontorstol Køkkenstol Læderstol Køkkenbord Sofabord Stol Bord ID Produkt Parent_id 101 Alle produkter 102 Stol 103 Bord 104 Kontorstol 105 Køkkenstol 106 Læderstol 107 Køkkenbord 108 Sofabord

Hierarki – niveaubaseret – kun registrering på nederste niveau Alle produkter Kontorstol Køkkenstol Læderstol Køkkenbord Sofabord Stol Bord ID Produkt Produktgruppe Alle_produkter 104 Kontorstol Stol Alle produkter 105 Køkkenstol 106 Læderstol 107 Køkkenbord Bord 108 Sofabord

Hierarki – niveaubaseret - med registrering på overliggende niveauer ID Produkt Produktgruppe Alle_produkter 104 Kontorstol Stol Alle produkter 105 Køkkenstol 106 Læderstol 107 Køkkenbord Bord 108 Sofabord 102 103 101 Alle produkter Kontorstol Køkkenstol Læderstol Køkkenbord Sofabord Stol Bord

Det store billede DWH Andre data-kilder OLTP-systemer Tekstfiler … ERP Produktions- system ERP Opsamling, rensning & bearbejdning af data DWH Data Mining Analyse-værktøjer Excel Rapporter OLAP

Source / kildesystemer Identificer alle datakilder, der kan give data til ens data warehouse. Kortlæg kilders datastrukturer (E/R-diagrammering) Vurder datakvaliteten i kilderne (Data profiling).

OLTP-systemer Kilden til et Data Warehouse er forskellige OLTP-systemer (Online Transaction Processing systemer) Eksempler på disse er: ERP-systemer (Axapta, SAP, m.fl.) Regneark (Excel) Databaser Tekstfiler

Dataintegritet/-kvalitet Komplette Valide Konsistente Rettidig Præcise Sikring af datakvalitet vil ofte være en af de største opgaver i et data warehouse projekt fordi datakvaliteten i OLTP-systemer kan være meget svingende!

Dataintegritet/-kvalitet Diverse fejltyper Manglende integritet Manglende unik nøgle Støj Stavefejl m.fl. Bent Møller Madsen 1003 9000 Aalborg Bent M. Madsen 1144 90 Bent Madsen 9000 1002 bmm@adm.aau.dk asdf@asdf.de bmm@business.aau.dk Postnr Navn Id E-mail

Eksempler fra AAU-data warehouse Omkring 75 studerende er indtastet 2 gange Eks. på resultaters bedømmelsesdatoer: 17/11 2029, 15/8 0200, 20/9 0099 Omkring 100, der ikke var annulleret I tabel over studerendes uddannelsesdele gælder det at for over 50.000 rækker (ca. 5%) kommer fra_dato efter til_dato 2 tilfælde af adgangsgivende eksaminer, hvor karakteren var henholdsvis 70,3 og 91,0 4 betalinger fra studerende på Åben Uddannelse, hvor personen ikke kan findes.

Dataintegritet/-kvalitet Håndtering af fejlbehæftede data Dataene kan smides ud af systemet ved overførslen til Data Warehouset Fejlene rettes ikke og føres direkte over i Data Warehouset Fejl identificeres via Data Warehouset og Rettes efterfølgende i kilderne Der oprettes logiske regler der automatisk retter fejl ved overførslen til Data Warehouset

Det store billede DWH Andre data-kilder OLTP-systemer Tekstfiler … ERP Produktions- system ERP Opsamling, rensning & bearbejdning af data DWH Data Mining Analyse-værktøjer Excel Rapporter OLAP

ETL - Data Staging Hvordan får vi flyttet data fra vores datakilder til data warehouset og herunder Renset vores data Beriget data ved f.eks. beregninger ud fra økonomistyringsmodeller. Transformeret data til en dimensional datamodel Extraction Transformation (og cleaning) Load

Extraction Udtræk af data fra de tidligere identificerede kilder. Der anvendes forskellige sprog/programmer afhængig af kildens type SQL ODBC/JDBC Fil-loadere til tekst- og excel-filer

Transformation Anvendelse af forskellige operatorer til at transformere data, således at de kan indsættes i data warehouset’s datamodel. Joins Key Lookups Filtre Sorteringsoperatorer Set-operator (union, intersection, minus) Beregninger Summeringer Programmering vha. SQL, PL/SQL, Javascript, etc. M.fl.

Load Indsættelse og opdatering af (de transformerede) data i ens target/data warehouse.

ETL – Data staging 2 typer af dataoverførsler Den oprindelige oprettelse af data i DW Alle senere opdateringer af data i DW

ETL – Opdatering af data Tilføjelse af nye data i dimensioner og facts. Overskrivning af alle data hver gang Anvendelse af datoer i kilderne Anvendelse af delta-/revisionsfiler Sammenligning af tabeldata mellem forrige og nuværende overførsel

ETL – Opdatering af data Rettelse af tidligere overførte data til dimensioner Slowly changing dimensions Type 1: Ingen historik Overskriv den gamle dimensionsværdi Type 2: Fuld historik Opret en ny dimensionsrække/-post og behold den gamle (Fra- og til-dato kolonner fortæller, hvornår en række har været gældende) Type 3: Delvis historik Flyt den gamle/forrige værdi over i et nyt attribut/ kolonne i den samme dimension, og opret den nye værdi i den oprindelige attribut/kolonne.