schema types data warehouse modeling star snowflake schema
Tento výukový program vysvětluje různé typy schémat datového skladu. Zjistěte, co je Hvězdné schéma a schéma sněhové vločky a rozdíl mezi hvězdným schématem a schématem Hvězdné vločky:
V tomhle Návody pro datové sklady pro začátečníky , podrobně jsme se podívali Dimenzionální datový model v datovém skladu v našem předchozím tutoriálu.
V tomto kurzu se dozvíme vše o schématech Data Warehouse, která se používají ke strukturování tabulek datových trhů (nebo) datových skladů.
nejlepší velké datové společnosti, pro které můžete pracovat
Začněme!!
Cílová skupina
- Vývojáři a testeři datového skladu / ETL.
- Databázoví profesionálové se základními znalostmi databázových konceptů.
- Správci databází / odborníci na velká data, kteří chtějí porozumět oblastem datového skladu / ETL.
- Absolventi / osvěžovači vysokých škol, kteří hledají práci v datovém skladu
Co se naučíte:
Schéma datového skladu
V datovém skladu se schéma používá k definování způsobu organizace systému se všemi entitami databáze (tabulky faktů, tabulky dimenzí) a jejich logickým přidružením.
Zde jsou různé typy schémat v DW:
- Plán hvězd
- Schéma SnowFlake
- Galaxy diagram
- Schéma hvězdokupy
# 1) Plán hvězd
Toto je nejjednodušší a nejúčinnější schéma v datovém skladu. Tabulka faktů uprostřed obklopená tabulkami více dimenzí připomíná hvězdu v modelu Hvězdné schéma.
Tabulka faktů udržuje vztahy jedna k mnoha se všemi tabulkami dimenzí. Každý řádek v tabulce faktů je spojen s řádky tabulky dimenzí s odkazem na cizí klíč.
Z výše uvedeného důvodu je navigace mezi tabulkami v tomto modelu snadná pro dotazování agregovaných dat. Koncový uživatel může této struktuře snadno porozumět. Proto všechny nástroje Business Intelligence (BI) výrazně podporují model schématu Star.
Při navrhování hvězdných schémat jsou dimenzionální tabulky záměrně deaktivovány. Jsou široké s mnoha atributy, které ukládají kontextová data pro lepší analýzu a vytváření zpráv.
Výhody hvězdného schématu
- Dotazy při načítání dat používají velmi jednoduchá spojení a tím se zvyšuje výkon dotazů.
- Je snadné načíst data pro hlášení, kdykoli a pro jakékoli období.
Nevýhody hvězdného schématu
- Pokud je v požadavcích mnoho změn, nedoporučuje se stávající hvězdné schéma z dlouhodobého hlediska upravovat a znovu používat.
- Redundance dat je více, protože tabulky nejsou hierarchicky rozděleny.
Níže je uveden příklad hvězdného schématu.
Dotaz na hvězdné schéma
Koncový uživatel může požádat o zprávu pomocí nástrojů Business Intelligence. Všechny tyto požadavky budou zpracovány interním vytvořením řetězce „VYBERTE dotazy“. Výkon těchto dotazů bude mít dopad na čas provedení sestavy.
Z výše uvedeného příkladu schématu Star, pokud chce obchodní uživatel vědět, kolik románů a DVD bylo prodáno ve státě Kerala v lednu 2018, můžete dotaz použít na tabulky schémat Star 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ýsledek:
Jméno výrobku | Množství_Prodáno | |
---|---|---|
7 | Schématu může snadno porozumět a navrhnout kdokoli. | Je těžké pochopit a navrhnout schéma. |
Romány | 12 702 | |
DVD | 32 919 |
Doufám, že jste pochopili, jak snadné je dotazovat se na hvězdné schéma.
# 2) Schéma SnowFlake
Hvězdné schéma slouží jako vstup k návrhu schématu SnowFlake. Odlupování sněhu je proces, který úplně normalizuje všechny tabulky dimenzí z hvězdného schématu.
Uspořádání tabulky faktů ve středu obklopené několika hierarchiemi dimenzionálních tabulek vypadá jako SnowFlake v modelu schématu SnowFlake. Každý řádek tabulky faktů je spojen s řádky tabulky dimenzí s odkazem na cizí klíč.
Při navrhování schémat SnowFlake jsou tabulky dimenzí záměrně normalizovány. Cizí klíče budou přidány do každé úrovně dimenzionálních tabulek, aby odkazovaly na její nadřazený atribut. Složitost schématu SnowFlake je přímo úměrná úrovním hierarchie tabulek dimenzí.
Výhody schématu SnowFlake:
- Redundance dat je zcela odstraněna vytvořením nových tabulek dimenzí.
- Ve srovnání s hvězdicovým schématem využívají tabulky dimenzí Snow Flaking méně úložného prostoru.
- Je snadné aktualizovat (nebo) udržovat tabulky Snow Flaking.
Nevýhody schématu SnowFlake:
- Kvůli normalizovaným tabulkám dimenzí musí systém ETL načíst počet tabulek.
- Kvůli počtu přidaných tabulek budete možná potřebovat složité spojení k provedení dotazu. Proto bude snížen výkon dotazu.
Níže je uveden příklad schématu SnowFlake.
Tabulky dimenzí ve výše uvedeném diagramu SnowFlake jsou normalizovány, jak je vysvětleno níže:
- Dimenze data se normalizuje do čtvrtletních, měsíčních a týdenních tabulek ponecháním ID cizích klíčů v tabulce Datum.
- Dimenze úložiště je normalizována tak, aby zahrnovala tabulku pro State.
- Dimenze produktu je normalizována na značku.
- V dimenzi Zákazník se atributy spojené s městem přesouvají do nové tabulky Město tak, že v tabulce Zákazník necháme ID cizího klíče.
Stejným způsobem může jedna dimenze udržovat více úrovní hierarchie.
Různé úrovně hierarchií z výše uvedeného diagramu lze označit takto:
- Čtvrtletní id, měsíční id a týdenní id jsou nové náhradní klíče, které jsou vytvořeny pro hierarchie dimenze Datum a které byly přidány jako cizí klíče v tabulce dimenze Datum.
- State id je nový náhradní klíč vytvořený pro hierarchii dimenze Store a byl přidán jako cizí klíč do tabulky dimenze Store.
- Brand id je nový náhradní klíč vytvořený pro hierarchii dimenze produktu a byl přidán jako cizí klíč do tabulky dimenze produktu.
- Město id je nový náhradní klíč vytvořený pro hierarchii dimenze Zákazník a byl přidán jako cizí klíč do tabulky dimenze Zákazník.
Dotaz na schéma sněhové vločky
Můžeme generovat stejný druh zpráv pro koncové uživatele jako u struktur hvězdných schémat také se schématy SnowFlake. Ale dotazy jsou zde trochu komplikované.
Z výše uvedeného příkladu schématu SnowFlake vygenerujeme stejný dotaz, který jsme navrhli během příkladu dotazu hvězdného schématu.
To znamená, že pokud chce obchodní uživatel vědět, kolik románů a DVD bylo prodáno ve státě Kerala v lednu 2018, můžete dotaz použít na tabulky schémat SnowFlake následujícím způsobem.
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ýsledek:
Jméno výrobku | Množství_Prodáno |
---|---|
Romány | 12 702 |
DVD | 32 919 |
Body, které si pamatujete při dotazování na hvězdy (nebo) tabulky schémat SnowFlake
Libovolný dotaz lze navrhnout s níže uvedenou strukturou:
Klauzule SELECT:
- Atributy uvedené v klauzuli select jsou zobrazeny ve výsledcích dotazu.
- Příkaz Select také používá skupiny k nalezení agregovaných hodnot, a proto musíme použít klauzuli group by v podmínce where.
FROM klauzule:
- Všechny tabulky základních faktů a tabulky dimenzí musí být vybrány podle kontextu.
KDE klauzule:
- Příslušné atributy dimenze jsou uvedeny v klauzuli where spojením s atributy tabulky faktů. Náhradní klíče z tabulek dimenzí jsou spojeny s příslušnými cizími klíči z tabulek faktů, aby se opravil rozsah dat, která mají být dotazována. Chcete-li to pochopit, přečtěte si výše uvedený příklad dotazu na schéma hvězd. Můžete také filtrovat data v samotné klauzuli from, pokud v případě, že tam používáte vnitřní / vnější spojení, jak je uvedeno v příkladu schématu SnowFlake.
- Atributy dimenze jsou také zmíněny jako omezení dat v klauzuli where.
- Filtrováním dat podle všech výše uvedených kroků se příslušná data vrátí pro přehledy.
Podle obchodních potřeb můžete přidat (nebo) odebrat fakta, dimenze, atributy a omezení do hvězdného schématu (nebo) dotazu schématu SnowFlake podle výše uvedené struktury. Můžete také přidat poddotazy (nebo) sloučit různé výsledky dotazu a vygenerovat data pro jakékoli složité sestavy.
# 3) Galaxy Diagram
Schéma galaxie je také známé jako Schéma souhvězdí faktů. V tomto schématu sdílí více tabulek faktů stejné tabulky dimenzí. Uspořádání tabulek faktů a tabulek dimenzí vypadá jako kolekce hvězd v modelu schématu Galaxy.
Sdílené dimenze v tomto modelu jsou známé jako Konformované dimenze.
Tento typ schématu se používá pro sofistikované požadavky a pro agregované tabulky faktů, které jsou složitější, aby byly podporovány schématem Star (nebo) schématem SnowFlake. Toto schéma je obtížné udržovat kvůli jeho složitosti.
Příklad schématu Galaxy je uveden níže.
# 4) Schéma hvězdokup
Schéma SnowFlake s mnoha tabulkami dimenzí může při dotazování vyžadovat složitější spojení. Hvězdné schéma s menším počtem tabulek dimenzí může mít větší redundanci. Schéma hvězdokupy proto vstoupilo do obrazu kombinací funkcí výše uvedených dvou schémat.
Hvězdné schéma je základem pro návrh hvězdokupového schématu a několik tabulek základních dimenzí ze hvězdného schématu je zasněžených a to zase vytváří stabilnější strukturu schématu.
Níže je uveden příklad hvězdokupového schématu.
Co je lepší schéma sněhové vločky nebo schéma hvězdy?
Platforma datového skladu a nástroje BI používané ve vašem systému DW budou hrát zásadní roli při rozhodování o vhodném schématu, které má být navrženo. Hvězdy a SnowFlake jsou nejčastěji používaná schémata v DW.
Hvězdné schéma se dává přednost, pokud nástroje BI umožňují podnikovým uživatelům snadno komunikovat se strukturami tabulek pomocí jednoduchých dotazů. Schéma SnowFlake je upřednostňováno, pokud jsou nástroje BI pro podnikové uživatele komplikovanější pro přímou interakci se strukturami tabulek kvůli více spojením a složitým dotazům.
Můžete začít se schématem SnowFlake, ať už chcete ušetřit nějaký úložný prostor, nebo pokud váš systém DW má optimalizované nástroje pro návrh tohoto schématu.
Hvězdné schéma vs Schéma sněhové vločky
Níže jsou uvedeny klíčové rozdíly mezi schématem Hvězda a schématem SnowFlake.
S.No | Plán hvězd | Schéma sněhových vloček |
---|---|---|
jeden | Redundance dat je více. | Redundance dat je menší. |
dva | Úložný prostor pro tabulky dimenzí je více. | Úložný prostor pro tabulky dimenzí je poměrně menší. |
3 | Obsahuje normalizované tabulky dimenzí. | Obsahuje normalizované tabulky dimenzí. |
4 | Jedna tabulka faktů je obklopena několika tabulkami dimenzí. | Tabulka jednoduchých faktů je obklopena několika hierarchiemi dimenzionálních tabulek. |
5 | Dotazy k načtení dat používají přímé spojení mezi faktem a dimenzemi. | Dotazy používají k načtení dat složitá spojení mezi faktem a dimenzemi. |
6 | Doba spuštění dotazu je kratší. | Doba provedení dotazu je více. |
8 | Používá přístup shora dolů. | Používá přístup zdola nahoru. |
Závěr
Doufáme, že jste v tomto kurzu dobře porozuměli různým typům schémat Data Warehouse a jejich výhodám a nevýhodám.
Dozvěděli jsme se také, jak lze dotazovat schéma hvězd a schéma SnowFlake a které schéma je na výběr mezi těmito dvěma a jejich rozdíly.
Zůstaňte naladěni na náš nadcházející výukový program a dozvíte se více o Data Mart v ETL !!
=> Dávejte pozor na sérii školení pro jednoduché datové sklady zde.
Doporučené čtení
- Datové typy Pythonu
- Datové typy C ++
- Výukový program pro testování datových skladů s příklady | Průvodce testováním ETL
- Top 10 populárních nástrojů datového skladu a testovacích technologií
- Dimenzionální datový model v datovém skladu - výuka s příklady
- Výukový program pro testování datového skladu ETL (kompletní průvodce)
- Co je proces ETL (extrakce, transformace, načtení) v datovém skladu?
- Těžba dat: Proces, techniky a hlavní problémy v analýze dat