Schéma sněhové vločky

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Diagram obecného schématu sněhové vločky Schéma sněhové vločky je normalizované hvězdicové schéma, jsou zde normalizovány tabulky dimenzí. Ve schématu jsou dimenze uspořádány v hierarchiích.

Pokud jsou tabulky nakresleny s tabulkou faktů ve středu a související tabulky dimenzí vedle sebe, následný obrázek vypadá jako sněhová vločka. Z toho plyne název Schéma sněhové vločky.

...
...

Model

Každé schéma sněhové vločky má vždy entitu faktu. Jeden datový sklad se může skládat z několika entit faktů, a tedy i z více hvězdicových schémat a/nebo sněhových vloček. +more Jeden datový model může obsahovat více tabulek faktů, a tedy i více hvězdicových schémat. Jednotlivé tabulky dimenze mohou také ukazovat na více tabulek faktů.

Schémata sněhových vloček popisují stejné typy datových modelů jako hvězdicová schémata, s tím rozdílem, že jsou normalizovaná. Normalizace může být částečná nebo úplná podle pravidel třetí normalizační podoby.

Schémata 3. normální formy

Schéma 3. normální formy je v podstatě transakční nebo OLTP struktura, která zajišťuje malé množství vysoce souběžně přístupných (sdílených) datových struktur. +more Na rozdíl od schémat hvězdic a vločky jsou schémata 3. normální formy pro datové sklady obecně neúčinná a pokud je to možné, je nejlepší se jim vyhnout.

Tabulky faktů

Schéma sněhové vločky má centrální tabulku faktů a tabulky dimenzí. Pro každou dimenzi a její další úroveň obsahuje další tabulky dimenzí. +more To znamená, že nedojde k redundanci dat, což může být v některých situacích výhodné. Hierarchie jsou tedy v dimenzích explicitně vyjádřeny.

Tabulky dimenzí

Tabulky dimenzí obsahují primární klíč a sloupec obsahující textové popisy hodnot úrovní, případně další sloupce pro charakteristiku vlastností dané úrovně. Tabulky pro nižší úrovně dále obsahují cizí klíč k úrovni vyšší.

U dimenzí ve schématu sněhové vločky je hierarchie tvořena řetězcem provázaných tabulek kardinalitou 1:N. Redundance dat je tímto snížena a můžeme hovořit o normalizované struktuře.

Charakteristické vlastnosti

Netechnickým uživatelům může porozumění normalizovaným strukturám způsobovat problémy, a tím se celá struktura stává neužitečnou. * Schéma sněhové vločky je v rozporu s výkonem datového skladu. +more Efektivita se nejlépe využije při použití malého počtu tabulek ve hvězdicových schématech. * Schéma sněhové vločky odstraní duplikaci dat z dimenzí hvězdicového schématu normalizací buď částečně, nebo úplně. * Pomáhají uspořádat dimenze o něco lépe z matematické perspektivy tak, že ušetří místo na disku. Místo na disku je dnes ale poměrně levná záležitost. * Schéma sněhové vločky vede k vyššímu počtu tabulek a tím i v počtu spojení v kódu SQL. Pokud se v kódu SQL vyskytuje více spojení v dotazech, než je nutné, následné dotazy jsou složité a neefektivní. Čím více spojení bude mít datový sklad, tím horší bude jeho výkon. * Schéma sněhové vločky se na druhou stranu pokouší normalizovat rozměry hvězdného schématu a vytvořit několik hierarchií dimenzí. Někdy je použití schémat vloček nevyhnutelné.

Příklad

Databázový model schématu sněhové vločky demonstrovaného příkladu Ve schématu databáze je znázorněn model pro záznam dat ze sklizní pro zemědělský podnik. +more V tabulce FA_Sklizeno se uchovávají záznamy o sklizních. Konkrétně záznamy o počtu sklizených tun a výměře sekání. Dále jsou zde hodnoty cizích klíčů pro dimenze DIM_Cas, DIM_Pole, DIM_Plodina. DIM_Cas je časová dimenze; jedná se o speciální dimenzi generovanou nejčastěji automaticky. Pro tuto dimenzi není v praxi obvyklé, aby se například jednotlivé dny, nebo měsíce umísťovaly do dimenzí vyšších úrovní. Pro DIM_Pole, DIM_Plodina jsou přes cizí klíč propojeny s dimenzemi vyšší úrovně.

Bylo náhodně vygenerováno 500 záznamů pro dimenzi DIM_Pole a DIM_Plodina. Z těchto záznamů byly vyselektovány jedinečné záznamy a byly umístěny do dimenzí vyšší úrovně: Pro dimenzi DIM_Odruda 93 a pro dimenzi DIM_Katastr 131. +more V tabulce faktů FA_Sklizeno bylo vygenerováno 500 000 záznamů.

Počet záznamů500 0001 00050050013193

Naplněné schéma bylo vloženo do modelu aplikace Power BI Desktop. Následně byl vytvořen jednoduchý vizuál, do kterého byla zadána data pro: součet hodnot sklizní, názvů odrůd a katastrů. +more Vizuál byl vyfiltrován rokem z časové dimenze. Poté byl spuštěn Analyzátor výkonu a byla provedena aktualizace vizuálu 10x za sebou.

Časové jednotky v řádku pro Dotaz DAX v Analyzátor výkonu znamenají: „Pokud byl požadován dotaz DAX, jedná se o čas mezi tím, kdy vizuál odešle dotaz, a okamžikem, kdy služba Analysis Services vrátí výsledky.“

Minimální hodnotaMaximální hodnotaPrůměrná hodnotaMinimální hodnotaMaximální hodnotaPrůměrná hodnotaRozdíl průměrů
8ms10ms9ms13ms14ms13msstyle ="background: #ff794d;" | 4ms

I pro hvězdicové schéma bylo použito stejné množství dat, s tím rozdílem, že u hvězdy nebyla data transponována do vyšších úrovní. Při porovnání dat z tabulek pro obě schémata a jejich rozdílu, je patrné, že hvězdicové schéma dosahuje lepšího výkonu než schéma sněhové vločky. +more Je nutné brát v potaz, že množství dat v tomto příkladu je zanedbatelné oproti reálným datům. Proto je nutné obzvlášť dbát na architekturu datového modelu, aby byly dotazy vykonávány v co nejkratším čase.

Odkazy

Reference

Kategorie:Databáze

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top