schema types data warehouse modeling star snowflake schema
Ovaj vodič objašnjava različite tipove sheme skladišta podataka. Saznajte što je shema zvijezda i shema pahuljica i razlika između sheme zvijezda i sheme pahuljica:
U ovome Vodiči za skladište datuma za početnike , imali smo dubinski uvid u Dimenzionalni model podataka u skladištu podataka u našem prethodnom vodiču.
U ovom uputstvu naučit ćemo sve o shemama skladišta podataka koje se koriste za strukturiranje tablica podataka (ili) tablica skladišta podataka.
koji je mrežni ključ za wifi
Počnimo!!
Ciljana publika
- Programeri i ispitivači skladišta podataka / ETL-a.
- Stručnjaci za baze podataka s osnovnim znanjem o konceptima baza podataka.
- Administratori baze podataka / stručnjaci za velike podatke koji žele razumjeti područja skladišta podataka / ETL.
- Fakulteti / studenti koji traže posao u skladištu podataka.
Što ćete naučiti:
Shema skladišta podataka
U skladištu podataka shema se koristi za definiranje načina organizacije sustava sa svim entitetima baze podataka (tablice činjenica, tablice dimenzija) i njihova logička povezanost.
Evo različitih vrsta shema u DW:
- Zvjezdani raspored
- Shema SnowFlake
- Dijagram galaksije
- Shema zvjezdanog jata
# 1) Zvjezdani raspored
Ovo je najjednostavnija i najučinkovitija shema u skladištu podataka. Tabela činjenica u središtu okružena tablicama s više dimenzija nalikuje zvijezdi u modelu Zvjezdane sheme.
Tablica činjenica održava odnose jedan prema više sa svim tablicama dimenzija. Svaki je redak u tablici činjenica povezan sa svojim redovima tablice dimenzija referencom stranog ključa.
Zbog gore navedenog razloga, navigacija među tablicama u ovom modelu jednostavna je za ispitivanje agregiranih podataka. Krajnji korisnik može lako razumjeti ovu strukturu. Stoga svi alati za poslovnu inteligenciju (BI) uvelike podržavaju model sheme Star.
Tijekom dizajniranja shema zvijezda tablice dimenzija su namjerno denormalizirane. Široki su s mnogo atributa za pohranu kontekstualnih podataka za bolju analizu i izvještavanje.
Prednosti sheme zvijezda
- Upiti koriste vrlo jednostavna spajanja dok dohvaćaju podatke i time se poboljšava izvedba upita.
- Jednostavno je doći do podataka za izvještavanje, u bilo kojem trenutku tijekom bilo kojeg razdoblja.
Mane zvjezdane sheme
- Ako postoje brojne promjene u zahtjevima, ne preporučuje se dugoročna izmjena i ponovna upotreba postojeće zvjezdane sheme.
- Prekomjernost podataka veća je jer tablice nisu hijerarhijski podijeljene.
Primjer sheme zvijezda dat je u nastavku.
Upit o shemi zvijezda
Krajnji korisnik može zatražiti izvješće pomoću alata Business Intelligence. Svi takvi zahtjevi obrađivat će se internim stvaranjem lanca 'ODABERI upita'. Izvedba ovih upita imat će utjecaj na vrijeme izvršavanja izvješća.
Iz gornjeg primjera sheme Star, ako poslovni korisnik želi znati koliko je romana i DVD-a prodano u državi Kerala u siječnju 2018. godine, tada možete primijeniti upit kako slijedi na tablicama 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 proizvoda | Količina_Prodana | |
---|---|---|
7 | Svatko može lako razumjeti i dizajnirati shemu. | Teško je razumjeti i dizajnirati shemu. |
Romani | 12.702 | |
DVD-ovi | 32,919 |
Nadam se da ste razumjeli kako je lako postaviti upit o shemi zvijezda.
# 2) Shema SnowFlake
Zvjezdana shema djeluje kao ulaz za dizajniranje sheme SnowFlake. Snježno ljuštenje je postupak koji u potpunosti normalizira sve tablice dimenzija iz sheme zvijezda.
Raspored tablice činjenica u središtu okružen višestrukim hijerarhijama tablica dimenzija izgleda poput SnowFlakea u modelu sheme SnowFlake. Svaki redak tablice činjenica povezan je sa svojim redovima tablice dimenzija referencom stranog ključa.
Tijekom dizajniranja shema SnowFlake tablice dimenzija su namjerno normalizirane. Strani ključevi bit će dodani svakoj razini tablica dimenzija kako bi se povezali s njezinim nadređenim atributom. Složenost sheme SnowFlake izravno je proporcionalna razinama hijerarhije tablica dimenzija.
Prednosti sheme SnowFlake:
- Suvišnost podataka u potpunosti se uklanja stvaranjem novih tablica dimenzija.
- U usporedbi sa shemom zvijezda, tablice dimenzija Snow Flaking koriste manje prostora za pohranu.
- Lako je ažurirati (ili) održavati tablice Snow Flaking.
Nedostaci sheme SnowFlake:
- Zbog normaliziranih tablica dimenzija, ETL sustav mora učitati broj tablica.
- Za izvršavanje upita možda će vam trebati složeni spojevi zbog broja dodanih tablica. Stoga će se izvedba upita pogoršati.
Primjer sheme SnowFlake dan je u nastavku.
Tablice dimenzija u gornjem dijagramu SnowFlake normalizirane su kako je objašnjeno u nastavku:
- Dimenzija datuma normalizira se u tromjesečne, mjesečne i tjedne tablice ostavljajući ID-ove stranog ključa u tablici Datum.
- Dimenzija spremišta normalizirana je tako da obuhvaća tablicu stanja.
- Dimenzija proizvoda normalizirana je u Brand.
- U dimenziji Kupac, atributi povezani s gradom premještaju se u novu tablicu Grad ostavljanjem ID-a stranog ključa u tablici Kupac.
Na isti način, jedna dimenzija može održavati više razina hijerarhije.
Različite razine hijerarhija iz gornjeg dijagrama mogu se nazvati kako slijedi:
- Tromjesečni id, mjesečni id i tjedni id novi su zamjenski ključevi koji su stvoreni za hijerarhije dimenzija Datum, a oni su dodani kao strani ključevi u tablici dimenzija Datum.
- ID stanja je novi surogat ključ stvoren za hijerarhiju dimenzija Store i dodan je kao strani ključ u tablici dimenzija Store.
- ID marke novi je zamjenski ključ stvoren za hijerarhiju dimenzija proizvoda i dodan je kao strani ključ u tablici dimenzija proizvoda.
- ID grada novi je surogat ključ stvoren za hijerarhiju dimenzija kupca i dodan je kao strani ključ u tablici dimenzija kupca.
Upit o shemi pahuljica
Možemo generirati iste vrste izvještaja za krajnje korisnike kao i izvješća o strukturi sheme zvijezda sa shemama SnowFlake. No, ovdje su upiti malo složeni.
Iz gornjeg primjera sheme SnowFlake generirat ćemo isti upit koji smo dizajnirali tijekom primjera upita sheme Star.
To jest, ako poslovni korisnik želi znati koliko je romana i DVD-a prodano u državi Kerala u siječnju 2018. godine, možete primijeniti upit kako slijedi na tablicama sheme SnowFlake.
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 proizvoda | Količina_Prodana |
---|---|
Romani | 12.702 |
DVD-ovi | 32,919 |
Bodovi koje treba zapamtiti tijekom ispitivanja zvjezdica (ili) tablica sheme SnowFlake
Bilo koji upit može se dizajnirati sa sljedećom strukturom:
Klauzula SELECT:
- Atributi navedeni u klauzuli za odabir prikazani su u rezultatima upita.
- Izjava Select također koristi grupe za pronalaženje agregiranih vrijednosti, te stoga moramo koristiti klauzulu po klauzuli u uvjetu where.
Klauzula FROM:
- Sve tablice bitnih činjenica i tablice dimenzija moraju se odabrati prema kontekstu.
Klauzula WHERE:
- Odgovarajući atributi dimenzije spominju se u klauzuli where spajanjem s atributima tablice činjenica. Zamjenski ključevi iz tablica dimenzija spajaju se s odgovarajućim stranim ključevima iz tablica činjenica kako bi se popravio opseg podataka koji se traže. Molimo pogledajte gore napisani primjer upita za shemu zvijezda da biste to razumjeli. Također možete filtrirati podatke u samoj klauzuli from ako u slučaju da tamo upotrebljavate unutarnje / vanjske spojeve, kao što je napisano u primjeru sheme SnowFlake.
- Atributi dimenzije također se spominju kao ograničenja podataka u klauzuli where.
- Filtriranjem podataka u svim gore navedenim koracima vraćaju se odgovarajući podaci za izvješća.
Prema poslovnim potrebama, možete dodati (ili) ukloniti činjenice, dimenzije, atribute i ograničenja u zvjezdanu shemu (ili) upit sheme SnowFlake slijedeći gornju strukturu. Također možete dodati podupite (ili) spojiti različite rezultate upita kako biste generirali podatke za bilo koja složena izvješća.
# 3) Dijagram galaksije
Shema galaksije poznata je i kao shema konstelacije činjenica. U ovoj shemi više tablica činjenica dijeli iste tablice dimenzija. Raspored tablica činjenica i tablica dimenzija izgleda kao zbirka zvijezda u modelu sheme Galaxy.
Zajedničke dimenzije u ovom modelu poznate su kao usklađene dimenzije.
Ova vrsta sheme koristi se za sofisticirane zahtjeve i za agregirane tablice činjenica koje su složenije da bi ih podržala shema Star (ili) shema SnowFlake. Ovu je shemu teško održavati zbog svoje složenosti.
Primjer sheme galaksije dan je u nastavku.
# 4) Shema zvjezdanih nakupina
Shema SnowFlake s mnogim tablicama dimenzija možda će trebati složenija spajanja tijekom upita. Shema zvijezda s manje tablica dimenzija može imati veću redundanciju. Stoga je shema zvjezdanih nakupina došla na sliku kombinirajući značajke gornje dvije sheme.
Zvjezdana shema osnova je za dizajn sheme zvjezdanih nakupina, a nekoliko bitnih tablica dimenzija iz zvjezdane sheme pahuljicama je, a to zauzvrat čini stabilniju strukturu sheme.
Primjer sheme zvjezdanih nakupina dan je u nastavku.
Što je bolje shema pahuljica ili shema zvijezda?
Platforma skladišta podataka i BI alati koji se koriste u vašem DW sustavu igrat će vitalnu ulogu u odlučivanju o prikladnoj shemi koju treba dizajnirati. Zvijezda i SnowFlake najčešće su korištene sheme u DW-u.
Shema zvjezdica preferira se ako BI alati omogućuju poslovnim korisnicima jednostavnu interakciju sa strukturama tablice jednostavnim upitima. Shema SnowFlake preferira se ako su BI alati kompliciraniji za poslovne korisnike da izravno komuniciraju sa strukturama tablice zbog više pridruživanja i složenih upita.
Možete nastaviti sa shemom SnowFlake bilo ako želite uštedjeti malo prostora za pohranu ili ako je vaš DW sustav optimizirao alate za dizajn ove sheme.
Shema zvijezda protiv sheme pahuljica
Dolje su date ključne razlike između sheme Star i sheme SnowFlake.
S.Br | Zvjezdani raspored | Shema pahuljica snijega |
---|---|---|
jedan | Višak podataka je veći. | Prekomjernost podataka je manja. |
dva | Prostor za pohranu dimenzijskih tablica je veći. | Prostor za pohranu dimenzijskih tablica relativno je manji. |
3 | Sadrži denormalizirane tablice dimenzija. | Sadrži tablice normaliziranih dimenzija. |
4 | Tabela pojedinačnih činjenica okružena je tablicama s više dimenzija. | Tabela pojedinačnih činjenica okružena je s više hijerarhija tablica dimenzija. |
5 | Upiti koriste izravne spojeve između činjenica i dimenzija za dohvaćanje podataka. | Upiti koriste složene spojeve između činjenica i dimenzija za dohvaćanje podataka. |
6 | Vrijeme izvršavanja upita je manje. | Vrijeme izvršavanja upita je duže. |
8 | Koristi pristup odozgo prema dolje. | Koristi pristup odozdo prema gore. |
Zaključak
Nadamo se da ste dobro razumjeli različite vrste shema skladišta podataka, zajedno s njihovim prednostima i nedostacima iz ovog vodiča.
Također smo naučili kako se Shema zvijezda i Shema SnowFlake mogu pitati i koju shemu treba odabrati između ove dvije, zajedno s njihovim razlikama.
Pratite naš nadolazeći vodič da biste saznali više o Data Martu u ETL-u !!
=> Ovdje pripazite na jednostavne serije treninga o skladištenju podataka.
Preporučena literatura
- Python tipovi podataka
- Vrste podataka C ++
- Vodič za testiranje skladišta podataka sa primjerima | Vodič za ispitivanje ETL-a
- 10 najpopularnijih alata za skladište podataka i tehnologija za testiranje
- Dimenzionalni model podataka u skladištu podataka - Vodič s primjerima
- Vodič za ispitivanje skladišta podataka ETL-a (cjelovit vodič)
- Što je ETL (ekstrakt, transformacija, učitavanje) postupak u skladištu podataka?
- Rudarstvo podataka: proces, tehnike i glavni problemi u analizi podataka