Co je hvězdné schéma v modelování datového skladu?
⚡ Chytré shrnutí
Hvězdné schéma v modelování datového skladu umisťuje centrální tabulku faktů do jádra okolních tabulek dimenzí, čímž vytváří denormalizovaný design ve tvaru hvězdy, který zjednodušuje analytické dotazy, zrychluje tvorbu sestav a umožňuje práci s OLAP kostkami napříč platformami business intelligence.

Co je hvězdné schéma?
A hvězdné schéma V datovém skladu existuje modelovací struktura, ve které je jedna centrální tabulka faktů propojena s řadou přidružených tabulek dimenzí. Nazývá se hvězdicové schéma, protože rozvržení připomíná hvězdu, kde je tabulka faktů umístěna uprostřed a tabulky dimenzí se paprskovitě rozbíhají ven jako body.
Hvězdné schéma je nejjednodušší typ schématu datového skladu a je také známé jako schéma hvězdného spojení. Protože jeho tabulky dimenzí jsou denormalizované, je model optimalizován pro dotazování velmi velkých datových sad, což z něj činí běžnou volbu pro dimenzionální modelování a hlášení.
Co je to vícerozměrné schéma?
A vícerozměrné schéma je navržen speciálně pro modelování systémů datových skladů. Tato schémata řeší jedinečné potřeby velmi rozsáhlých databází, které jsou vytvořeny pro analytické účely. OLAP spíše než pro rutinní zpracování transakcí.
Typy schémat datového skladu: Existují tři hlavní typy vícerozměrných schémat a každý z nich nabízí své vlastní výhody.
- Hvězdné schéma – centrální tabulka faktů přímo propojená s denormalizovanými tabulkami dimenzí.
- Schéma sněhové vločky – rozšíření hvězdicového schématu, ve kterém jsou dimenze normalizovány do dalších tabulek dílčích dimenzí.
- Schéma galaxie – nazývaná také konstelace faktů, používá více tabulek faktů, které sdílejí společné tabulky dimenzí.
Protože schéma sněhové vločky staví přímo na hvězdicovém schématu, je užitečné porovnat oba modely předtím, než se budeme zabývat podrobným příkladem hvězdicového schématu.
Schéma hvězdy vs. schéma sněhové vločky
Hvězdné schéma a schéma sněhové vločky Oba systémy organizují data kolem tabulek faktů a dimenzí, ale liší se ve způsobu ukládání dimenzí. Hvězdné schéma uchovává každou dimenzi v jedné denormalizované tabulce, zatímco sněhové schéma normalizuje tyto dimenze do několika souvisejících tabulek.
- Struktura: Hvězdné schéma je ploché a jednoduché; schéma sněhové vločky větví dimenze do dílčích dimenzí.
- Rychlost dotazu: Hvězdicová schémata potřebují méně spojení, takže dotazy obvykle běží rychleji a SQL zůstává jednodušší.
- Skladování: Schémata sněhové vločky odstraňují redundanci, takže zabírají méně místa, ale zvyšují složitost návrhu.
- Integrita dat: Normalizované rozměry sněhové vločky lépe vynucují integritu, zatímco denormalizované rozměry hvězdy upřednostňují výkon.
- Snadné použití: Hvězdné schéma je pro analytiky jednodušší na pochopení a rychlejší na údržbu, zatímco sněhové schéma vyžaduje pečlivější návrh.
V praxi týmy často volí hvězdicové schéma pro datová tržiště a dashboardy, které vyžadují rychlé a jednoduché reportování, a sněhové schéma, když je důležitější úspora úložiště a přísná konzistence.
Příklad hvězdicového schématu
V následujícím příkladu hvězdicového schématu se faktická tabulka nachází uprostřed a obsahuje klíče ke každé tabulce dimenzí, jako například Dealer_ID, Model_ID, Date_ID, Product_ID a Branch_ID, spolu s měřitelnými atributy, jako jsou prodané jednotky a tržby.

Každá tabulka okolních dimenzí přidává k těmto ukazatelům popisný kontext, takže jeden dotaz může seskupit nebo filtrovat fakta o prodeji podle prodejce, modelu, data, produktu nebo pobočky, aniž by bylo nutné propojit jakékoli další tabulky.
Tabulky faktů
Tabulka faktů v hvězdicovém schématu obsahuje fakta a je propojena s dimenzemi. Tabulka faktů obsahuje dva typy sloupců:
- Sloupec, který ukládá fakta nebo míry.
- Cizí klíče, které odkazují na každou tabulku dimenzí.
Primární klíč faktové tabulky je obecně složený klíč složený ze všech cizích klíčů, které tvoří tabulku.
Tabulky faktů mohou obsahovat fakta na úrovni detailů nebo agregovaná fakta. Tabulky faktů, které obsahují agregovaná fakta, se často nazývají souhrnné tabulky a obvykle obsahují fakta, která již byla agregována na určité úrovni.
Tabulky rozměrů
Dimenze je struktura, která kategorizuje data do hierarchie. Dimenze bez hierarchií a úrovní se nazývá plochá dimenze nebo seznam. Primární klíč každé tabulky dimenzí je součástí složeného primárního klíče tabulky faktů.
Atribut dimenze je popisný textový atribut, který pomáhá popsat dimenzionální hodnotu, například název produktu nebo město. Protože tabulky dimenzí ukládají tento popisný kontext spíše než transakční události, jsou faktické tabulky obvykle mnohem větší než tabulky dimenzí.
Jak navrhnout hvězdicové schéma
Návrh hvězdicového schématu se řídí přístupem dimenzionálního modelování, který zpopularizoval Ralph Kimball. Cílem je uspořádat obchodní ukazatele kolem jasných, opakovaně použitelných dimenzí, aby bylo možné na hotový model snadno a rychle generovat dotazy a reporty. Níže uvedených pět kroků popisuje proces, kterým se řídí většina projektů dimenzionálního modelování, a to od obchodní otázky nejvyšší úrovně až po tabulky fyzikálních faktů a dimenzí.
- Identifikujte obchodní proces: Vyberte aktivitu, kterou chcete analyzovat, například prodej, expediciping, nebo zásoby. Toto rozhodnutí definuje, co bude tabulka faktů měřit.
- Deklarujte obilí: Určete úroveň detailů, kterou každý řádek faktů představuje, například jeden řádek na položku řádku, na transakci nebo na den. Jasná zrnitost udržuje model konzistentní.
- Určete rozměry: Uveďte popisný kontext potřebný k rozdělení faktů, jako například produkt, zákazník, prodejce, pobočka a datum. Každý z nich se stane dimenzní tabulkou atributů.
- Identifikujte fakta: Určete číselné ukazatele, které chce podnik track, například prodané jednotky, tržby nebo náklady, a umístěte je do centrální tabulky faktů.
- Postav hvězdu: Propojte tabulku faktů s každou dimenzí pomocí cizích klíčů, uchovávejteping dimenze denormalizované, takže diagram tvoří jednu centrální tabulku faktů obklopenou svými dimenzemi.
Po vytvoření hvězdy přidejte ke každé dimenzi náhradní klíč, ujistěte se, že každá tabulka faktů má přidruženou dimenzi data a ověřte, že všechna fakta se nacházejí ve stejném pořadí. Je také dobrým zvykem nejprve načíst atomická data nejnižší úrovně, protože souhrnné tabulky lze vždy odvodit později. Dodržování těchto pravidel udržuje schéma optimalizované pro vysoký výkon a jednoduchost. datový sklad podávání zpráv.
Charakteristika hvězdného schématu
- Každá dimenze v hvězdicovém schématu je reprezentována pouze jednou tabulkou dimenzí.
- Každá tabulka dimenzí obsahuje svou vlastní sadu atributů.
- Tabulka dimenzí je spojena s tabulkou faktů pomocí cizího klíče.
- Tabulky dimenzí nejsou vzájemně propojeny.
- Tabulka faktů obsahuje klíče a míry.
- Hvězdné schéma je snadno pochopitelné a poskytuje optimální využití disku.
- Tabulky dimenzí nejsou normalizovány. Například ve výše uvedeném příkladu nemá Country_ID samostatnou vyhledávací tabulku Country tak, jak OLTP design by.
- Schéma je široce podporováno nástroji BI.
Výhody hvězdicového schématu
Hvězdné schéma nabízí několik výhod, díky nimž je oblíbeným výchozím bodem pro návrh datových skladů:
- Hvězdicová schémata používají při načítání dat z vysoce normalizovaných transakčních zdrojů jednodušší logiku spojení než jiná schémata.
- Hvězdné schéma zjednodušuje běžnou logiku obchodního reportingu, jako je reporting za období po období a k datu splatnosti.
- Hvězdná schémata jsou široce používána systémy OLAP k efektivnímu vytváření krychlí a hvězdicové schéma může sloužit jako zdroj bez návrhu struktury krychle ve většině hlavních systémů OLAP.
- Povolením specifického ladění výkonu, které lze aplikovat na dotazy, může procesor dotazů nabídnout lepší plány provádění.
Nevýhody hvězdicového schématu
- Protože schéma je vysoce denormalizované, není integrita dat silně vynucována.
- Není flexibilní, pokud jde o pokročilé analytické potřeby.
- Hvězdová schémata neposilují vztahy typu „mnoho k mnoha“ mezi obchodními entitami.
Kdy použít hvězdicové schéma
Hvězdné schéma je správnou volbou, když je rychlý a předvídatelný výkon dotazů důležitější než úspora úložného prostoru. Protože model udržuje své tabulky dimenzí denormalizované a počet spojení nízký, je vhodný pro analytické úlohy, kde firemní uživatelé opakovaně spouštějí podobné sestavy, dashboardy a agregace nad velkými objemy historických dat.
Mezi typické situace, kdy je hvězdicové schéma silnou volbou, patří:
- Datové trhy: Resortní datové trhy s jednoduchými a dobře srozumitelnými vztahy těží z čitelné struktury.
- Dashboardy BI: Obchodní inteligence Nástroje se čistě mapují na hvězdicová schémata, takže sestavy a vizuály se vytvářejí rychle.
- OLAP kostky: Hvězdová schémata jsou přirozeným zdrojem pro OLAP kostky, agregaci a analýzu metodou slice-and-dice.
Pokud se priorita místo toho přesune k minimálnímu úložišti, striktní integritě dat nebo hlubokým, proměnlivým hierarchiím, může lépe posloužit schéma ve tvaru sněhové vločky nebo normalizovanější návrh. Mnoho týmů dokonce oba tyto dva prvky kombinuje, začíná hvězdicovým schématem a normalizuje pouze dimenze, které to skutečně vyžadují.
