Schéma sněhové vločky v modelu datového skladu
⚡ Chytré shrnutí
Schéma sněhové vločky v modelování datového skladu uspořádává normalizované tabulky dimenzí, které se větví z centrální tabulky faktů a připomínají sněhovou vločku. Rozšiřuje schéma hvězdy, snižuje redundanci dat a organizuje hierarchie napříč několika souvisejícími vyhledávacími tabulkami.
Co je schéma sněhové vločky?
A Schéma sněhové vločky v datovém skladu je logické uspořádání tabulek ve vícerozměrné databázi, jehož diagram vztahů mezi entitami (ER) připomíná tvar sněhové vločky. Je to rozměrový model ve kterém centrální tabulka faktů propojuje s tabulkami dimenzí a tyto tabulky dimenzí jsou dále rozděleny na související tabulky dílčích dimenzí.
Schéma sněhové vločky je rozšířením schématu hvězdy. Zatímco schéma hvězdy uchovává každou dimenzi v jedné ploché tabulce, schéma sněhové vločky tyto dimenze normalizuje a rozděluje opakující se skupiny dat do dalších vyhledávacích tabulek. Tato normalizace odstraňuje redundanci a vytváří větvenou, hierarchickou strukturu, která dala schématu jeho název.
Příklad schématu sněhové vločky
V následujícím příkladu schématu sněhové vločky se tabulka faktů o prodeji nachází uprostřed, obklopená dimenzemi, jako jsou Produkt, Datum a Prodejna. Místo ukládání každého atributu do jedné tabulky dimenzí jsou geografické informace normalizovány tak, aby se Země přesunula do samostatné tabulky.

Zde dimenze Store odkazuje na tabulku City, tabulka City odkazuje na tabulku State a tabulka State odkazuje na tabulku Country. Každá hodnota je uložena pouze jednou a propojena cizím klíčem, takže název země se nikdy neopakuje v milionech řádků. Tato vrstvená normalizace odlišuje schéma sněhové vločky od schématu ploché hvězdy.
Charakteristika schématu sněhové vločky
Schéma sněhové vločky má několik určujících charakteristik:
- Spotřebovává menší místo na disku, protože normalizované tabulky dimenzí neukládají opakované hodnoty.
- Nové dimenze lze do schématu přidat s relativně malým úsilím.
- Výkon dotazů se může snížit, protože načítání dat vyžaduje propojení mnoha tabulek.
- Vyžaduje více úsilí na údržbu, protože je nutné spravovat větší počet vyhledávacích tabulek.
Jak navrhnout schéma sněhové vločky
Návrh schématu sněhové vločky začíná stejně jako jakýkoli dimenzionální model a poté se přidává krok normalizace. Cílem je identifikovat obchodní proces, který chcete analyzovat, nejprve jej modelovat jako hvězdicové schéma a poté normalizovat dimenze, které obsahují hluboké hierarchie. Postupujte podle následujících kroků:
- Identifikujte obchodní proces a obilí. Rozhodněte, co představuje jeden řádek tabulky faktů, například jednu prodejní transakci, a definujte číselné ukazatele nebo fakta, o kterých chcete vykázat informace.
- Vytvořte centrální tabulku faktů. Sečtěte číselné míry spolu s cizími klíči, které odkazují na jednotlivé dimenze; dohromady tyto cizí klíče obvykle tvoří složený primární klíč.
- Definujte tabulky dimenzí. Vytvořte jednu tabulku pro každou popisnou dimenzi, například Produkt, Zákazník, Datum a Prodejna, a každé z nich přiřaďte náhradní primární klíč.
- Normalizujte hierarchie. Rozdělte každou dimenzi, která obsahuje opakující se atributy, do tabulek dílčích dimenzí, například přesunutím kategorie z dimenze Produkt nebo města, státu a země z dimenze Obchod.
- Propojte tabulky pomocí cizích klíčů. Propojte každou dílčí dimenzi zpět s její nadřazenou tabulkou, aby větve tvořily jasné hierarchie typu jedna k mnoha, které připomínají sněhovou vločku.
- Ověřte a otestujte pomocí dotazů. Spusťte reprezentativní dotazy pro vytváření sestav, abyste ověřili, že spojení vracejí správné výsledky a že celkový výkon zůstává přijatelný.
Protože návrh normalizuje data směrem k třetí normální formě, je třeba jasně zdokumentovat cesty spojení, aby analytici pochopili, jak se v jednotlivých větvích orientovat. Po definované struktuře je vhodné zvážit výhody schématu oproti jeho nákladům.
Výhody schématu sněhové vločky
Schéma sněhové vločky nabízí řadu výhod:
- Jeho hlavní výhodou je menší prostor na disku, protože spojování menších normalizovaných vyhledávacích tabulek zabraňuje duplikaci dat dimenzí.
- Poskytuje větší škálovatelnost ve vztazích mezi komponentami a úrovněmi dimenzí.
- Odstraňuje redundanci, což zlepšuje integritu dat a usnadňuje údržbu modelu.
- Popisný atribut se aktualizuje pouze na jednom místě, což snižuje riziko nekonzistentních dat.
Nevýhody schématu sněhové vločky
Design s sebou nese také kompromisy, které je třeba zvážit:
- Normalizovaná struktura zvyšuje údržbu potřebnou ke správě mnoha souvisejících tabulek.
- Složité dotazy, které zahrnují více spojení, mohou být obtížné napsat a pochopit.
- Větší počet tabulek znamená více spojení, což prodlužuje dobu provádění dotazů.
- Firemní uživatelé často shledávají model větvení obtížnějším pro orientaci než jednoduché hvězdicové schéma.
Schéma sněhové vločky vs. schéma hvězdy
Schéma sněhové vločky a hvězdné schéma jsou dva nejběžnější vícerozměrné návrhy v datových skladech a klíčový rozdíl mezi nimi spočívá v normalizaci. Hvězdicové schéma uchovává každou dimenzi v jedné ploché, denormalizované tabulce pro maximální rychlost dotazů, zatímco sněhové schéma normalizuje tyto dimenze do několika souvisejících tabulek, aby se ušetřilo místo a chránila integrita dat. Z tohoto důvodu tato dvě schémata vyhovují různým prioritám.
| Vzhled | Hvězdné schéma | Schéma sněhové vločky |
|---|---|---|
| Tabulky kót | Denormalizované, jedna tabulka na dimenzi | Normalizováno do tabulek dílčích dimenzí |
| Skladování | Zabírá více místa kvůli redundanci | Zabírá méně místa, žádná redundance |
| Výkon dotazu | Rychlejší, méně spojení | Pomalejší, více spojení |
| Složitost dotazu | Jednoduché napsání | Složitější |
| Nejvhodnější pro | Rychlý reporting a BI | Velké, hierarchické dimenze |
Stručně řečeno, zvolte hvězdicové schéma, pokud je nejdůležitější rychlost dotazů a jednoduchost vytváření sestav, a zvolte sněhové schéma, pokud je prioritou efektivita úložiště, čisté hierarchie a nízká redundance dat. Mnoho reálných úložišť kombinuje oba vzory v závislosti na velikosti a hloubce každé dimenze.
Kdy použít schéma sněhové vločky
Schéma sněhové vločky není vždy správnou volbou, proto je vhodné přizpůsobit návrh pracovní zátěži a potřebám reportingu. Obvykle funguje nejlépe v následujících situacích:
- Dimenze jsou velmi velké a obsahují mnoho opakujících se atributů, které při denormalizaci plýtvají úložným prostorem.
- Dimenze mají hluboké, dobře definované hierarchie, jako například region, země, stát a město, které se přirozeně mapují do samostatných tabulek.
- Integrita a konzistence dat jsou pro projekt důležitější než rychlost zpracování dotazů.
- Náklady na úložiště jsou skutečným problémem a úspora místa na disku v rámci obrovských dimenzních tabulek je významná.
- Model se křičí OLAP nástroje, které dokáží efektivně procházet normalizovanými hierarchiemi.
Naopak, pokud je prioritou rychlé a jednoduché vytváření reportů pro obchodní analytiky, je obvykle vhodnější hvězdicové schéma nebo hybridní design hvězdokupy. Mnoho architektury datových skladů záměrně kombinují oba přístupy, aby vyvážily rychlost a úložiště.
Co je to schéma galaxie?
A schéma galaxie obsahuje dvě nebo více tabulek faktů, které mezi sebou sdílejí tabulky dimenzí. Nazývá se také schéma konstelace faktů a protože jej lze vnímat jako soubor hvězd, vysloužilo si název schéma galaxie.

Jak vidíte ve výše uvedeném příkladu, existují dvě tabulky faktů:
- Revenue
- Produktový vývoj
Ve schématu Galaxy se dimenze sdílené mezi tabulkami faktů nazývají konformní dimenze.
Charakteristika schématu galaxií
Schéma galaxie má následující charakteristiky:
- Dimenze jsou rozděleny do samostatných dimenzí na základě různých úrovní hierarchie.
- Například pokud má geografie čtyři úrovně hierarchie – region, zemi, stát a město – pak by schéma galaxie mělo mít čtyři dimenze.
- Tento typ schématu je možné vytvořit rozdělením jednoho hvězdicového schématu na více hvězdicových schémat.
- Dimenze v tomto schématu jsou velké a musí být sestaveny podle úrovní hierarchie.
- Schéma je užitečné pro agregaci tabulek faktů pro podporu lepší analýzy a porozumění.
Co je Star Cluster Schéma?
Schéma sněhové vločky obsahuje plně rozvinuté hierarchie, které mohou zvyšovat složitost a vyžadovat další spojení. Hvězdné schéma naopak obsahuje plně sbalené hierarchie, což může vést k redundanci. Nejlepším řešením je často rovnováha mezi těmito dvěma návrhy, známá jako schéma hvězdy. Cluster Schéma.

Překrytíping Dimenze se v hierarchiích zobrazují jako rozvětvení. K rozvětvení dochází, když entita funguje jako rodič ve dvou různých dimenzionálních hierarchiích. Tyto entity rozvětvení jsou poté identifikovány jako klasifikace se vztahy typu jedna k mnoha, což omezuje počet dalších tabulek, které návrh vytváří.

