faktatabeller

faktatabeller er grundlaget for datalageret. De indeholder de grundlæggende målinger af virksomheden, og de er det ultimative mål for de fleste datalagerforespørgsler. Der er ingen mening i at hejse faktatabeller op på flagstangen, medmindre de er valgt til at afspejle presserende forretningsprioriteter, er blevet omhyggeligt kvalitetssikret og er omgivet af dimensioner, der giver et væld af indgangspunkter til begrænsning og gruppering. Nu hvor vi har banet vejen for faktatabeller, lad os se, hvordan vi bygger dem og bruger dem.

Bliv tro mod kornet

det første og vigtigste designtrin er at erklære faktabordkornet. Kornet er forretningsdefinitionen af, hvad en enkelt faktatabelrekord repræsenterer. Korndeklarationen er ikke en liste over dimensionelle fremmede nøgler, der implementerer en primær nøgle til faktatabellen. Snarere er kornet beskrivelsen af målebegivenheden i den fysiske verden, der giver anledning til en måling. Når købmandsscanneren måler mængden og den opkrævede pris på et produkt, der købes, er kornet bogstaveligt talt scannerens bip. Det er en stor korn definition!

umiddelbart efter at have erklæret kornet, er det muligt at liste de dimensionelle fremmede nøgler, der findes på det korn. Ved at erklære kornet først forbliver diskussionen om udenlandske nøgler jordet og præcis.

det egentlige formål med faktatabellen er at være opbevaringsstedet for de numeriske fakta, der observeres under målebegivenheden. Det er kritisk vigtigt for disse fakta at være tro mod kornet. Købmanden” bip ” måler mængden og den udvidede pris på det produkt, der scannes. Vi inkluderer aldrig andre numeriske målinger, der krænker kornet, såsom det samlede kategorisalg eller salget af dette produkt i sidste måned. Selvom disse andre målinger kan være snævert nyttige til udvalgte beregninger, kan de ikke kombineres på tværs af faktaregistre, og de introducerer underlige asymmetrier i design af applikationer. Vi lader vores business intelligence (BI) – værktøjer beregne disse off-topic-værdier på forespørgselstidspunktet i stedet for at kode dem hårdt i vores faktatabeller.

Vi stræber altid efter at gøre fakta additiv på tværs af dimensionerne og nøjagtigt i overensstemmelse med kornet. Bemærk, at vi ikke gemmer prisen på det produkt, der scannes, fordi prisen ikke er additiv. I stedet gemmer vi den udvidede pris, som kan tilføjes frit på tværs af produkter, butikker, tider og alle de andre dimensioner.

Opbyg fra det lavest mulige korn

datalageret skal altid bygges på faktatabeller udtrykt ved det lavest mulige korn. I eksemplet er bip fra købmandsforretningens kasseapparat det lavest mulige korn, fordi det ikke kan opdeles yderligere. Faktatabeller på det laveste korn er de mest udtryksfulde, fordi de har det mest komplette sæt af mulige dimensioner for den forretningsproces. Bip grain faktatabellen kunne have Dato, butik, produkt, kasserer, Manager, kunde, forfremmelse, konkurrence, kurv og endda vejr, hvis alle disse datakilder kan marshaled, når faktaposterne oprettes. Højere kornaggregerede tabeller såsom kategorisalg efter distrikt kan ikke understøtte alle disse dimensioner og er derfor meget mindre udtryksfulde. Det er en grundlæggende fejl at offentliggøre kun aggregerede tabeller til slutbrugerne uden at gøre de laveste kornfaktatabeller let tilgængelige ved at bore ned. De fleste af de falske forestillinger om, at dimensionelle tabeller forudsætter forretningsspørgsmålet, kommer fra at begå denne grundlæggende fejl.

tre slags faktatabeller

Hvis du forbliver tro mod kornet, kan alle dine faktatabeller grupperes i kun tre typer: transaktionskorn, periodisk snapshot-korn og akkumulerende snapshot-korn (de tre typer er vist i Figur 1). I Figur 1 er dimensionerne betegnet med FK (fremmed nøgle), og de numeriske fakta er kursiveret.

transaktionskornet svarer til en måling taget på et enkelt øjeblik. Købmanden bip er en transaktion korn. De målte fakta er kun gyldige for det øjeblik og for den begivenhed. Den næste målehændelse kan ske et millisekund senere eller næste måned eller aldrig. Således er transaktionskorn faktatabeller uforudsigeligt sparsomme eller tætte. Vi har ingen garanti for, at alle mulige udenlandske nøgler vil blive repræsenteret. Transaktionskorn faktatabeller kan være enorme, med den største, der indeholder mange milliarder poster.

det periodiske snapshot-korn svarer til et foruddefineret tidsrum, ofte en finansiel rapporteringsperiode. Figur 1 illustrerer en månedlig konto periodisk øjebliksbillede. De målte fakta opsummerer aktivitet under eller i slutningen af tidsrummet. Det periodiske snapshot-korn har en stærk garanti for, at alle de rapporterende enheder (såsom bankkontoen i Figur 1) vises i hvert øjebliksbillede, selvom der ikke er nogen aktivitet. Det periodiske øjebliksbillede er forudsigeligt tæt, og applikationer kan stole på, at kombinationer af nøgler altid er til stede. Periodiske snapshot faktatabeller kan også blive store. En bank med 20 millioner konti og en 10-årig historie ville have 2.4 milliarder poster i den månedlige konto periodisk øjebliksbillede!

faktatabellen for akkumulerende snapshot svarer til en forudsigelig proces, der har en veldefineret begyndelse og slutning. Ordrebehandling, kravbehandling, opløsning af serviceopkald og optagelse på college er typiske kandidater. Kornet i et akkumulerende øjebliksbillede til ordrebehandling er for eksempel normalt linjeposten på ordren. Bemærk i Figur 1 at der er flere datoer, der repræsenterer det standardscenarie, som en ordre gennemgår. Akkumulerende snapshot-poster revideres og overskrives, når processen skrider frem gennem dens trin fra start til slut. Akkumulerende snapshot faktatabeller er generelt meget mindre end de to andre typer på grund af denne overskrivningsstrategi.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.