Stjerne vs. Snøfnugg-skjema: Hvilket er best for ditt datavarehus?

Et flerdimensjonalt skjema er en struktur utviklet for å lage en modell for et datavarehus.

Den grunnleggende hensikten med disse skjemaene er å tilfredsstille kravene til større databaser som er bygget for analytisk bruk (OLAP).

Denne metoden benyttes for å organisere data i databasen med et godt oppsett av datainnhold. Skjemaet gjør det mulig for brukere å stille spørsmål knyttet til forretnings- eller markedstrender.

I tillegg visualiserer et flerdimensjonalt skjema data som datakuber, noe som gjør det mulig å se og modellere data fra forskjellige perspektiver og dimensjoner.

Det finnes tre hovedtyper, men mange blander sammen stjerne- og snøfnuggskjema. Dette gjør det vanskelig å velge den mest passende modellen.

Hvis du er usikker, la oss utforske forskjellene mellom stjerne- og snøfnuggskjemaet. Vi starter med definisjonene og ser på fordeler, ulemper, diagrammer og egenskaper.

Hva er et flerdimensjonalt skjema?

Et skjema refererer til den logiske beskrivelsen av en hel database og datamarts. Det inkluderer navn på poster og deres beskrivelser, inkludert aggregater og tilhørende dataelementer.

En database bruker typisk en relasjonsmodell for beskrivelse, mens et datavarehus benytter en skjema-modell.

Flerdimensjonalt skjema kan defineres ved hjelp av Data Mining Query Language (DMQL).

For å definere datamarts og datavarehus, brukes to grunnleggende elementer: dimensjonsdefinisjon og kubedefinisjon.

Det flerdimensjonale skjemaet bruker ulike typer skjemamodeller. Disse er:

  • Stjerneskjema
  • Snøfnuggskjema
  • Galakseskjema

La oss se nærmere på hva stjerne- og snøfnuggskjemaene egentlig er.

Stjerne vs. Snøfnugg: Hva er de?

Hva er et stjerneskjema?

Et stjerneskjema er en arkitektonisk datavarehus- og business intelligence-modell. Den bruker en enkelt faktatabell for å lagre målte og transaksjonsdata. I tillegg benyttes flere mindre dimensjonstabeller for å inneholde attributter om forretningsdata.

Navnet kommer fra strukturen. Faktatabellen er plassert i midten av diagrammet, og de små dimensjonstabellene omgir den som grener, og danner en stjernelignende struktur.

Hvert stjerneskjema består av en enkelt faktatabell og flere mindre dimensjonstabeller. Faktatabellene inneholder spesifikke, målbare data som skal analyseres, som for eksempel loggført ytelse, økonomisk informasjon eller salgsposter. Det kan være et øyeblikksbilde av historiske data eller transaksjoner.

Stjerneskjemaet er den enkleste og mest grunnleggende av datavarehus- og datamartskjemaene. Det er effektivt for å håndtere grunnleggende spørsmål. Stjerneskjemaer støtter generelt forretningsintelligens, ad hoc-spørringer, analytiske applikasjoner og online analytiske behandlingskuber.

Stjerneskjemaet støtter også antall, gjennomsnitt, summer og andre aggregeringer av en rekke poster. Brukere kan enkelt filtrere og gruppere aggregeringene etter dimensjoner. For eksempel genererer brukere spørringer som «finn alle salgspostene i juni» eller «analyser de totale inntektene fra XYZ-kontoret i 2022».

Hva er et snøfnuggskjema?

Et snøfnuggskjema er en flerdimensjonal datamodell som kan sees på som en utvidelse av stjerneskjemaet. Dette skyldes at dimensjonstabeller i snøfnuggskjemaet brytes ned i underdimensjoner.

Et skjema er et snøfnuggskjema hvis en eller flere dimensjonstabeller ikke er direkte knyttet til faktatabellen, men kobles via andre dimensjonstabeller.

Snøfnuggskjemaet normaliserer dimensjonstabellene i et stjerneskjema. Når alle dimensjonstabellene er normalisert, ligner den resulterende strukturen et snøfnugg med en faktatabell i midten.

Snøfnuggskjemaet består enkelt sagt av én faktatabell i midten av modellen, som er koblet til dimensjonstabeller, som igjen er koblet til andre dimensjonstabeller. Dette skjemaet brukes for å forbedre ytelsen til spørringer.

Modellen er designet for raske og fleksible spørringer på tvers av komplekse relasjoner og dimensjoner. Det er nyttig for en-til-mange og mange-til-mange relasjoner mellom ulike dimensjonsnivåer.

På grunn av den tettere tilslutningen til normaliseringsstandarder, oppnås høyere lagringseffektivitet. Derimot er dataredundansen lav, og ytelsen er dårligere enn i denormaliserte datamodeller som stjerneskjemaet.

Stjerne vs. Snøfnugg: Hvordan fungerer de?

Hvordan fungerer et stjerneskjema?

Faktatabellen i midten av stjernemodellen lagrer to typer informasjon: numeriske verdier og dimensjonsattributtverdier. La oss illustrere dette med et eksempel fra en salgsdatabase.

  • Numeriske verdier er unike for hver rad og hvert datapunkt. De er ikke relatert til data som er lagret i en annen rad. Dette er fakta om en gitt transaksjon, som for eksempel totalbeløp, antall ordre, nøyaktig tidspunkt, nettofortjeneste, ordre-ID osv.
  • Dimensjonsattributtverdier lagrer ikke data direkte, men snarere fremmednøkkelverdier for raden i en dimensjonstabell. Ulike rader i midttabellen refererer til denne informasjonen, som for eksempel dato, selger-ID, avdelingskontor-ID, produkt-ID osv.

Dimensjonstabeller lagrer alltid tilleggsinformasjon fra faktatabellen. Hver dimensjonstabell er knyttet til en kolonne i en faktatabell med en dimensjonsverdi, og lagrer ytterligere data om denne verdien.

For eksempel: Ansattdimensjonstabellen bruker ansatt-ID som nøkkelverdi og inneholder også informasjon som navn, kjønn, adresse og telefonnummer. På samme måte lagrer en produktdimensjonstabell informasjon som produktnavn, farge, første dato på markedet, produksjonskostnad osv.

Hvordan fungerer et snøfnuggskjema?

Tenk på et snøfnuggdesign med en sentral boks og ulike forbindelser fra den boksen til forskjellige punkter. Snøfnuggskjema benyttes for å vedlikeholde datamarts og datavarehus.

Det ligner på et stjerneskjema, men med noen modifikasjoner. I motsetning til stjerneskjemaet, utvider snøfnuggskjemaet underdimensjonstabeller som er koblet til dimensjonstabeller.

Hovedformålet med denne modellen er å normalisere den denormaliserte informasjonen i stjernemodellen. På denne måten kan den løse vanlige problemer knyttet til stjerneskjemaet.

I kjernen av skjemaet finner vi en faktatabell som er koblet til informasjonen i dimensjonstabellene. Disse tabellene strekker seg videre til underdimensjonstabeller som inneholder detaljert informasjon om dimensjonstabellinformasjonen.

For eksempel: Et snøfnuggskjema inneholder en salgsfaktatabell og tabeller for butikkplassering, varelinje, produktfamilie, produkt og tidsdimensjoner. Markedsdimensjonene består av to dimensjonstabeller, med butikk som primær dimensjonstabell og butikkens plassering som underdimensjonstabell. Produktdimensjonen har tre underdimensjonstabeller: en for produkt, en for varelinje og en for produktfamilie.

Stjerne vs. Snøfnugg: Kjennetegn

Kjennetegn ved stjerneskjema

  • Stjerneskjema kan filtrere data fra normaliserte data for å tilfredsstille datavarehusbehov. En unik nøkkel genereres fra den tilknyttede informasjonen for hver faktatabell, for å identifisere hver rad.
  • Det gir raske beregninger og aggregeringer, som for eksempel inntekter oppnådd og totalt antall solgte varer ved slutten av hver måned. Disse detaljene kan filtreres etter behov ved å legge inn passende søk.
  • Det omfatter måling av hendelser, inkludert numeriske verdier med fremmednøkler. Disse nøklene er relatert til dimensjonstabellene. Det finnes ulike typer faktatabeller som er strukturert med verdier på atomnivå.
  • Transaksjonsfaktatabellen inneholder data om spesifikke hendelser, som salg og helligdager.
  • Registreringsfakta inkluderer bestemte tidsperioder, som kontoinformasjon ved slutten av året eller hvert kvartal.
  • Dimensjonstabellen gir detaljert informasjon om attributter eller poster som finnes i midttabellen.
  • Brukeren kan selv utforme en tabell etter behov.
  • Stjerneskjema kan brukes for å samle øyeblikksbildetabeller.

Kjennetegn ved snøfnuggskjema

  • Snøfnuggskjemaet krever lite diskplass.
  • Denne modellen er enkel å implementere takket være separate hoveddimensjonstabeller.
  • Dimensjonstabellene inneholder minst to attributter for å definere informasjon ved flere korningsnivåer.
  • På grunn av de mange tabellene er ytelsen lavere sammenlignet med stjerneskjemaet.
  • Snøfnuggskjemaet har det høyeste dataintegritetsnivået og lav redundans på grunn av normalisering.

Stjerne vs. Snøfnugg: Fordeler

Fordeler med stjerneskjema

  • Stjerneskjema er den enkleste typen datamartskjema.
  • Det har en enkel rapporteringslogikk. Denne logikken er underforstått dynamisk.
  • Det er utformet ved å bruke matekuber som benyttes gjennom online transaksjonsprosessen, for å sikre effektiv drift av kubene.
  • Stjerneskjema er bygget med enkel logikk og spørringer som er enkle å hente ut fra transaksjonsprosessen.
  • Det gir forbedret ytelse for rapporteringsapplikasjoner.
  • Det distribueres for å kontrollere rask gjenoppretting av data.
  • Den filtrerte og valgte informasjonen kan enkelt brukes i ulike scenarier.

Fordeler med snøfnuggskjema

  • Snøfnuggskjemaet forbedrer søkeytelsen takket være lavt behov for disklagring.
  • Det gir økt skalerbarhet i forhold til komponenter og dimensjonsnivåer.
  • Det er enklere å vedlikeholde.
  • Det gir rask datahenting.
  • Det er et vanlig og enkelt dataskjema for datavarehus.
  • Det bidrar til å forbedre datakvaliteten.
  • De strukturerte dataene reduserer problemet med dataintegritet.

Stjerne vs. Snøfnugg: Begrensninger

Begrensninger for stjerneskjema

Det har en høy denormalisert og integritetsstatus. Hele prosessen vil bryte sammen hvis brukeren ikke klarer å oppdatere dataene. Sikkerhet og beskyttelse er også begrenset. I tillegg er ikke stjerneskjemaet like fleksibelt som den analytiske modellen. Det gir ikke effektiv støtte for ulike relasjoner.

Begrensninger for snøfnuggskjema

Den største begrensningen er det ekstra vedlikeholdsarbeidet som kreves på grunn av det økende antallet små dimensjonstabeller. Mange komplekse søk gjør det utfordrende å finne de nødvendige dataene. I tillegg er implementeringstiden for spørringer høy på grunn av de mange tabellene. Modellen er også stiv og krever høyere vedlikeholdskostnader.

Stjerne vs. Snøfnugg: Forskjeller

Stjerne- og snøfnuggskjemaer er begge typer flerdimensjonale skjemaer, men de har forskjellige strukturer og egenskaper. Det første ligner en stjerne, og det andre ligner et snøfnugg, noe som reflekterer navnene.

I stjerneskjemaet opprettes en relasjon mellom den sentrale faktatabellen og de omkringliggende dimensjonstabellene ved hjelp av én enkelt sammenføyning. I snøfnuggskjemaet kreves det derimot flere sammenføyninger for å koble sammen dimensjonstabellene.

Stjerneskjema benyttes vanligvis når antall rader i dimensjonstabellene er lavt, mens snøfnuggskjemaet brukes når en dimensjonstabell er relativt stor.

Tabellen under viser forskjellene mellom de to modellene og hvordan dimensjonstabellene og faktatabellen er koblet sammen i de forskjellige skjemaene.

Parameter Stjerneskjema Snøfnuggskjema
Diskplass Stjerneskjema bruker mer diskplass. Snøfnuggskjema bruker mindre diskplass.
Dataredundans Det har høy dataredundans. Det har lav dataredundans.
Normalisering Dimensjonstabellene er denormaliserte, noe som betyr at den samme verdien i tabellen gjentas. Dimensjonstabellene er fullstendig normaliserte.
Spørringsytelse Det tar minimalt med tid å utføre spørringene, noe som resulterer i bedre ytelse. Det tar lengre tid enn stjerneskjemaet å utføre spørringer, noe som gir dårligere ytelse.
Spørringskompleksitet Spørringskompleksiteten er lav. Spørringskompleksiteten er høyere enn i stjerneskjemaet.
Vedlikehold På grunn av høy dataredundans er det litt vanskelig å vedlikeholde stjerneskjemaet. På grunn av lav dataredundans er det enkelt å vedlikeholde og endre snøfnuggskjemaet.
Dataintegritet Dataintegriteten er høy fordi data lagres redundant, med flere kopier i dimensjonstabellene. Dataintegriteten er lav fordi dimensjonstabellene er fullstendig normaliserte.
Hierarkier Hierarkier for dimensjonstabellene i stjerneskjemaet er lagret i dimensjonstabellen. Hierarkier er delt inn i separate dimensjonstabeller.
DB-design Det har en enkel DB-design. Det har en svært kompleks DB-design.
Faktatabell Flere dimensjonstabeller omgir en faktatabell. Faktatabellen er omgitt av dimensjonstabeller som også er omgitt av underdimensjonstabeller.
Oppsett Stjerneskjemaet er enkelt å designe og sette opp, siden det representeres av direkte relasjoner. Snøfnuggskjemaet er derimot litt mer komplisert å sette opp.
Kubebehandling Kubebehandlingen er raskere. På grunn av kompleks sammenføyning er kubebehandlingen litt treg.
Fremmednøkler Det har et minimum antall fremmednøkler. Det har et maksimalt antall fremmednøkler.

Konklusjon

Både stjerne- og snøfnuggskjemaer er nyttige i ulike sammenhenger. Hvilken som er best avhenger av kravene.

Snøfnuggskjemaet er en utvidelse av stjerneskjemaet, der dimensjonstabellene i stjerneskjemaet normaliseres.

Stjerneskjemaet har et enkelt design, raskere spørringer og er enkelt å sette opp. Snøfnuggskjemaet er på sin side enklere å vedlikeholde, krever mindre diskplass og er mindre utsatt for problemer med dataintegritet.

Et stjerneskjema kan være det beste alternativet hvis du ønsker et enkelt design, få fremmednøkler og raskere kubebehandling. Hvis du derimot trenger mindre diskplass, lav dataredundans og enkelt vedlikehold, kan snøfnuggskjemaet være mer egnet.

Du kan også utforske noen av de beste grafdatabaseløsningene.