Data Warehouse 4. sem. datamatiker uddannelse Tietgen Skolen Odense Skrevet af Troels Markvard Andersen (DM08228) Knowledge is Power - Sir Francis Bacon - Troels Markvard Andersen Side 1 af 8
Forord / Indledning Information er en utrolig værdifuld vare for alle virksomhed. Derfor bør disse informationer opbevares korrekt og let tilgængeligt. Men når mængden af data bliver stor, bliver det mere svært at udvinding brugbare informationer. Med opfindelsen af computer og særdeles databaser, er mængden af data at virksomheder gemmer eksploderet. Hvilket har givet fødsel til Data Warehouses, men: 1. Hvad er Data Warehouses? 2. Hvordan fungere Data Warehouses? 3. Hvad kan Data Warehouses bruges til? Dette er hvad jeg vil prøve at besvare i denne opgave. Denne opgave er opdelt i fire dele. Den først del handler om hvad Data Warehouses er, med en beskrivelse af de to mest kendte typer. Anden del handler om hvordan de fungere, med lidt ekstra fokus på Kimballs tilgang til Datamarts Data Design. Den 3. del vil omhandle hvad de kan bruges til. Den sidste del vil afrunde rapporten. Hvad er Data Warehouses? Den nemmest og bedste beskrivelse er, at tage udgangspunkt i hvad en normal database er, og sammenligne den med Data Warehouses. En almindelig database bruger OnLine Transaction Processing (OLTP), mens et Data Warehouse bruger OnLine Analytical Processing (OLAP). Forskellen ligger i at OLTP er lavet til dataindtastning og transaktion forarbejdning, mens OLAP er lavet til analytisk forarbejdning af dataene. Det vil sige i en almindelig database laver man Create, Read, Update og Delete (CRUD) operationer, mens i et Data Warehouse er der næsten kun CR operationer. Skal dog forstås med det forbehold, at der også sker OD operationer, men næsten aldrig i stam dataene. En anden vigtig ting til forståelsen af hvad et Data Warehouse er, er hvad det bruges til. Databaser bruges til at lager data og arbejde med dem. Data Warehouse bruges til at analysere data. Data Warehouses opsamler sine dataene fra andre databaser, mens databaser opsamler data fra Input kilder (bruger, målere, scanner og med flere). Mere om dette under Hvad bruges de til?. Troels Markvard Andersen Side 2 af 8
Data Warehouses omtales også nogle gange som Enterprise Data Warehouse. Dette skyldes at navnet Warehouse kan virke misvisende. Enterprise giver en bedre forståelse af at det er hele virksomhedens data man snakker om der gemmes samme sted, og måske endda at det skal bruges til noget vigtig forretningsmæssigt, og der ikke bare er tale om et data depot. Hvordan fungere Data Warehouses? Data Warehouses funger på den måde, at de indsamler data fra alle de andre data kilder i virksomheden. Derefter bearbejdes de, så at man nemt kan lave analyse på dataene. Herefter kan man lave OLAP eller Data Mining. Når man hører dette første gang, kan man nemt komme til at tror at det er en nem opgave. Dette er dog langt fra virkeligheden. Hvis man kigger på denne proces kan det ses at den er delt op i flere trin. Først er indsamling af data til Databaserne og liggende. Derefter kommer Extract, Transform og Load (ETL) som sørger for at dataene har sammen Ganularity. Til sidst kan man lave OLAP og Data Mining. Før man kan alt dette, skal dog selve Data Warehouse et og dets Datamarts bygges. Datamarts er en delmængde af Data Warehouse ets data, der skal bruges til en analyse. Der findes dog to tilgangsvikler på hvordan man laver disse. I Bill Inmons tilgang bygger man selve Data Troels Markvard Andersen Side 3 af 8
Warehouse et først, og efter dens Datamarts til de forskellige analyser. I Ralph Kimballs tilgang bygger man Datamarts først, som så tilsammen udgør Data Warehouse et. Bill Inmon: Top-Down tilgang Database strukturen er den relationelle model (tredje normal form: 3NF) Nemmere at lave nye og ændre Datamarts Ralph Kimball: Botton-Up tilgang Database strukturen er den multi-dimension model (Star-schema og Snowflakes) Er iterative, og derfor kan del elementerne hurtigere tages i brug Det ser ud til at Kimballs tilgang er ved at udkæmpe Inmons, selvom de begge stadig har stærke tilhængere. Inmons data struktur kendes fra også almindelige databaser. Star-schema og Snowflakes Star-schema Snowflakes-schema I Kimballs tilgang bruger man en data struktur der kaldes den dimensionale model. I denne kan data mønsteret ses som vist i Star-schema. Den består af både Fact Tables og Dimension Tables. Fra de indsamlet data, erstattes nøglerne fra OLTP systemerne, med naturlige nøgler. Herved opnås at Data Warehouse et er uafhængighed af OLTP databaserne. Dimensional modellen består altid af Fact Tables (measures) og Dimension Tables (context). Facts er næsten altid numeriske, mens dimensionerne er hierarkier eller ting der beskriver Facts. For eksempel er omsætning et Fact, og Store#, Time# og Region# er dimensioner der fortæller noget om dette Fact. Der er meget Troels Markvard Andersen Side 4 af 8
almindeligt at dimensioner kan genbruges til andre Datamarts og derved andre analyser. Dimensioner i Star-schemas er ikke normaliseret, hvilket de er i Snowflakes-schemas. At normalisere gør data strukturen mere kompleks, hastigheden kan blive langsommer pga. de mange joins og plads besparelsen er ofte minimal. For mange aspekter i Data Warehouses er plads ikke fokus, men ydeevne. Når man skal designe Datamarts ved hjælp af dimensions modellen, bruges Kimball tilgang 4 trin til dette: 1 Choose the business process 2 Declare the Grain 3 Identity the dimensions 4 Identify the Fact Der findes også en hybrid model mellem Inmon og Kimballs tilgange. Den har ikke nogle af de tos ulemper i så stor grad, men heller ikke deres fordele i samme omfang. Hvad bruges Data Warehouses til? Data Warehouses funktion er at skabe brugbare vide til virksomheden, hvilket de gør på to måder. Den ene er OLAP som der bruges på at kigge bagud og på nuet. Data Mining er den anden gruppe, som bruges til at prøve at kigge fremad. OLAP er igen delt op i flere typer. OLAP og Data Mining tilsammen udgør Business Intelligence Technologies. Troels Markvard Andersen Side 5 af 8
OLAP OLAP kan også beskrives som et Slicing and Dicing værktøj, som er godt til at svare på hvem og hvad, men det er dens evne til at kunne svare på hvorfor, som gør den speciel. Nogle af de ting OLAP bruges til er: Budgetter, rapportering, salgs analyse, produktions planlægning, løn og mange andre ting. OLAP opdeles efter deres arkitektur. MOLAP - Multidimensional OLAP Give en rigtig god performance, på bekostning af kompleksitet og fleksibelt. Den bruger den Dimensionale Model, i et Multi Dimensional Database Management Systems, til at bearbejde dataene og analysere dem. Den adskiller sig meget fra den relationelle måde. Er meget afhængig af sin sammenføring med brugerprogrammerne. ROLAP Relationel OLAP Giver knap så god performance på grund af brugen af den relationelle model. På den anden side tager den mindre plads, og minder mere om normale relationelle databaser. Kan bruges sammen med SQL. Troels Markvard Andersen Side 6 af 8
HOLAP Hybrid OLAP Er en sammenblanding af ROLAP og MOLAP, hvor man har noget data i relationelle tabeller og noget i Multi Dimensional Tables. DOLAP Desktop OLAP I stedet for at OLAP serveren laver beregningerne, sender man dataene ud til brugerne. Denne metode er bedst hvis data mængden brugeren anvender ikke er for stor, og brugeren skal bruge det samme data flere gange. Data Mining Kunsten at kunne spå om fremtiden, har altid været højt værdsat. Data Minings funktion er at prøve at spå om fremtiden, ved hjælp af de data der er allerede indsamlet. Dette gøres ved at bruge en masse forskellige matematiske algoritmer til at analyse dataene. Disse forsøger at finde mønster og tendenser i dataene. Man er dog nød til at hjælpe/træne programmet til at lære at finde dem, og hvordan det bliver bedre til at spå. Troels Markvard Andersen Side 7 af 8
Afrunding Data Warehouses er ikke nogen billige eller nemt redskab for en virksomhed at anskaffe, men belønning kan være stor, særdeles ved hjælp af Data Mining. Data Warehouses indeholder nemt milliarder af tupler. Disse kommer sandsynligt fra forskellige lande, med forskellige arbejdsgange. Så alene processen af at få lavet ETL, er ikke nogen nem opgave. Det er et af de mange område man kunne skrive mere om i forhold til Data Warehouses. Alle disse data kan parres på utroligt mange måder, så at man kan få en masse viden. Denne viden er dog ikke meget værd, uden at den omsættes til brugbare viden. Det er Data Warehouses opgave, at levere den vide, men der er dog stadig brug for mennesker, til at omsætte det til brugbare viden, og derved penge tilbage til virksomheden. Jeg har valgt at bruge Kimballs data struktur som udgangs punkt til den mundtlige eksame, da jeg mener at den både nemt kan relateres til resten af vores pensum, og at det er et af hovedområderne indenfor Data Warehouses. Skrevet af Troels Markvard Andersen Troels Markvard Andersen Side 8 af 8