Snowflake Schema vs. Star Schema

Pri výbere databázovej schémy pre dátový sklad, snehová vločka a hviezdne schémy bývajú populárnymi voľbami. Toto porovnanie pojednáva o vhodnosti schém hviezd verzus snehová vločka v rôznych scenároch a ich charakteristikách.

Porovnávacia tabuľka

Schéma snehových vločiek verzus schéma porovnania so schémou hviezd
Schéma snehových vločiekSchéma hviezd
Jednoduchá údržba / zmena Žiadna nadbytočnosť, takže schémy snehových vločiek sa ľahšie udržiavajú a menia. Má nadbytočné údaje, a preto je ľahšie udržiavať / meniť
Jednoduchosť použitia Zložitejšie otázky, a tým menej zrozumiteľné Nižšia zložitosť dotazov a ľahko zrozumiteľné
Výkon dotazu Viac cudzích kľúčov, a tým aj dlhší čas vykonávania dotazu (pomalšie) Menší počet cudzích kľúčov, a tým aj kratší čas na vykonanie dotazu (rýchlejšie)
Typ Datawarehouse Užitočné pre jadro dátového skladu na zjednodušenie zložitých vzťahov (veľa: veľa) Dobré pre datové mapy s jednoduchými vzťahmi (1: 1 alebo 1: veľa)
spojí Vyšší počet pripojení Menej pripojení
Tabuľka rozmerov Schéma snehových vločiek môže mať pre každú dimenziu viac ako jednu tabuľku dimenzií. Hviezdičková schéma obsahuje iba jednu tabuľku dimenzií pre každú dimenziu.
Kedy použiť Ak je rozmerová tabuľka relatívne veľká, je lepšie odpratávanie snehu, pretože zmenšuje priestor. Ak tabuľka rozmerov obsahuje menší počet riadkov, môžeme zvoliť schému hviezd.
Normalizácia / De-Normalizácia Tabuľky dimenzií sú v normalizovanej podobe, ale tabuľka faktov je v normalizovanej podobe Tabuľky dimenzií aj faktov sú v normalizovanej podobe
Dátový model Prístup zdola nahor Prístup zhora nadol

Obsah: Schéma snehových vločiek verzus schéma hviezd

  • 1 Príklady
    • 1.1 Príklad schémy hviezd
    • 1.2 Príklad schémy snehových vločiek
  • 2 Referencie

Príklady

Zvážte databázu pre maloobchodníka, ktorý má veľa obchodov, pričom každý obchod predáva veľa produktov v mnohých kategóriách výrobkov a rôznych značiek. Dátový sklad alebo dátový server pre takého maloobchodníka by musel poskytnúť analytikom schopnosť spúšťať výkazy predaja zoskupené podľa obchodu, dátumu (alebo mesiaca, štvrťroka alebo roku) alebo kategórie produktu alebo značky..

Príklad schémy hviezd

Ak by tento dátový prehľad používal schému hviezd, vyzeralo by to takto:

Príklad schémy Star

Faktická tabuľka by mala byť záznamom o predajných transakciách, zatiaľ čo existujú tabuľky rozmerov pre dátum, obchod a produkt. Tabuľky dimenzií sú každý spojené s tabuľkou faktov prostredníctvom ich primárneho kľúča, ktorý je cudzím kľúčom pre tabuľku faktov. Napríklad namiesto uloženia skutočného dátumu transakcie do riadku tabuľky faktov sa date_id uloží. Tento date_id zodpovedá jedinečnému riadku v tabuľke Dim_Date a tento riadok tiež ukladá ďalšie atribúty dátumu, ktoré sú potrebné pre zoskupovanie v prehľadoch. napr. deň v týždni, mesiac, štvrťrok roku atď. Dáta sú denormalizované pre ľahšie vykazovanie.

Takto je možné získať prehľad o počte televízorov predávaných podľa značky a podľa krajiny pomocou vnútorných pripojení.

Príklad schémy snehových vločiek

Rovnaký scenár môže použiť aj schému snehových vločiek, v takom prípade by bola štruktúrovaná takto:

Príklad schémy snehových vločiek (kliknite pre zväčšenie)

Hlavný rozdiel v porovnaní so schémou hviezd je, že údaje v rozmerových tabuľkách sú normalizovanejšie. Napríklad namiesto ukladania mesiaca, štvrťroku a dňa v týždni v každom riadku tabuľky Dim_Date sa tieto ďalej rozdelia do ich vlastných rozmerových tabuliek. Podobne pre tabuľku Dim_Store sú štát a krajina geografické atribúty, ktoré sú odstránené o jeden krok - namiesto toho, aby boli uložené v tabuľke Dim_Store, sú teraz uložené v samostatnej tabuľke Dim_Geography..

Rovnaká správa - počet televízorov predávaných podľa krajiny a značky - je teraz o niečo zložitejšia ako v schéme hviezd:

SQL dotaz na získanie množstva produktov predaných podľa krajiny a značky, keď databáza používa schému snehových vločiek.

Referencie

  • wikipedia: Snowflake_schema
  • wikipedia: Star_schema