Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Dimensional Modeling Ing. Jan Přichystal, Ph.D.. Úvod Co je DM? – technika pro strukturování dat tak, aby jim včas porozuměli koncoví uživatelé. Dimensionální.

Podobné prezentace


Prezentace na téma: "Dimensional Modeling Ing. Jan Přichystal, Ph.D.. Úvod Co je DM? – technika pro strukturování dat tak, aby jim včas porozuměli koncoví uživatelé. Dimensionální."— Transkript prezentace:

1 Dimensional Modeling Ing. Jan Přichystal, Ph.D.

2 Úvod Co je DM? – technika pro strukturování dat tak, aby jim včas porozuměli koncoví uživatelé. Dimensionální přístup není dílem jednoho člověka, diskutované přístupy a metodika se vyvíjely a vyvíjí průběžně.

3 Úvod DM dělí svět na míry a souvislosti. Míry jsou obvykle numerické hodnoty = fakta. Fakta jsou zaznamenávána v určitém kontextu k reálné situaci. Situaci zkoumáme z úhlů pohledu = dimezí. Dimenze popisuje kdo, co, jak, kdy, kde, proč a jak.

4 Úvod Objekt zkoumané reality bývá reprezentován modelem s faktovou tabulkou obklopenou dimezemi. Tato struktura se označuje jako hvězda. Dimenzionální modely určené pro OLAP se označují jako kostky.

5 Hlavní výhody DM Srozumitelnost a Výkon DM je pro běžné pracovníky srozumitelnější, informace jsou seskupovány do smysluplných kategorií Struktura dat je vhodnější pro dotazování, DB server nejprve určí dimenzionální atributy a podle nich vybere záznamy z tabulky faktů.

6 Dimenzionální tabulky Oproti faktovým tab. jsou „širší“, ale menší Průměrně DW obsahuje 8 až 15 dimenzí Atributy slouží k omezování/filtrování dat Robustnost DW je dána kvalitou a hloubkou atributů Atributy jsou obvykle textové nebo číselné chovající se jako text Atributy musí být popisné, kompletní, jednoznačné a bezchybné

7 Dimenzionální tabulky Atributy by neměly obsahovat NULL hodnoty, doporučuje se nahradit je za „unknown“ atp. Atributy uchovávají jak zkratky/kódy tak i jejich popisy Informace lze získat i z kódů produktů, zákazníků atd. Dimenze tvoří hierarchie, často i více než jednu

8 Dimenzionální tabulky – klíče Primárním klíčem je obvykle automaticky generovaná sekvence integerů Důvodem je: –výkon –nepoužitelnost ID z trans. systémů – jejich častá recyklace –mapování různých zdrojů – různá ID –vyřešení NULL a neznámých hodnot –vyřešení změn v hodnotách – nové ID

9 Conformed dimesions Označované jako hlavní nebo běžné Sdílí informace mezi různými částmi DW Důležitost spočívá v: –konzistenci – dotazy a filtrace poskytují stejné výsledky –integraci – umožňují drill-across mezi subjekty –jednodušším vývoj – lze je využít opakovaně

10 Degenerate dimensions Faktové tabulky obsahují různé identifikátory (číslo letu, číslo faktury,…) Vypadají jako samostatná dimenze, ale nemají atributy = jsou degenerované Jsou obvyklé u transakčních systémů Používají se k průměrování nebo k zjištění vazby zpět do transakčních systémů Často jsou součástí i primárního klíče FT

11 Slowly changing dimensions Hodnoty atributů v tabulkách se mění zřídka Změny je nutné v čase evidovat Existují tři způsoby: –Přepsat údaje v atributu – ztráta historie, kdy není důlěžitá –Přidat nový záznam – nové ID + sloupec evidující změnu –Přidat nový atribut – přidat sloupec s primární hodnotou (lze snadno přepínat pohled mezi novým a starým)

12 Slowly changing dimension 2. Druhá zmíněná možnost se nehodí pro rozsáhlé dimenze typu Zákazník, ty se však naneštěstí mění poměrně často Řešením je rozdělení dimenze na části – Customer a Customer Demographics

13 Junk dimensions Jde o částečně nadbytečné informace Při modelování komplexního procesu často zůstanou různé flagy a textové atributy. Často je nelze umístit do existujících dimenzí Řešení: –Ponechat ve faktové tabulce –Přesunout všechny do oddělené dimenze –Eliminovat

14 Časová dimenze Objevuje se prakticky všude Obvykle generovaná automaticky Používá také náhradní primární klíče, výhodou je: –kratší než běžné datum, –lze pracovat i s budoucími nebo neznámými hodnotami –umožňuje komplexnější analýzy

15 Časová dimenze 2. V některých případech je nutné zkoumat data detailněji než jen po dnech Nemá smysl zahrnovat do jedné časové dimenze záznamy pro každou sekundu, 31 miliónů na rok je poměrně hodně Detailnější časové údaje oddělujeme do další dimenze (1440 minut/86400 sekund) Zajímavé je sledovat i části dne (pracovní doba, noční hodiny, oběd, …)

16 Časová dimenze 3. V případě, že je potřeba sledovat rozdíly v časových hodnotách, je vhodné je předpočítat přímo v ETL a dosadit do faktové tabulky Příkladem je například čas zadání chyby a začátek jejího řešení v Bugtracking systému

17 Časová dimenze 4. Subjekt zkoumání někdy vyžaduje analýzy přes více časových zón Toto se často řeší oddělenými dimenzemi pro každé pásmo Výhodou je možnost změny zkoumání z pohledu místního času a světového Zahrnutí všeho do jedné dimenze vede k dramatickému růstu velikosti dimenze

18 Snowflaking Proces, kdy redundantní údaje oddělujeme do samostatné dimenze – normalizace Argumentem bývá úspora místa, problém je však délka klíče oproti textovému popisu Zpomaluje dotazování Složitější na správu a pochopení

19 Hierarchie Hierarchie jsou základem DM Často v dimenzi více než jedna v závislosti na úhlu pohledu různých uživatelů Jsou spojovány s operací drill-down = detailní pohled Mohou mít fixní nebo variabilní hloubku Variabilní se realizuje pomocí bridge tables, které uchovávají informaci o nadřazeném objektu

20 M:N dimenze Některé dimenze jsou spojeny s faktovou tabulkou vztahem M:N Typický příklad je pacient a diagnózy Problém řeší opět bridge table

21 Faktové tabulky Uchovávají měřitelné hodnoty produkované činností subjektu Obvykle se jedná o číselné hodnoty, které lze agregovat (COUNT, SUM, AVG) Ne všechny číselné údaje jsou fakta Rozsahem jsou FT největší, uchovávají až 90 % dat

22 Faktové tabulky – klíče Primární klíč – obvykle se jedná o složený klíč sestávající z cizích klíčů dimenzionálních tabulek Cizí klíče – každý cizí klíč musí mít protějšek v dimenzionálních tabulkách => nesmí být NULL Pokud by FK nemohl být vyplněn, musí být v dimenzionální tabulce náhradní hodnota (např. frequent flyer)

23 Faktové tabulky – granularita Granularita je definována změřením události produkující záznam v FT Všechny záznamy v FT mají stejnou granularitu Granularita by měla být co nejdetailnější, to umožňuje maximální flexibilitu a rozšiřitelnost

24 Faktové tabulky – dělení Faktové tabulky se podle typu uchovávaných dat dělí na: –transakční – velmi časté, granularita je dána konkrétní transakcí, jde o záznam konkrétní události (prodeje) –periodické – periodicky zaznamenávají stav faktů v čase (bankovní účet) –shromažďovací – zaznamenávají změny v nedefinovaných intervalech (fakturace)

25 Fakta s různou granularitou Např. cena a množství za produkt na detailu objednávky, ale cena za dopravu pro celou objednávku Řešení je rozdělení faktové tabulky na detail a záhlaví nebo definice způsobu rozpočítání problematické hodnoty

26 Různé měrné jednotky V transakčních systémech se uchovávají data v různých jednotkách, které je třeba srovnávat Je vhodné uchovávat měrnou jednotku přímo ve FT, snižuje to nároky na konkrétní dimenzi. Přepočty je možné realizovat přímo pomocí view

27 Factless fact tables Některé události ve faktové tabulce nejsou měřitelné Příkladem je účast/neúčast studenta Přesto je vhodné údaj evidovat z důvodu propojení konkrétních dimenzí vazbou M:N

28 Proces návrhu DM Proces návrhu nespočívá v jednorázovém naplánování. Jde o komplexní, dlouhodobou strategii sestávájící z: –zvolení zkoumaného subjekt –definice granularity dat –identifikace dimenzí –identifikace faktů

29 Volba subjektu Prvním krokem je výběr zkoumané oblasti dat v podniku. Dobrým testem, zda je vhodně vybraný subjekt zkoumání je realizace kroku 2 – definice granularity dat. Zkoumané subjekty jsou stavebním kamenem tvorby komplexního DW Tvorba probíhá obvykle iterativně – jeden subjekt v čase Každý subjekt obsahuje obvykle jednu faktovou tabulku nebo sadu spojených FT

30 Definice granularity Druhým krokem je definice úrovně detailů ve faktové tabulce Definice představuje: –položka nákupu sejmutá čtečkou čárových k. –konkrétní transakce v systému pojišťovny –lék na receptu od lékaře –palubní lístek aerolinií –obsah skladu spočtený pravidelně v daném obchodě

31 Definice granularity Obvyklou chybou je zanedbání definice na začátku analýzy Jde o kombinaci toho, jak vyhovět obchodním požadavkům a co je možné v závislosti na datech – nelze zkoumat to, co nemáme Vhodné je začít s co nejdetailnějšími daty, agregace lze provést i později

32 Identifikace dimenzí Třetí krok spočívá ve výběru vhodných dimenzí příslušných k dané FT s danou granularitou Většina dimenzí vyplyne automaticky po předchozím kroku Každá dimenze, která nabyde nějaké hodnoty při dané granularitě je vhodný kandidát

33 Identifikace dimenzí Často vyplyne přímo z požadavků uživatele: „Denní stav položek skladu v distribučním centru“ Volba dimenzí může zpětně ovlivnit zvolenou granularitu

34 Identifikace faktů Posledním krokem je výběr měřitelných hodnot Je odvozena od granularity dat Obvykle měříme množství a objemy Z nich odvozujeme metriky důležité pro uživatele

35 Děkuji za pozornost Dotazy?


Stáhnout ppt "Dimensional Modeling Ing. Jan Přichystal, Ph.D.. Úvod Co je DM? – technika pro strukturování dat tak, aby jim včas porozuměli koncoví uživatelé. Dimensionální."

Podobné prezentace


Reklamy Google