schema types data warehouse modeling star snowflake schema
Ta vadnica pojasnjuje različne tipe shem skladišča podatkov. Preberite, kaj je shema zvezd in shema snežink in kakšna je razlika med shemo zvezd in shemo snežink:
V tem Vadnice za skladišče datumov za začetnike , smo si poglobljeno ogledali Dimenzijski podatkovni model v podatkovnem skladišču v naši prejšnji vadnici.
V tej vadnici bomo izvedeli vse o shemah skladišča podatkov, ki se uporabljajo za strukturiranje tabel podatkovnih oznak (ali) podatkovnih skladišč.
Vodič za Visual Studio Team Foundation Server 2015
Začnimo!!
Ciljna publika
- Razvijalci in preizkuševalci podatkovnega skladišča / ETL.
- Strokovnjaki za baze podatkov z osnovnim znanjem konceptov baz podatkov.
- Skrbniki baz podatkov / strokovnjaki za velike podatke, ki želijo razumeti področja podatkovnega skladišča / ETL.
- Diplomanti / osvežitelji, ki iščejo zaposlitve v skladišču podatkov.
Kaj se boste naučili:
Shema skladišča podatkov
V podatkovnem skladišču se s shemo definira način organizacije sistema z vsemi entitetami baze podatkov (tabele dejstev, tabele dimenzij) in njihovo logično povezavo.
Tu so različne vrste shem v DW:
- Zvezdni urnik
- Shema SnowFlake
- Diagram Galaksije
- Shema zvezdne kopice
# 1) Zvezdni urnik
To je najpreprostejša in najučinkovitejša shema v podatkovnem skladišču. Tabela dejstev v središču, obkrožena z več dimenzijskimi tabelami, je podobna zvezdi v modelu Shema zvezd.
Tabela dejstev ohranja razmerja ena-do-več z vsemi tabelami dimenzij. Vsaka vrstica v tabeli dejstev je s svojimi vrsticami tabel dimenzij povezana s sklicem tujega ključa.
Zaradi zgoraj navedenega razloga je krmarjenje po tabelah v tem modelu enostavno za poizvedovanje po združenih podatkih. Končni uporabnik lahko zlahka razume to strukturo. Zato vsa orodja za poslovno inteligenco (BI) močno podpirajo model sheme Star.
Med načrtovanjem zvezdnih shem so dimenzijske tabele namensko denormalizirane. Široki so z veliko atributi za shranjevanje kontekstualnih podatkov za boljšo analizo in poročanje.
Prednosti sheme zvezd
- Poizvedbe med pridobivanjem podatkov uporabljajo zelo preprosta združevanja, s čimer se poveča učinkovitost poizvedb.
- Podatke za poročanje je enostavno pridobiti kadar koli v katerem koli obdobju.
Slabosti zvezdne sheme
- Če je v zahtevah veliko sprememb, obstoječe sheme zvezd ni priporočljivo dolgoročno spreminjati in ponovno uporabljati.
- Presežnost podatkov je večja, saj tabele niso hierarhično razdeljene.
Primer sheme zvezd je podan spodaj.
Poizvedovanje po shemi zvezd
Končni uporabnik lahko zahteva poročilo z orodji Business Intelligence. Vse take zahteve bodo obdelane z internim ustvarjanjem verige poizvedb 'SELECT'. Uspešnost teh poizvedb bo vplivala na čas izvedbe poročila.
Če želi poslovni uporabnik iz zgornjega primera sheme Star vedeti, koliko romanov in DVD-jev je bilo prodanih v zvezni državi Kerala januarja 2018, lahko poizvedbo uporabite v tabelah sheme Star:
SELECT pdim.Name Product_Name, Sum (sfact.sales_units) Quanity_Sold FROM Product pdim, Sales sfact, Store sdim, Date ddim WHERE sfact.product_id = pdim.product_id AND sfact.store_id = sdim.store_id AND sfact.date_id = ddim.date_id AND sdim.state = 'Kerala' AND ddim.month = 1 AND ddim.year = 2018 AND pdim.Name in (‘Novels’, ‘DVDs’) GROUP BY pdim.Name
Rezultati:
Ime izdelka | Količina_Prodana | |
---|---|---|
7. | Vsakdo lahko enostavno razume in oblikuje shemo. | Težko je razumeti in oblikovati shemo. |
Romani | 12.702 | |
DVD-ji | 32.919 |
Upam, da ste razumeli, kako enostavno je poizvedovati po shemi zvezd.
# 2) Shema SnowFlake
Shema zvezd deluje kot vhod za oblikovanje sheme SnowFlake. Sneženje lupine je postopek, ki popolnoma normalizira vse dimenzijske tabele iz zvezdne sheme.
Razporeditev tabele z dejstvi v središču, obdane z več hierarhijami dimenzijskih tabel, izgleda kot SnowFlake v modelu sheme SnowFlake. Vsaka vrstica tabele dejstev je s svojimi vrsticami tabel dimenzij povezana s sklicem tujega ključa.
Med načrtovanjem shem SnowFlake so dimenzijske tabele namensko normalizirane. Tuji ključi bodo dodani na vsako raven tabel dimenzij, da bodo povezani z njenim nadrejenim atributom. Zapletenost sheme SnowFlake je neposredno sorazmerna s stopnjami hierarhije dimenzijskih tabel.
Prednosti sheme SnowFlake:
- Z ustvarjanjem novih tabel dimenzij se odvečnost podatkov popolnoma odstrani.
- V primerjavi s shemo zvezd dimenzijske tabele Snow Flaking porabijo manj prostora za shranjevanje.
- Enostavno je posodobiti (ali) vzdrževati tabele Snow Flaking.
Slabosti sheme SnowFlake:
- Zaradi normaliziranih dimenzijskih tabel mora sistem ETL naložiti število tabel.
- Za izvedbo poizvedbe boste morda potrebovali zapletene združitve zaradi števila dodanih tabel. Zato se bo uspešnost poizvedb poslabšala.
Primer sheme SnowFlake je podan spodaj.
Tabele dimenzij v zgornjem diagramu SnowFlake so normalizirane, kot je razloženo spodaj:
- Dimenzija datuma se normalizira v četrtletne, mesečne in tedenske tabele, tako da v tabeli datumov ostanejo ID-ji tujih ključev.
- Razsežnost shrambe je normalizirana tako, da vključuje tabelo za stanje.
- Dimenzija izdelka je normalizirana v blagovno znamko.
- V dimenziji Stranka se atributi, povezani z mestom, premaknejo v novo tabelo mesta, tako da v tabeli Stranka ostane ID tujega ključa.
Na enak način lahko ena dimenzija ohranja več ravni hierarhije.
Različne ravni hierarhij iz zgornjega diagrama lahko navajamo na naslednji način:
- Četrtletni id, mesečni id in tedenski idi so novi nadomestni ključi, ki so ustvarjeni za hierarhije dimenzij Date in so bili dodani kot tuji ključi v tabeli dimenzij Date.
- ID države je nov nadomestni ključ, ustvarjen za hierarhijo razsežnosti Store in je bil dodan kot tuji ključ v tabeli razsežnosti Store.
- Blagovna znamka je novi nadomestni ključ, ustvarjen za hierarhijo dimenzij izdelka in je bil dodan kot tuji ključ v tabeli dimenzij izdelka.
- ID mesta je novi nadomestni ključ, ustvarjen za hierarhijo dimenzij stranke in je bil dodan kot tuji ključ v tabeli dimenzij stranke.
Poizvedovanje po shemi snežinke
Za končne uporabnike lahko ustvarimo enako vrsto poročil kot poročila struktur shem zvezd s shemami SnowFlake. Toda vprašanja so tu nekoliko zapletena.
Iz zgornjega primera sheme SnowFlake bomo ustvarili isto poizvedbo, ki smo jo zasnovali med primerom poizvedbe sheme Star.
Če želi poslovni uporabnik vedeti, koliko romanov in DVD-jev je bilo prodanih v zvezni državi Kerala januarja 2018, lahko poizvedbo uporabite v tabelah shem SnowFlake, kot sledi.
SELECT pdim.Name Product_Name, Sum (sfact.sales_units) Quanity_Sold FROM Sales sfact INNER JOIN Product pdim ON sfact.product_id = pdim.product_id INNER JOIN Store sdim ON sfact.store_id = sdim.store_id INNER JOIN State stdim ON sdim.state_id = stdim.state_id INNER JOIN Date ddim ON sfact.date_id = ddim.date_id INNER JOIN Month mdim ON ddim.month_id = mdim.month_id WHERE stdim.state = 'Kerala' AND mdim.month = 1 AND ddim.year = 2018 AND pdim.Name in (‘Novels’, ‘DVDs’) GROUP BY pdim.Name
Rezultati:
Ime izdelka | Količina_Prodana |
---|---|
Romani | 12.702 |
DVD-ji | 32.919 |
Točke, ki si jih je treba zapomniti pri poizvedovanju z zvezdicami (ali) tabelami shem SnowFlake
Vsako poizvedbo je mogoče oblikovati s spodnjo strukturo:
Klavzula SELECT:
- Atributi, navedeni v stavku select, so prikazani v rezultatih poizvedbe.
- Stavek Select uporablja tudi skupine za iskanje združenih vrednosti, zato moramo v pogoju where uporabiti stavek po skupinah.
Klavzula FROM:
- Vse tabele bistvenih dejstev in tabele dimenzij je treba izbrati glede na kontekst.
Klavzula WHERE:
- Ustrezni atributi dimenzij so omenjeni v stavku where tako, da se združijo z atributi tabele dejstev. Nadomestni ključi iz tabel dimenzij so združeni z ustreznimi tujimi ključi iz tabel dejstev, da se določi obseg podatkov, ki jih je treba poizvedovati. Za razumevanje glejte zgoraj napisani primer poizvedbe sheme zvezd. Podatke lahko filtrirate tudi v sami klavzuli from, če tam uporabljate notranje / zunanje združitve, kot je zapisano v primeru sheme SnowFlake.
- Atributi dimenzij so omenjeni tudi kot omejitve za podatke v klavzuli where.
- S filtriranjem podatkov po vseh zgornjih korakih se za poročila vrnejo ustrezni podatki.
V skladu s poslovnimi potrebami lahko dodate (ali) odstranite dejstva, dimenzije, atribute in omejitve poizvedbi sheme zvezd (ali) po shemi SnowFlake, tako da sledite zgornji strukturi. Dodate lahko tudi podpoizvedbe (ali), da združite različne rezultate poizvedb, da ustvarite podatke za zapletena poročila.
# 3) Diagram Galaksije
Shema galaksij je znana tudi kot shema konstelacije dejstev. V tej shemi ima več tabel dejstev iste tabele dimenzij. Razporeditev tabel dejstev in dimenzijskih tabel je videti kot zbirka zvezd v modelu sheme Galaxy.
Skupne dimenzije v tem modelu so znane kot usklajene dimenzije.
Ta vrsta sheme se uporablja za zahtevne zahteve in za združene tabele dejstev, ki so bolj zapletene, da jih podpira shema Star (ali) shema SnowFlake. To shemo je težko vzdrževati zaradi njene zapletenosti.
Primer sheme Galaxy je podan spodaj.
# 4) Shema zvezdne kopice
Shema SnowFlake z veliko tabelami dimenzij bo med poizvedovanjem morda potrebovala bolj zapletena združevanja. Shema zvezd z manj tabelami dimenzij ima lahko več redundanc. Zato je v sliko prišla shema zvezdne kopice, ki je združila značilnosti zgornjih dveh shem.
Shema zvezd je osnova za načrtovanje sheme zvezdne kopice in nekaj bistvenih tabel dimenzij iz sheme zvezd je sneženih, kar pa tvori stabilnejšo strukturo sheme.
Primer sheme zvezdnih gruč je podan spodaj.
Katera je boljša shema snežinke ali shema zvezd?
Platforma podatkovnega skladišča in orodja BI, ki se uporabljajo v vašem sistemu DW, bodo imeli ključno vlogo pri odločanju o primerni shemi, ki jo je treba načrtovati. Star in SnowFlake sta najpogosteje uporabljeni shemi v DW.
Shema zvezd je zaželena, če orodja BI poslovnim uporabnikom omogočajo enostavno interakcijo s strukturami tabel s preprostimi poizvedbami. Shema SnowFlake je najprimernejša, če so orodja BI bolj zapletena za poslovne uporabnike zaradi neposredne interakcije s strukturami tabel zaradi več združitev in zapletenih poizvedb.
Nadaljujte s shemo SnowFlake, če želite prihraniti nekaj prostora za shranjevanje ali če ima vaš sistem DW optimizirana orodja za oblikovanje te sheme.
Shema zvezd proti shemi snežink
Spodaj so ključne razlike med shemo Star in shemo SnowFlake.
S. Št | Zvezdni urnik | Shema snežnih kosmičev |
---|---|---|
eno | Odvečnost podatkov je večja. | Odvečnost podatkov je manjša. |
dva | Prostora za shranjevanje dimenzijskih tabel je več. | Prostor za shranjevanje dimenzijskih tabel je sorazmerno manjši. |
3. | Vsebuje ne-normalizirane dimenzijske tabele. | Vsebuje normalizirane dimenzijske tabele. |
4. | Tabela z enim dejstvom je obdana z več dimenzijskimi tabelami. | Tabela posameznih dejstev je obdana z več hierarhijami dimenzijskih tabel. |
5. | Poizvedbe uporabljajo neposredne povezave med dejstvi in dimenzijami za pridobivanje podatkov. | Poizvedbe za pridobivanje podatkov uporabljajo zapletena povezovanja med dejstvi in dimenzijami. |
6. | Čas izvrševanja poizvedbe je krajši. | Čas izvrševanja poizvedbe je daljši. |
8. | Uporablja pristop od zgoraj navzdol. | Uporablja pristop od spodaj navzgor. |
Zaključek
Upamo, da ste dobro razumeli različne vrste shem skladišč podatkov, skupaj z njihovimi prednostmi in slabostmi iz te vadnice.
Izvedeli smo tudi, kako je mogoče poizvedovati po shemi zvezd in shemi SnowFlake in katero shemo je treba izbrati med tema dvema, skupaj z njihovimi razlikami.
Spremljajte našo prihajajočo vadnico, če želite izvedeti več o Data Martu v ETL !!
=> Tukaj bodite pozorni na preprosto serijo usposabljanja za preprosto skladiščenje podatkov.
Priporočeno branje
- Vrste podatkov Python
- Vrste podatkov C ++
- Vadnica za testiranje skladišča podatkov s primeri | Vodič za preizkušanje ETL
- 10 najbolj priljubljenih orodij za shranjevanje podatkov in preskusne tehnologije
- Dimenzijski podatkovni model v skladišču podatkov - Vadnica s primeri
- Vadnica za testiranje skladišča podatkov ETL (popoln vodnik)
- Kaj je postopek ETL (ekstrakt, pretvorba, nalaganje) v skladišču podatkov?
- Podatkovno rudarjenje: postopek, tehnike in glavna vprašanja pri analizi podatkov