schema types data warehouse modeling star snowflake schema
V tomto výučbe sú vysvetlené rôzne typy schém dátového skladu. Zistite, čo je schéma hviezd a schéma vločiek a rozdiel medzi schémou hviezdy a schémy snehových vločiek:
V tomto Výukové programy pre dátový sklad pre začiatočníkov , podrobne sme sa pozreli Dimenzionálny dátový model v dátovom sklade v našom predchádzajúcom návode.
V tomto tutoriále sa dozvieme všetko o schémach Data Warehouse, ktoré sa používajú na štruktúrovanie tabuliek dátových trhov (alebo).
kopírovať DVD filmy na pevný disk zadarmo
Začnime!!
Cieľové publikum
- Vývojári a testeri dátového skladu / ETL.
- Databázoví odborníci so základnými znalosťami databázových konceptov.
- Správcovia databáz / odborníci na veľké dáta, ktorí chcú porozumieť oblastiam dátového skladu / ETL.
- Absolventi vysokých škôl / nováčikovia, ktorí hľadajú pracovné miesta v dátovom sklade.
Čo sa dozviete:
Schéma dátového skladu
V dátovom sklade sa schéma používa na definovanie spôsobu organizácie systému so všetkými entitami databázy (tabuľky faktov, tabuľky dimenzií) a ich logické priradenie.
Tu sú rôzne typy schém v DW:
- Rozpis hviezd
- Schéma SnowFlake
- Galaktický diagram
- Schéma hviezdokopy
# 1) Plán hviezd
Toto je najjednoduchšia a najefektívnejšia schéma v dátovom sklade. Tabuľka faktov v strede obklopená tabuľkami viacerých dimenzií pripomína hviezdu v modeli Hviezdna schéma.
Tabuľka faktov udržuje vzťahy typu jedna k mnohým so všetkými tabuľkami dimenzií. Každý riadok v tabuľke faktov je priradený k svojim riadkom tabuľky dimenzií s odkazom na cudzí kľúč.
Z vyššie uvedeného dôvodu je navigácia medzi tabuľkami v tomto modeli jednoduchá na dopytovanie agregovaných údajov. Koncový užívateľ môže ľahko pochopiť túto štruktúru. Preto všetky nástroje Business Intelligence (BI) vo veľkej miere podporujú model schémy Star.
Pri navrhovaní hviezdnych schém sú dimenzionálne tabuľky zámerne deaktivované. Sú široké s mnohými atribútmi na ukladanie kontextových údajov pre lepšiu analýzu a vykazovanie.
Výhody schémy hviezd
- Dotazy pri načítaní údajov používajú veľmi jednoduché spojenia, čím sa zvyšuje výkonnosť dotazu.
- Je ľahké načítať údaje pre prehľady, kedykoľvek a za akékoľvek obdobie.
Nevýhody schémy hviezd
- Ak sa v požiadavkách vyskytne veľa zmien, existujúca hviezdna schéma sa z dlhodobého hľadiska neodporúča upravovať a opätovne používať.
- Redundancia dát spočíva skôr v tom, že tabuľky nie sú hierarchicky rozdelené.
Nižšie je uvedený príklad hviezdnej schémy.
Dotaz na hviezdnu schému
Koncový užívateľ môže požiadať o správu pomocou nástrojov Business Intelligence. Všetky tieto požiadavky budú spracované interným vytvorením reťazca „VYBERTE dotazy“. Výkon týchto dotazov bude mať vplyv na čas vykonania správy.
Z vyššie uvedeného príkladu schémy Hviezda, ak chce podnikový používateľ vedieť, koľko románov a DVD sa predalo v štáte Kerala v januári 2018, môžete dotaz použiť na tabuľky schémy Hviezdy takto:
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
Výsledky:
Meno Produktu | Množstvo_Predané | |
---|---|---|
7 | Schéme môže každý ľahko porozumieť a navrhnúť ju. | Je ťažké pochopiť a navrhnúť schému. |
Romány | 12 702 | |
DVD | 32 919 |
Dúfam, že ste pochopili, aké ľahké je vyhľadať hviezdnu schému.
# 2) Schéma SnowFlake
Hviezdna schéma slúži ako vstup do návrhu schémy SnowFlake. Odlupovanie snehu je proces, ktorý úplne normalizuje všetky tabuľky dimenzií z hviezdnej schémy.
Usporiadanie tabuľky faktov v strede obklopené viacerými hierarchiami tabuliek dimenzií vyzerá ako SnowFlake v modeli schémy SnowFlake. Každý riadok tabuľky faktov je spojený s jeho riadkami tabuľky dimenzií s odkazom na cudzí kľúč.
Pri navrhovaní schém SnowFlake sú tabuľky dimenzií zámerne normalizované. Cudzie kľúče sa pridajú na každú úroveň tabuliek dimenzií ako odkaz na jej nadradený atribút. Zložitosť schémy SnowFlake je priamo úmerná úrovniam hierarchie tabuliek dimenzií.
Výhody schémy SnowFlake:
- Redundancia údajov je úplne odstránená vytvorením nových tabuliek dimenzií.
- V porovnaní s hviezdnou schémou využívajú dimenzionálne tabuľky Snow Flaking menej úložného priestoru.
- Je ľahké aktualizovať (alebo) udržiavať tabuľky Snow Flaking.
Nevýhody schémy SnowFlake:
- Z dôvodu normalizovaných rozmerových tabuliek musí systém ETL načítať počet tabuliek.
- Kvôli počtu pridaných tabuliek budete možno na vykonanie dotazu potrebovať zložité spojenia. Výkon dotazu sa teda zníži.
Nižšie je uvedený príklad schémy SnowFlake.
Tabuľky dimenzií vo vyššie uvedenom diagrame SnowFlake sú normalizované, ako je vysvetlené nižšie:
- Dimenzia dátumu sa normalizuje na tabuľky štvrťročné, mesačné a týždenné tak, že sa v tabuľke dátumu ponechajú identifikátory cudzích kľúčov.
- Dimenzia obchodu je normalizovaná, aby obsahovala tabuľku pre State.
- Dimenzia produktu sa normalizuje na značku.
- V dimenzii Zákazník sa atribúty spojené s mestom presunú do novej tabuľky Mesto tak, že sa v tabuľke Zákazník ponechá ID cudzieho kľúča.
Rovnakým spôsobom môže jedna dimenzia udržiavať viac úrovní hierarchie.
Rôzne úrovne hierarchií z vyššie uvedeného diagramu možno označiť nasledovne:
- Štvrťročné ID, Mesačné ID a Týždenné ID sú nové náhradné kľúče, ktoré sa vytvárajú pre hierarchie dimenzie Dátum a ktoré sa pridali ako cudzie kľúče do tabuľky dimenzie Dátum.
- State id je nový náhradný kľúč vytvorený pre hierarchiu dimenzií Obchodu a bol pridaný ako cudzí kľúč do tabuľky dimenzií Obchodu.
- Brand id je nový náhradný kľúč vytvorený pre hierarchiu dimenzie produktu a bol pridaný ako cudzí kľúč do tabuľky dimenzie produktu.
- City id je nový náhradný kľúč vytvorený pre hierarchiu dimenzií zákazníka a bol pridaný ako cudzí kľúč do tabuľky dimenzií zákazníka.
Dotaz na schému snehovej vločky
Môžeme generovať rovnaký druh prehľadov pre koncových používateľov ako prehľady štruktúr hviezdnych schém aj so schémami SnowFlake. Ale otázky sú tu trochu komplikované.
Z vyššie uvedeného príkladu schémy SnowFlake vygenerujeme rovnaký dotaz, ktorý sme navrhli počas príkladu dotazu na hviezdnu schému.
To znamená, že ak chce podnikový používateľ vedieť, koľko románov a DVD sa predalo v štáte Kerala v januári 2018, môžete dotaz použiť na tabuľky schémy SnowFlake nasledujúcim spôsobom.
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
Výsledky:
Meno Produktu | Množstvo_Predané |
---|---|
Romány | 12 702 |
DVD | 32 919 |
Body, ktoré si treba pamätať pri dotazovaní sa na tabuľky schémy SnowFlake (alebo)
Akýkoľvek dotaz je možné navrhnúť s nasledujúcou štruktúrou:
Klauzula SELECT:
- Atribúty zadané v klauzule select sa zobrazia vo výsledkoch dotazu.
- Príkaz Select tiež používa skupiny na nájdenie agregovaných hodnôt, a preto musíme v klauzule where použiť klauzulu group by.
Doložka FROM:
- Všetky tabuľky základných faktov a tabuľky dimenzií je potrebné zvoliť podľa kontextu.
KDE Doložka:
- Príslušné atribúty dimenzií sú uvedené v klauzule where spojením s atribútmi tabuľky faktov. Náhradné kľúče z dimenzionálnych tabuliek sú spojené s príslušnými cudzími kľúčmi z tabuliek faktov, aby sa stanovil rozsah údajov, na ktoré sa má dopytovať. Aby ste tomu porozumeli, pozrite si vyššie napísaný príklad dotazu na hviezdnu schému. Môžete tiež filtrovať údaje v samotnej klauzule from, ak v prípade, že tam používate vnútorné / vonkajšie spojenie, ako je to uvedené v príklade schémy SnowFlake.
- Atribúty dimenzie sa uvádzajú aj ako obmedzenia údajov v klauzule where.
- Filtrovaním údajov podľa všetkých vyššie uvedených krokov sa vrátia príslušné údaje pre prehľady.
Podľa obchodných potrieb môžete pridať (alebo) odstrániť fakty, dimenzie, atribúty a obmedzenia do hviezdnej schémy (alebo) dotazu na schému SnowFlake podľa nasledujúcej štruktúry. Môžete tiež pridať poddotazy (alebo) zlúčiť rôzne výsledky dotazu a vygenerovať údaje pre akékoľvek zložité prehľady.
# 3) Galaxický diagram
Schéma galaxie je tiež známa ako Schéma konštelácie faktov. V tejto schéme zdieľajú viaceré tabuľky faktov rovnaké tabuľky dimenzií. Usporiadanie tabuliek faktov a dimenzionálnych tabuliek vyzerá ako kolekcia hviezd v modeli schémy Galaxy.
Zdieľané rozmery v tomto modeli sú známe ako Zhodné rozmery.
Tento typ schémy sa používa pre zložité požiadavky a pre agregované tabuľky faktov, ktoré sú zložitejšie a ktoré môžu byť podporované schémou Star (alebo) schémou SnowFlake. Táto schéma je náročná na údržbu kvôli svojej zložitosti.
Nižšie je uvedený príklad schémy Galaxy.
# 4) Hviezdna klastrová schéma
Schéma SnowFlake s mnohými tabuľkami dimenzií môže vyžadovať pri dotazovaní zložitejšie spojenia. Hviezdna schéma s menším počtom tabuliek dimenzií môže mať väčšiu redundanciu. Schéma hviezdokopy preto prišla na obraz kombináciou funkcií vyššie uvedených dvoch schém.
Hviezdna schéma je základom pre návrh hviezdnej klastrovej schémy a niekoľko tabuliek základných dimenzií z hviezdnej schémy je zasnežených a to zase vytvára stabilnejšiu štruktúru schémy.
Nižšie je uvedený príklad schémy hviezdokôp.
Čo je lepšia schéma snehovej vločky alebo hviezda?
Platforma dátového skladu a nástroje BI použité vo vašom systéme DW budú hrať rozhodujúcu úlohu pri rozhodovaní o vhodnej schéme, ktorá sa má navrhnúť. Hviezda a SnowFlake sú najbežnejšie používané schémy v DW.
Hviezdna schéma sa uprednostňuje, ak nástroje BI umožňujú podnikovým používateľom ľahkú interakciu so štruktúrami tabuľky pomocou jednoduchých dotazov. Schéma SnowFlake sa uprednostňuje, ak sú nástroje BI komplikovanejšie pre podnikových používateľov pri priamej interakcii so štruktúrami tabuľky z dôvodu viacerých spojení a zložitých dotazov.
V schéme SnowFlake môžete pokračovať buď vtedy, ak chcete ušetriť trochu úložného priestoru, alebo ak má váš systém DW optimalizované nástroje na návrh tejto schémy.
Schéma hviezdy vs Schéma snehovej vločky
Ďalej sú uvedené kľúčové rozdiely medzi hviezdnou schémou a schémou SnowFlake.
S.No | Rozpis hviezd | Schéma snehových vločiek |
---|---|---|
1 | Redundancia dát je viac. | Redundancia dát je menšia. |
dva | Úložného priestoru pre tabuľky dimenzií je viac. | Úložný priestor pre tabuľky dimenzií je porovnateľne menší. |
3 | Obsahuje normalizované tabuľky dimenzií. | Obsahuje normalizované tabuľky dimenzií. |
4 | Tabuľka s jedným faktom je obklopená tabuľkami s viacerými dimenziami. | Tabuľka s jedným faktom je obklopená viacerými hierarchiami dimenzií. |
5 | Na načítanie údajov používajú dotazy priame spojenie medzi faktom a dimenziami. | Na načítanie údajov používajú dotazy zložité spojenia medzi faktom a dimenziami. |
6 | Čas vykonania dotazu je kratší. | Čas na vykonanie dotazu je viac. |
8 | Používa prístup zhora nadol. | Používa prístup zdola nahor. |
Záver
Dúfame, že ste z tohto tutoriálu dobre pochopili rôzne typy schém Data Warehouse a ich výhody a nevýhody.
Dozvedeli sme sa tiež, ako sa dá dopytovať schéma hviezd a schémy SnowFlake a ktorá schéma je na výber medzi týmito dvoma a ich rozdielmi.
Zostaňte naladení na náš nadchádzajúci tutoriál a dozviete sa viac o Data Mart v ETL !!
=> Tu si môžete pozrieť sériu školení o jednoduchých dátových skladoch.
Odporúčané čítanie
- Dátové typy v Pythone
- Dátové typy C ++
- Výukový program na testovanie dátových skladov s príkladmi Sprievodca testovaním ETL
- Top 10 populárnych nástrojov pre dátové sklady a testovacie technológie
- Dimenzionálny dátový model v dátovom sklade - návod s príkladmi
- Výukový program na testovanie dátových skladov ETL (kompletný sprievodca)
- Čo je proces ETL (extrakcia, transformácia, načítanie) v dátovom sklade?
- Ťažba dát: Proces, techniky a hlavné problémy v analýze dát