V níže uvedeném článku prozkoumáme fascinující svět Datový sklad. Od jeho počátků až po jeho dnešní dopad se ponoříme do široké škály aspektů souvisejících s Datový sklad. Prostřednictvím hluboké a podrobné analýzy prozkoumáme její důsledky v různých oblastech, od společnosti po populární kulturu. Na těchto stránkách objevíme nové pohledy a úvahy, které nám umožní lépe porozumět důležitosti Datový sklad v současném světě. S kritickým a obohacujícím pohledem se tento článek snaží otevřít cesty k většímu porozumění a uznání Datový sklad.
Datový sklad (anglicky data warehouse, případně DWH) je zvláštní typ relační databáze, která umožňuje řešit úlohy zaměřené převážně na analytické dotazování nad rozsáhlými soubory dat.
K definici rozdílu mezi „běžnou“ relační databází a datovým skladem se obvykle používá následujících charakteristik popsaných Williamem Inmonem:
Z požadavků na datový sklad vyplývají jeho technologické charakteristiky:
Data v datovém skladu jsou z logického (uživatelského) pohledu členěna do schémat – každé schéma odpovídá jedné analyzované funkční oblasti.
Jádro každého schématu tvoří jedna nebo několik faktových tabulek. V nich jsou uložena vlastní analyzovaná data – číselné a finanční hodnoty, které jsou použity k analytickým výpočtům – agregacím, třídění apod. Většinu paměťového místa v datovém skladu zabírají faktové tabulky, které obsahují detailní údaje ze všech zdrojů – tedy řádově více údajů než ostatní tabulky.
Faktové tabulky jsou pomocí cizích klíčů spojeny s dimenzemi. Dimenze jsou tabulky, které obsahují seznamy hodnot sloužících ke kategorizaci a třídění dat ve faktových tabulkách.
V datovém skladu je třeba uložit informace o všech prodejích z pokladen hypermarketů, data budou dále analyzována na základě doby prodeje, prodejny, typu zboží, dodavatele, probíhajících marketingových akcí a způsobu platby (kartou, hotově).
Schéma Prodej bude obsahovat faktovou tabulku Položky prodeje, kde bude pro každou prodanou položku uložen údaj o typu prodaného zboží, ceně a počtu kusů (případně prodané hmotnosti).
Kromě této faktové tabulky bude schéma obsahovat také dimenze pro třídění položek prodeje: časové dimenze Datum a Hodina (v rámci dne), dimenzi Prodejna, dimenzi Typ zboží, kde bude jeden řádek pro každou jednotlivou položku (například „Choceňský jogurt borůvkový 250ml“), dimenzi Kategorie zboží (obsahující řádky jako například „Jogurt“), dimenzi Oddělení (obsahující řádky jako například „Mléčné výrobky“), dimenzi Dodavatel (obsahující řádky jako například „Choceňská mlékárna a.s.“) a tak dále.
Faktová tabulka musí být pomocí cizího klíče přímo nebo nepřímo propojena s každou z těchto dimenzí.
V příkladu je vidět, že některé dimenze jsou jednoduché – například pro dimenzi Prodejny stačí navrhnout tabulku pro uložení údajů o prodejnách, na kterou bude napojena faktová tabulka.
Horší je situace v případě Typ zboží – ta se uvnitř sebe sama dále rozpadá – dimenze Kategorie zboží by vůbec nemusela být napojena na faktovou tabulku, ale na dimenzi Typ zboží, dimenze Oddělení na Kategorii zboží, dimenze Dodavatel na Typ zboží. V tomto případě mluvíme o hierarchické dimenzi.
V uložení hierarchických dimenzí mám v zásadě dvě možnosti: