Pri izbiri sheme baze podatkov za podatkovno skladišče, snežinka in zvezdne sheme ponavadi so priljubljene izbire. Ta primerjava govori o primernosti shem zvezda proti snežinki v različnih scenarijih in njihovih značilnostih.
Shema snežinke | Shema zvezd | |
---|---|---|
Enostavnost vzdrževanja / sprememb | Brez odvečnosti, zato je sheme snežinke lažje vzdrževati in spreminjati. | Ima odvečne podatke in zato manj enostavno za vzdrževanje / spreminjanje |
Enostavnost uporabe | Bolj zapletene poizvedbe in s tem manj enostavno razumevanje | Nižja zahtevnost poizvedbe in enostavna za razumevanje |
Uspešnost poizvedbe | Več tujih ključev in s tem daljši čas izvedbe poizvedb (počasneje) | Manjše število tujih ključev in s tem krajši čas izvedbe poizvedb (hitrejši) |
Vrsta podatkovne hiše | Dobro za uporabo v jedru podatkovne hiše za poenostavitev zapletenih odnosov (veliko: veliko) | Primerno za podatkovne zaznamke s preprostimi razmerji (1: 1 ali 1: veliko) |
Pridruži se | Večje število pridružitev | Manj pridruži |
Tabela dimenzij | Shema snežinke lahko vsebuje več preglednic dimenzij za vsako dimenzijo. | Zvezdna shema vsebuje samo eno dimenzijsko tabelo za vsako dimenzijo. |
Kdaj uporabiti | Kadar je tabela dimenzij sorazmerno velika, je sneženje boljše, saj zmanjšuje prostor. | Ko tabela dimenzij vsebuje manjše število vrstic, lahko izberemo shemo Star. |
Normalizacija / denormalizacija | Tabele dimenzij so v normalizirani obliki, vendar je tabela dejstev v obliki brez normiranja | Tabele dimenzij in dejstev so v de-normirani obliki |
Podatkovni model | Pristop od spodaj navzgor | Pristop od zgoraj navzdol |
Razmislite o zbirki podatkov za prodajalca, ki ima veliko trgovin, pri čemer vsaka trgovina prodaja veliko izdelkov v številnih kategorijah izdelkov in različnih blagovnih znamk. Podatkovno skladišče ali podatkovna zbirka za takega prodajalca bi morala zagotoviti analitikom možnost vodenja prodajnih poročil, razvrščenih po trgovini, datumu (ali mesecu, četrtletju ali letu) ali kategoriji izdelkov ali blagovni znamki.
Če bi ta podatkovni podatkov uporabljal zvezdno shemo, bi bil videti tako:
Primer sheme StarTabela dejstev bi bila zapis prodajnih transakcij, medtem ko obstajajo tabele dimenzij za datum, trgovino in izdelek. Tabele dimenzij so povezane s tabelo dejstev s svojim primarnim ključem, ki je tuji ključ za tabelo dejstev. Na primer, namesto da bi dejanski datum transakcije shranil v vrstico tabele dejstev, se shrani datum_id. Ta datum_id ustreza edinstveni vrstici v tabeli Dim_Date in ta vrstica shranjuje tudi druge atribute datuma, ki so potrebni za razvrščanje v poročila. npr. dan v tednu, mesec, četrtletje leta in tako naprej. Podatki so denormalizirani za lažje poročanje.
Tukaj je opisano število televizijskih programov, ki jih prodaja blagovna znamka in država, s pomočjo notranjih povezav.
Isti scenarij lahko uporablja tudi shemo snežinke, v tem primeru pa bi bil strukturiran na naslednji način:
Primer sheme snežinke (kliknite za povečavo)Glavna razlika v primerjavi s shemo zvezd je ta, da so podatki v dimenzijskih tabelah bolj normalizirani. Na primer, namesto da v vsako vrstico tabele Dim_Date shranite mesec, četrtino in dan v tednu, so te razčlenjene v lastne tabele dimenzij. Podobno kot za tabelo Dim_Store sta država in država geografski atributi, ki so odstranjeni v enem koraku - namesto da bi bili shranjeni v tabeli Dim_Store, so zdaj shranjeni v ločeni tabeli Dim_Geography.
Isto poročilo - število televizijskih programov, ki so jih prodali po državah in znamkah - je zdaj nekoliko bolj zapleteno kot v shemi zvezd:
Poizvedba SQL za pridobitev števila izdelkov, ki se prodajajo po državah in blagovnih znamkah, ko baza podatkov uporablja shemo snežinke.