Hvězdicové schéma
Author
Albert FloresDiagram obecného hvězdicového schématu Hvězdicové schéma je nejjednodušší schéma datového skladu. Ve tvaru hvězdy se skládá z jediné centrální tabulky faktů propojené s periferními dimenzemi. Tabulka faktů představuje jeden typ obchodního měření, který je složen z odkazů na jeho popisné dimenze, ze souboru obvykle číselných a doplňkových opatření.
Název odkazuje na pozorování, že pokud jsou tabulky nakresleny tak, že tabulka faktů je ve středu a tabulky dimenzí kolem ní, výsledný obrázek vypadá jako hvězda.
Model
Každé schéma hvězdy 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ů.
Tabulka faktů
Hvězdicové schéma obsahuje jednu nebo velmi málo velkých tabulek faktů. Tabulky faktů obsahují transakční historie, a tak mohou mít v datovém skladu miliardy řádků. +more Pro každou transakční míru má tabulka určený jeden sloupec. Každý řádek v tabulce faktů se označuje jako tzv. multidimenzionální fakt. Je rozumné co nejvíce statických dat uložených v tabulkách faktů přesunout do dimenzí. Poté bude pro každou dimenzi umístěn v tabulce faktů jeden sloupec obsahující cizí klíč odkazující na primární klíč dimenze.
Tabulka dimenzí
Tabulky dimenzí obsahují statická data popisující záznamy v tabulkách faktů. Každá tabulka má klíčový sloupec a jeden sloupec pro všechny úrovně dimenze. +more Sloupec pro úroveň obsahuje textové popisy hodnot. Tabulka dimenzí tedy obsahuje jeden sloupec pro každou vlastnost úrovně v dimenzi. Dimenzionální tabulky budou zabírat malý zlomek úložného prostoru oproti tabulkám faktů. Jejich velikost je v rozmezí desítek, stovek tisíc.
Charakteristické vlastnosti:
Hvězdicová schémata představují velmi jednoduchý model, kde pro každou dimenzi existuje pouze jedna úroveň, která je spojena s tabulkou faktů. * Hvězdicová schémata obsahují méně dimenzí než schémata sněhové vločky. +more * Hvězdicové schéma je velmi snadné pro pochopení. Uživatele není nutné zatěžovat všemi složitými vztahy mezi tabulkami relačního datového modelu a vícerozměrných hierarchií. Pro netechnické uživatele se proto Hvězdné schéma stává snadněji pochopitelné. * Hvězdicová schémata denormalizují více dimenzí do jednotlivých entit. Proto v datech vzniká větší redundance dat. Jelikož však rozměry obvykle zabírají pouze 1-5 % z celkového úložiště požadovaného pro hvězdné schéma, redundance není prostorově problém, nezpůsobuje problémy s výkonem. * Hvězdicová schémata vyžadují méně spojení jednoduše proto, že existuje méně tabulek. Čím menší je počet tabulek, tím menší a méně komplexní spojení budou, a nakonec budou rychlejší dotazy.
Příklad
Databázový model hvězdicového schématu demonstrovaného příkladu Ve schématu databáze níže 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. Ve všech dimenzích je na první pohled vidět, že budou obsahovat denormalizovaná data, konkrétně například dimenze DIM_Pole obsahuje názvy katastrů v textové podobě.
Bylo náhodně vygenerováno 500 záznamů pro dimenzi DIM_Pole a DIM_Plodina. Pro časovou dimenzi DIM_Cas bylo vygenerováno 1 000 záznamů. +more V tabulce faktů FA_Sklizeno bylo vygenerováno 500 000 záznamů.
Počet záznamů | 500 000 | 1 000 | 500 | 500 |
---|
Č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í hodnota | Maximální hodnota | Průměrná hodnota | Minimální hodnota | Maximální hodnota | Průměrná hodnota | Rozdíl průměrů |
---|---|---|---|---|---|---|
8ms | 10ms | 9ms | 13ms | 14ms | 13ms | style ="background: #3ccd00;" | 4ms |
I pro schéma sněhové vločky bylo použito stejné množství dat, s tím rozdílem, že u vločky byla data transponována do dimenzí vyšší ú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.