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.
Lumehelveste skeem | Tä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 |
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.
Kui see andmemarts kasutaks täheskeemi, näeks see välja järgmine:
Täheskeemi näideFaktitabel 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.
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.