Zpět na blog Architektura

Hvězdicové schéma, nebo jedna velká tabulka?

Dobré reporty nezačínají u grafu, ale u modelu dat. Proč to tak je a jak vybíráme přístup podle nástroje a jádra vašeho byznysu.

Když firma řeší reporting, většinou začne u grafu: „chci koláč podle kategorií” nebo „chci křivku tržeb”. Jenže dobrý report nezačíná u grafu, ale u modelu dat. Jak data uspořádáme pod kapotou rozhoduje o tom, jestli si pak naklikáte jakýkoliv pohled za pár sekund, nebo jestli každá nová otázka znamená den práce. A k modelu přistupujeme s rozmyslem — ne podle šablony, ale podle toho, co reálně měříte.

Co je datové modelování

Datové modelování je prostě způsob, jak data uspořádáme do tabulek, aby se nad nimi dobře a rychle reportovalo. Stejná data jdou poskládat desítkou způsobů — a většina z nich vede k pomalým, křehkým reportům. Cílem modelu je opak: aby se metriky počítaly správně, rychle a aby šly filtrovat a seskupovat, jak vás zrovna napadne.

Je to vrstva, která navazuje na medailonovou architekturu — konkrétně na gold vrstvu, ze které čte reporting.

Začínáme od jádra byznysu: co je „zrno”

Než postavíme jedinou tabulku, ptáme se: co je základní měřitelná jednotka vaší firmy? Tomu se odborně říká „zrno” (anglicky grain) — je to úroveň detailu, na které jeden řádek tabulky odpovídá jedné události.

U e-shopu je to typicky:

Volba zrna není detail — určuje, co všechno půjde z dat spočítat. Když si zrno určíme jako položku objednávky, dostaneme se na úroveň jednotlivých produktů a jejich marží. Když jako objednávku, vidíme spíš chování zákazníka a velikost košíku. Proto se nejdřív bavíme o tom, co je jádro vašeho byznysu a jaká je hlavní metrika — a teprve podle toho stavíme celý model.

Fakty a dimenze: měření vs. kontext

Dobrý model rozděluje data na dva typy tabulek:

Proč to dělit? Protože tím získáte flexibilní reporting. Fakt (třeba tržby) si můžete naservírovat podle libovolné dimenze: tržby podle měsíce, podle kategorie, podle kanálu, podle kraje — a všechny kombinace zároveň. Nemusíte předem tušit, na co se zeptáte. Model je připravený na otázky, které vás teprve napadnou.

Dva přístupy podle nástroje

Tady je důležitá pointa: nevnucujeme jeden model na všechno. Jiný tvar dat se hodí do Power BI, jiný do Supersetu. Vybíráme podle nástroje a use-case.

Hvězdicové schéma (star schema) pro Power BI

Hvězdicové schéma je standard pro Power BI. Funguje přesně tak, jak zní: fakt je uprostřed, dimenze kolem něj jako paprsky hvězdy. Power BI je na tomhle tvaru postavené — filtruje a seskupuje pak rychle a flexibilně, protože model přesně odpovídá tomu, jak nástroj uvnitř počítá.

Tady se projeví náš „chytrý” přístup k modelování:

Tohle je dimenzionální modelování v praxi — přístup, jehož kořeny zmiňujeme i v článku odkud se vzala medailonová architektura.

Ploché (široké) tabulky pro Superset

Superset jde jinou cestou. Tady se nám často víc vyplatí jedna plochá, široká tabulka — všechno potřebné (fakt i kontext) je předem spojené do jedné denormalizované tabulky.

„Denormalizace” zní složitě, ale je to prostý nápad: kontext, který by jinak byl v samostatných dimenzích, zkopírujeme rovnou k číslům. Výsledná tabulka má víc sloupců a trochu se opakuje, zato se nad ní dotazuje čistě přes SQL, bez spojování (joinů) za běhu. A protože Superset je nástroj postavený nad SQL, s plochou tabulkou pracuje skvěle — pro cílený use-case je to jednodušší a rychlejší.

Hrubě řečeno:

Pointa: model podle nástroje i podle vašeho byznysu

Žádný z přístupů není „lepší” v absolutním smyslu. Hvězdicové schéma a ploché tabulky řeší různé situace — a my vybíráme podle nástroje a potřeby, ne podle toho, co je zrovna v módě. Společné mají jedno: oba začínají u otázky, co je jádro vašeho byznysu a co reálně měříte.

Proto u nás reporting nezačíná u grafu. Začíná u modelu — a model u vás. Stejnou logikou volíme i mezi krabicovým řešením a enterprise nástroji a celkovou datovou architekturou.

Související články

Chcete reporting postavený na modelu, který sedí přesně na váš byznys? Ozvěte se — nezávazně to probereme.

Další čtení

Řešíte tohle ve své firmě?

Postavím vám datový sklad a reporting na míru. Nezávazně to probereme.

Chci to probrat