Lumehelveste skeem vs täheskeem

Andmelao andmebaasiskeemi valimisel, lumehelves ja täheskeemid kipuvad olema populaarsed valikud. Selles võrdluses käsitletakse tähtede ja lumehelveste skeemide sobivust erinevates stsenaariumides ja nende omadusi.

Võrdlusdiagramm

Lumehelveste skeem versus täheskeemi võrdlustabel
Lumehelveste skeemTäheskeem
Hoolduse / vahetamise lihtsus Liigne pole, seega on lumehelveste skeeme lihtsam hooldada ja muuta. Omab üleliigseid andmeid ja seetõttu on seda vähem lihtne hooldada / muuta
Kasutuslihtsus Keerulisemad päringud ja seega vähem arusaadavad Vähem keerukas ja hõlpsasti mõistetav päring
Päringu jõudlus Rohkem võõrvõtmeid ja seega pikem päringu täitmise aeg (aeglasem) Vähem võõraste võtmete arvu ja seega lühem päringu täitmise aeg (kiirem)
Andmevaramaja tüüp Hea kasutada andmevaramaja tuuma jaoks keerukate suhete lihtsustamiseks (palju: palju) Sobib lihtsate suhetega andmekaartidele (1: 1 või 1: palju)
Liitub Suurem liitumiste arv Vähem liitub
Mõõtude tabel Lumehelveste skeemil võib olla iga mõõtme jaoks mitu dimensioonitabelit. Tärgiskeem sisaldab iga mõõtme jaoks ainult ühe mõõtme tabelit.
Millal kasutada Kui mõõtmete tabel on suhteliselt suur, on lumehelves parem, kuna see vähendab ruumi. Kui mõõtmete tabel sisaldab vähem ridu, võime valida tärnide skeemi.
Normaliseerimine / Normaliseerimise tühistamine Mõõtmetabelid on normaliseeritud kujul, kuid faktitabelid on normaliseeritud Nii mõõtmete kui ka faktide tabelid on normaliseeritud
Andmemudel Alt üles lähenemine Ülalt alla lähenemine

Sisu: Lumehelveste skeem vs täheskeem

  • 1 näide
    • 1.1 Täheskeemi näide
    • 1.2 Lumehelveste skeemi näide
  • 2 viidet

Näited

Mõelge jaemüüja andmebaasile, millel on palju poode, kusjuures iga pood müüb palju tooteid paljudes tootekategooriates ja erinevate kaubamärkide kaupa. Sellise jaemüüja jaoks vajalik andmeladu või andmekaart peaks andma analüütikutele võimaluse käitada müügiaruandeid rühmitatud poe, kuupäeva (või kuu, kvartali või aasta) või tootekategooria või kaubamärgi järgi.

Täheskeemi näide

Kui see andmemarts kasutaks täheskeemi, näeks see välja järgmine:

Täheskeemi näide

Faktitabel oleks müügitehingute register, samas kui olemas on kuupäeva, poe ja toote mõõtmete tabelid. Mõõtmetabelid on ühendatud faktabeliga nende primaarvõtme kaudu, mis on faktabeli võõrvõti. Näiteks selle asemel, et salvestada tegeliku tehingukuupäeva faktabeli reas, salvestatakse kuupäev_id. See date_id vastab unikaalsele reale tabelis Dim_Date ja see rida salvestab ka muid kuupäeva atribuute, mida on vaja aruannetes rühmitamiseks. nt nädalapäev, kuu, aasta veerand ja nii edasi. Andmete denormaliseerimine hõlbustab aruandlust.

Siit saate teada, kuidas saaksite sisemiste liitumiste abil ülevaate brändide ja riikide kaupa müüdud telerite arvust.

Lumehelveste skeemi näide

Sama stsenaariumi korral võib kasutada ka lumehelveskeemi, sel juhul oleks see üles ehitatud järgmiselt:

Lumehelveste skeeminäide (suurendamiseks klõpsake)

Peamine erinevus võrreldes täheskeemiga on see, et mõõtmete tabelites olevad andmed on rohkem normaliseeritud. Näiteks tabeli Dim_Date igas reas hoidmise asemel kuu, kvartali ja nädalapäeva salvestamise asemel jaotatakse need lisaks oma mõõtmetetabeliteks. Sarnaselt Dim_Store tabeli puhul on osariik ja riik geograafilised atribuudid, mis eemaldatakse ühe sammuna - Dim_Store tabelisse salvestamise asemel salvestatakse need nüüd eraldi Dim_Geography tabelisse.

Sama raport - müüdud telerite arv riikide ja brändide kaupa - on nüüd pisut keerukam kui täheskeemis:

SQL-päring, et saada müüdud toodete arv riikide ja brändide kaupa, kui andmebaas kasutab lumehelveskeemi.

Viited

  • wikipedia: lumehelves_skeem
  • vikipeedia: Star_schema