Design av modellendit
dimensjonsmodellen er bygget på et stjernelignende skjema eller snøfnugg-skjema, med dimensjoner rundt faktatabellen. For å bygge skjemaet brukes følgende designmodell:
- Velg forretningsprosessen
- Deklarere kornet
- Identifiser dimensjonene
- Identifiser faktumet
Velg forretningsprosessen
prosessen med dimensjonsmodellering bygger på en 4-trinns designmetode som bidrar til å sikre brukbarheten til den dimensjonale modellen og bruken av datalageret. Det grunnleggende i designet bygger på den faktiske forretningsprosessen som datalageret skal dekke. Derfor er det første trinnet i modellen å beskrive forretningsprosessen som modellen bygger på. Dette kan for eksempel være en salgssituasjon i en butikk. For å beskrive forretningsprosessen kan man velge å gjøre dette i ren tekst eller bruke basic Business Process Modeling Notation (bpmn) eller andre utformingsveiledninger som Unified Modeling Language (UML).
Deklarere kornet
etter å ha beskrevet forretningsprosessen, er neste trinn i designet å deklarere kornet til modellen. Kornet i modellen er den nøyaktige beskrivelsen av hva den dimensjonale modellen skal fokusere på. Dette kan for eksempel være «en individuell linjepost på en kunde slip fra en butikk». For å avklare hva kornet betyr, bør du velge den sentrale prosessen og beskrive den med en setning. Videre er kornet (setningen) hva du skal bygge dine dimensjoner og faktabord fra. Du kan finne det nødvendig å gå tilbake til dette trinnet for å endre kornet på grunn av ny informasjon om hva modellen din skal kunne levere.
Identifiser dimensjonene
det tredje trinnet i designprosessen er å definere dimensjonene til modellen. Dimensjonene må defineres i kornet fra det andre trinnet i 4-trinns prosessen. Dimensjoner er grunnlaget for faktatabellen, og er der dataene for faktatabellen samles inn. Vanligvis dimensjoner er substantiver som dato, butikk, inventar etc. Disse dimensjonene er hvor alle dataene er lagret. Datodimensjonen kan for eksempel inneholde data som år, måned og ukedag.
Identifiser fakta
etter å ha definert dimensjonene, er neste trinn i prosessen å lage nøkler for faktatabellen. Dette trinnet er å identifisere de numeriske fakta som vil fylle hver faktatabellrad. Dette trinnet er nært knyttet til bedriftsbrukerne av systemet, siden det er her de får tilgang til data lagret i datalageret. Derfor er de fleste faktabordrader numeriske, additive tall som mengde eller kostnad per enhet, etc.
Dimension NormalizationEdit
Dimensjonal normalisering eller snowflaking fjerner overflødige attributter, som er kjent i de normale flate de-normaliserte dimensjonene. Dimensjoner er strengt sammenføyd i underdimensjoner.
Snowflaking har innflytelse på datastrukturen som adskiller seg fra mange filosofier av datalager.Enkelt data (fakta) tabell omgitt av flere beskrivende (dimensjon) tabeller
Utviklere ofte ikke normalisere dimensjoner på grunn av flere grunner:
- Normalisering gjør datastrukturen mer kompleks
- Ytelsen kan være tregere, på grunn av de mange sammenføyninger mellom tabellene
- plassbesparelser er minimal
- Bitmap indekser kan ikke brukes
- Spørring ytelse. 3NF databaser lider av ytelsesproblemer når aggregere eller hente mange dimensjonsverdier som kan kreve analyse. Hvis du bare skal gjøre operasjonelle rapporter, kan du kanskje komme forbi MED 3NF fordi din operative bruker vil være på utkikk etter veldig fine korndata.
det er noen argumenter på hvorfor normalisering kan være nyttig. Det kan være en fordel når en del av hierarkiet er felles for mer enn en dimensjon. En geografisk dimensjon kan for eksempel gjenbrukes fordi både kunde-og leverandørdimensjonene bruker den.