Datový sklad: Porovnání verzí
Smazaný obsah Přidaný obsah
Přidána logické struktura DWH |
m robot: stylistické, typografické a kódové korekce podle specifikace |
||
Řádek 1:
'''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.<br />
== Definice datového skladu ==
K definici rozdílu mezi
* '''Orientace na subjekt''' - U běžné relační databáze je obvyklá snaha o co nejmenší redundanci uložení dat, které je dosahováno jejich normalizací do [[3NF]] a vnitřním provázáním jednotlivých logických funkčních celků. V '''datovém skladu''' je naproti tomu řešení vždy vedeno snahou o jasnou vnitřní separaci jednotlivých funkčních celků - výsledkem je struktura, která je čitelnější pro uživatele (manažera, business analytika) za cenu zvýšených nároků na paměťový prostor.
* '''Integrovanost''' - Běžná provozní aplikace (program) nad relační databází řeší určitý specifický okruh úloh nad
* '''Nízká proměnlivost''' - Data jsou do '''datového skladu''' obvykle nahrávána ve větších dávkach (například v denních nebo týdenních intervalech) a pak již nejsou nijak modifikována.
* '''Historizace''' - Data jsou v '''datovém skladu''' obvykle udržována v historické podobě, nikoliv pouze v aktuálním stavu. To je dáno nutností provádění analýz zaměřených na vývoj v čase. V běžné relační databázi je z pohledu uživatelů obvykle zajímavý pouze aktuální stav datových objektů.
== Technologické charakteristiky datového skladu ==
Z požadavků na '''datový sklad''' vyplývají jeho technologické charakteristiky:
* '''Datový sklad''' musí obsahovat nástroj pro nahrávání dat z různých datových zdrojů, tyto zdroje mohou mít různé datové formáty a různé fyzické umístění, nemusí se zdaleka jednat pouze o relační databáze.
Řádek 14:
* Nelze předem vědět, jaké dotazy a jaké úlohy budou chtít uživatelé nad '''datovým skladem''' v budoucnosti řešit. (V době budování '''datového skladu''' je obvykle známý pouze typ úloh, nikoliv všechny jednotlivé dotazy a úlohy.) Z toho vyplvývá potřeba dostatečně flexibilních a přitom uživatelsky přívětivých analytických nástrojů.
== Logická struktura datového skladu ==
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.<br />
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šina 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.<br />
Faktové tabulky jsou pomocí [[Cizí klíč|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.
=== Příklad ===
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ě).<br />
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).<br />
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ždý jednotlivou možnou položku (například
Faktová tabulka musí být pomocí [[Cizí klíč|cizího klíče]] přímo nebo nepřímo propojena s každou z těchto dimenzí.
=== Hvězda a vločka ===
V příkladu je vidět, že některé dimenze jsou jednoduché - například pro dimenzi ''Prodejny'' prostě navrhnu tabulku, pro uložení údajů o prodejnách, napojím na ní faktovou tabulku a je vystaráno.<br />
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'''.
|