Vědět o hlavním schématu: Hvězda vs. Sněhová vločka

Photo of author

By etechblogcz

Vícerozměrná schémata: Návrh pro datové sklady

Vícerozměrné schéma slouží jako základní model pro systémy datových skladů.

Primárním cílem těchto schémat je uspokojit potřeby rozsáhlých databází, které jsou optimalizovány pro analytické zpracování (OLAP).

Tato metodologie umožňuje organizaci dat v databázi s důrazem na přehlednost a strukturovanost obsahu. Schéma umožňuje uživatelům analyzovat obchodní a tržní trendy prostřednictvím dotazů.

Vícerozměrná schémata vizualizují data jako datové kostky, což umožňuje jejich zkoumání a modelování z různých úhlů pohledu a dimenzí.

Existují tři hlavní typy schémat, avšak často dochází k záměně mezi schématy hvězda a sněhová vločka. Kvůli této nejasnosti může být obtížné vybrat nejvhodnější model.

Pokud i vy patříte mezi ty, kteří mají s výběrem problém, pojďme si objasnit rozdíly mezi hvězdicovým a sněhovým schématem, počínaje definicemi, výhodami, nevýhodami, diagramy a charakteristikami.

Co je to vícerozměrné schéma?

Schéma se týká logického popisu celé databáze a datových trhů. Zahrnuje názvy a popisy záznamů, včetně agregací a souvisejících datových položek.

Zatímco relační model je běžný pro popis databází, schémata jsou používána pro systémy datových skladů.

Vícerozměrné schéma lze definovat pomocí jazyka DMQL (Data Mining Query Language).

Pro definici datových tržišť a datových skladů se používají dvě základní primitiva: definice dimenze a definice krychle.

Vícerozměrná schémata využívají různé modely. Mezi ně patří:

  • Hvězdicové schéma
  • Schéma sněhové vločky
  • Schéma galaxie

Podívejme se blíže na schémata hvězda a sněhová vločka.

Hvězda vs. Sněhová vločka: Základní principy

Co je hvězdicové schéma?

Hvězdicové schéma představuje architektonický model datového skladu a business intelligence. Využívá jednu tabulku faktů pro uchování měřených a transakčních dat. K tomu se přidružují menší tabulky dimenzí, které uchovávají atributy popisující obchodní data.

Název tohoto schématu odráží jeho strukturu. Tabulka faktů tvoří střed diagramu, kolem které jsou rozloženy tabulky dimenzí, čímž vzniká uspořádání připomínající hvězdu.

Každé hvězdicové schéma zahrnuje jednu tabulku faktů a několik tabulek dimenzí. Tabulky faktů obsahují specifická, měřitelná data, která slouží k analýze, jako například historické výkony, finanční údaje nebo záznamy o prodejích. Mohou reprezentovat jak momentální stav, tak i transakční záznamy.

Hvězdicové schéma je nejjednodušší a nejzákladnější model pro datové sklady a datové trhy. Je efektivní pro zpracování jednoduchých dotazů. Obvykle podporuje business intelligence, ad hoc dotazy, analytické aplikace a online analytické zpracování datových kostek.

Hvězdicové schéma dále podporuje operace jako počítání, průměrování, sčítání a další agregace nad velkým množstvím záznamů. Uživatelé mohou jednoduše filtrovat a seskupovat agregace podle dimenzí. Například dotazy mohou mít formu „najdi všechny prodeje v červnu“ nebo „analyzuj celkový obrat pobočky XYZ v roce 2022“.

Co je schéma sněhové vločky?

Schéma sněhové vločky je multidimenzionální datový model, který je často považován za rozšíření hvězdicového schématu. Tabulky dimenzí v tomto schématu se totiž dále dělí na poddimenze.

Schéma nabývá podoby sněhové vločky, když alespoň jedna tabulka dimenzí není přímo spojena s tabulkou faktů, ale je s ní propojena prostřednictvím dalších tabulek dimenzí.

Schéma sněhové vločky vzniká normalizací tabulek dimenzí v hvězdicovém schématu. Pokud se normalizují všechny tabulky dimenzí, výsledná struktura připomíná sněhovou vločku s tabulkou faktů ve svém středu.

Zjednodušeně řečeno, schéma sněhové vločky tvoří centrální tabulka faktů, která je spojena s tabulkami dimenzí, jež jsou dále spojeny s dalšími tabulkami dimenzí. Toto schéma se používá ke zlepšení výkonu dotazů.

Model je navržen pro rychlé a flexibilní dotazování napříč složitými vztahy a dimenzemi. Je užitečné pro vztahy jeden k mnoha a mnoho k mnoha mezi různými úrovněmi dimenzí.

Díky přísnějšímu dodržování normalizačních standardů se dosahuje vyšší efektivity ukládání dat. Avšak redundance dat je zanedbatelná a výkon může být nižší ve srovnání s denormalizovanými datovými modely, jako je hvězdicové schéma.

Hvězda vs. Sněhová vločka: Jak fungují?

Jak funguje hvězdicové schéma?

Tabulka faktů ve středu hvězdicového modelu uchovává dva typy informací – číselné hodnoty a hodnoty atributů dimenze. Ilustrujme to na příkladu prodejní databáze.

  • Číselné hodnoty jsou jedinečné pro každý řádek a datový bod. Nejsou korelovány ani propojeny s daty z jiných řádků. Jedná se o fakta o dané transakci, jako je celková částka, množství objednávky, přesný čas, čistý zisk, ID objednávky atd.
  • Hodnoty dimenzionálních atributů přímo neuchovávají data, ale ukládají cizí klíče pro daný řádek v dimenzionální tabulce. Na tyto informace se odkazují různé řádky v centrální tabulce, například hodnota data, ID prodejce, ID pobočky, ID produktu atd.

Tabulky dimenzí vždy uchovávají podpůrné informace z tabulky faktů. Každá dimenzionální tabulka se vztahuje ke sloupci tabulky faktů spolu s hodnotou dimenze a ukládá další data o této hodnotě.

Příklad: Tabulka dimenzí zaměstnanců používá jako klíč ID zaměstnance a uchovává informace jako jméno, pohlaví, adresa a telefonní číslo. Podobně tabulka dimenzí produktů ukládá informace včetně názvu produktu, barvy, data prvního uvedení na trh, výrobních nákladů atd.

Jak funguje schéma sněhové vločky?

Představte si design sněhové vločky s centrálním rámečkem a různými spoji k různým bodům. Návrh schématu sněhových vloček se používá pro údržbu datových tržišť a datových skladů.

Je podobný hvězdicovému schématu, ale s mírnými úpravami. Na rozdíl od hvězdicového schématu, schéma sněhové vločky rozšiřuje tabulky dimenzí na subdimenze, které jsou s tabulkami dimenzí spojeny.

Hlavním účelem tohoto modelu je normalizovat denormalizované informace z hvězdicového modelu. Tímto způsobem se řeší běžné problémy spojené s hvězdicovým schématem.

V jádru schématu se nachází tabulka faktů, spojená s informacemi v tabulkách dimenzí. Tyto tabulky se pak dále rozvětvují do tabulek subdimenzí, které obsahují detailní informace popisující tabulku dimenzí.

Příklad: Schéma sněhové vločky může obsahovat tabulku prodejních skutečností a tabulky dimenzí prodejních míst, produktových řad, rodin, produktů a časových dimenzí. Dimenze trhu se skládá ze dvou tabulek dimenzí, kde hlavní tabulkou dimenzí je obchod a tabulkou subdimenze je umístění obchodu. Dimenze produktu má tři tabulky subdimenzí, jmenovitě tabulku subdimenze produktu, řady a rodiny.

Hvězda vs. Sněhová vločka: Charakteristiky

Charakteristika hvězdicového schématu

  • Hvězdicové schéma dokáže filtrovat data z normalizovaných dat, aby vyhovovala požadavkům datového skladu. Pro každý řádek tabulky faktů je generován unikátní klíč z přidružených informací.
  • Umožňuje rychlé výpočty a agregace, jako jsou celkové příjmy a počty prodaných položek na konci měsíce. Tyto detaily lze filtrovat pomocí vhodných dotazů.
  • Jedná se o měření událostí, které zahrnuje konečný počet hodnot sestávajících z cizího klíče. Tyto klíče se vztahují k dimenzionálním tabulkám. Existují různé typy tabulek faktů, které jsou formulovány s hodnotami na atomární úrovni.
  • Tabulka faktů transakce obsahuje údaje o specifických událostech, jako jsou prodeje a svátky.
  • Záznamy zahrnují daná časová období, například informace o účtu na konci roku nebo čtvrtletí.
  • Tabulka dimenzí poskytuje detailní informace o atributech nebo záznamech z centrální tabulky.
  • Uživatel si může tabulku navrhnout sám podle svých potřeb.
  • Hvězdicové schéma lze použít pro shromažďování tabulek snímků.

Charakteristika schématu sněhové vločky

  • Schéma sněhové vločky vyžaduje méně diskového prostoru.
  • Tento model se snadno implementuje díky samostatným a hlavním tabulkám dimenzí.
  • Tabulky dimenzí obsahují alespoň dva atributy pro definici informací o více zrnech.
  • Vzhledem k většímu počtu tabulek je výkon tohoto schématu nižší ve srovnání s hvězdicovým schématem.
  • Schéma sněhové vločky má nejvyšší úroveň integrity dat a nízkou redundanci díky normalizaci.

Hvězda vs. Sněhová vločka: Výhody

Výhody hvězdicového schématu

  • Hvězdicové schéma je nejjednodušší schéma pro datové trhy.
  • Má jednoduchou logiku pro generování reportů. Tato logika je implikována dynamicky.
  • Je navrženo s využitím datových kostek, které se vytváří v online transakčním procesu, což zajišťuje efektivní a účinný provoz.
  • Hvězdicové schéma je charakterizováno jednoduchou logikou a dotazy, které lze snadno extrahovat z transakčního procesu.
  • Nabízí zvýšený výkon pro reportovací aplikace.
  • Je vhodné pro rychlou obnovu dat.
  • Filtrované a vybrané informace se snadno používají v různých scénářích.

Výhody schématu sněhové vločky

  • Schéma sněhové vločky se využívá ke zvýšení výkonu dotazů díky menším nárokům na diskový prostor.
  • Nabízí větší škálovatelnost ve vztazích mezi komponentami a úrovněmi dimenzí.
  • Je snazší na údržbu.
  • Schéma sněhové vločky nabízí rychlé načítání dat.
  • Jedná se o běžné a jednoduché datové schéma pro datové sklady.
  • Pomáhá zvyšovat kvalitu dat.
  • Strukturovaná data snižují riziko problémů s integritou dat.

Hvězda vs. Sněhová vločka: Omezení

Omezení hvězdicového schématu

Má vysoký stupeň denormalizace a celistvosti. Pokud uživatel neaktualizuje data, celý proces se může zhroutit. Bezpečnost a ochrana jsou také omezené. Hvězdicové schéma navíc není tak flexibilní jako analytický model. Nenabízí efektivní podporu různým vztahům.

Omezení schématu sněhové vločky

Hlavním omezením schématu sněhové vločky je dodatečné úsilí potřebné pro údržbu v důsledku rostoucího počtu malých tabulek dimenzí. Mnoho složitých dotazů ztěžuje hledání potřebných dat. Doba zpracování dotazu je navíc delší kvůli většímu počtu tabulek. Tento model je také rigidní a vyžaduje vyšší náklady na údržbu.

Hvězda vs. Sněhová vločka: Rozdíly

Hvězdicové a sněhové schéma jsou typy vícerozměrných schémat, avšak mají odlišné struktury a charakteristiky. První připomíná hvězdu, zatímco druhé připomíná sněhovou vločku, což je patrné z jejich názvů.

V hvězdicovém schématu je mezi centrální tabulkou faktů a tabulkami dimenzí vytvořeno pouze jedno spojení. Naopak, v schématu sněhové vločky je potřeba více spojení pro propojení s tabulkami dimenzí.

Hvězdicové schéma se obecně používá, když tabulka dimenzí obsahuje menší počet řádků, zatímco schéma sněhové vločky je vhodné pro větší tabulky dimenzí.

Následující tabulka porovnává oba modely a ukazuje, jak jsou tabulky dimenzí a tabulka faktů vzájemně propojeny v různých schématech.

Parametr Hvězdicové schéma Schéma sněhové vločky
Diskový prostor Vyžaduje více místa na disku. Vyžaduje méně místa na disku.
Redundance dat Má vysokou redundanci dat. Má nízkou redundanci dat.
Normalizace Tabulky dimenzí jsou denormalizované, což znamená opakování stejné hodnoty v tabulce. Tabulky dimenzí jsou plně normalizované.
Výkon dotazů Provedení dotazů je rychlé, což vede k lepšímu výkonu. Spuštění dotazu trvá déle než u hvězdicového schématu, takže je méně výkonné.
Složitost dotazu Složitost dotazu je nízká. Složitost dotazu je vyšší než u hvězdicového schématu.
Údržba Vzhledem k vysoké redundanci dat je údržba hvězdicového schématu trochu obtížná. Vzhledem k nízké redundanci dat je snadné udržovat a měnit schéma sněhové vločky.
Integrita dat Integrita dat je vysoká, protože data jsou ukládána redundantně, kde existuje více kopií v tabulkách dimenzí. Integrita dat je nižší, protože jsou tabulky dimenzí zcela normalizovány.
Hierarchie Hierarchie pro tabulky dimenzí jsou uloženy přímo v tabulce dimenzí. Hierarchie jsou rozděleny do samostatných tabulek dimenzí.
Návrh DB Má jednoduchý návrh DB. Má složitější návrh DB.
Tabulka faktů Tabulku faktů obklopuje více tabulek dimenzí. Tabulka faktů je obklopena tabulkami dimenzí, které jsou také obklopeny tabulkami subdimenzí.
Nastavení schématu Hvězdicové schéma lze snadno navrhnout a nastavit, protože je reprezentováno přímými vztahy. Nastavení schématu sněhových vloček je poněkud složitější.
Zpracování kostky Zpracování kostky je rychlejší. Kvůli složitému spojení je zpracování kostky pomalejší.
Cizí klíče Má minimální počet cizích klíčů. Má maximální počet cizích klíčů.

Závěr

Hvězdicové i sněhové schéma jsou užitečná v různých odvětvích. Rozhodnutí, které z nich je lepší, závisí na konkrétních požadavcích dané situace.

Schéma sněhové vločky představuje rozšíření hvězdicového schématu, kde se normalizují tabulky dimenzí v hvězdicovém schématu.

Hvězdicové schéma má jednoduchý design, rychlejší zpracování dotazů a snadné nastavení. Na druhou stranu, schéma sněhové vločky je snazší na údržbu, zabírá méně místa na disku a je méně náchylné k problémům s integritou dat.

Pokud potřebujete jednoduchý design, méně cizích klíčů a rychlé zpracování datových kostek, hvězdicové schéma může být vhodnější volbou. Pokud však potřebujete méně místa na disku, nižší redundanci dat a snadnější údržbu, schéma sněhové vločky může být vhodnější.

Doporučujeme také prozkoumat možnosti grafových databází.