Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Data Warehousing Růst obratu: $10 miliard v 1999
Rozsah od desktop do super: Walmart: 900-CPU, 2,700 disk, 23TB Teradata system Nové termíny slice & dice, rollup, MOLAP, pivot, ...
2
Obsah Co je datový warehouse? Proč používat warehouse?
Modely & operace Implementace warehousu Další vývoj DB2 warehousing
3
Co je Warehouse? Kolekce dat separovaná od operační databáze
subjektově orientovaná určená pro manažery a exekutivu kopíruje operační data obsahuje další údaje (součty, historii) integrovaná časově proměnná stálá (stabilní) více DB2 warehousing
4
Co je Warehouse? Kolekce prostředků sdružování dat
čištění, integrování, ... dotazování, výpisy, analýzy, ... data mining monitorování, administraci warehousu DB2 warehousing
5
Architektura Warehousu
Klient Klient Dotaz & Analýza Zdroj Warehouse Metadata Integrace Zdroj Zdroj Zdroj DB2 warehousing
6
Motivační příklady Předpověď počasí Srovnávání výkonnosti skupin
Monitoring, detekce podvodů Vizualizace DB2 warehousing
7
Proč Warehouse? ? Dva přístupy: Query-Driven (Eager=dychtivé)
Warehouse (Lazy=zpožděné) ? Zdroj Zdroj DB2 warehousing
8
Query-Driven přístup Klient Wrapper Mediator Zdroj DB2 warehousing
9
Výhody Warehousingu Vysoký výkon dotazování
Nepřístupnost z vně warehousu Lokální zpracování bez ovlivnění zdrojů Může operovat při nepřístupných zdrojích Dotazování na data neukládaná v DBMS Další informace v warehousu Modifikovaná, sumarizovaná (aggregovaná) Historické informace DB2 warehousing
10
Výhody Query-Driven Netřeba kopírovat data Čerstvější data
méně paměti netřeba vybírat data Čerstvější data Netřeba znát potřeby dotazů Postačuje dotazovací interface ke zdroji DB2 warehousing
11
OLTP vs. OLAP OLTP: On Line Transaction Processing
Popisuje zpracování v operační databázi OLAP: On Line Analytical Processing Popisuje zpracování ve warehousu DB2 warehousing
12
OLTP vs. OLAP OLTP OLAP Většinou updatuje Více malých transakcí
Mb-Tb dat Prvotní data Administrativní uživatel Čerstvá data Konsistence, obnova je kritická Většinou čte Dlouhé, komplexní dotazy Gb-Tb dat Summarizovaná, konsolidovaná data Vedoucí pracovník, analytik jako uživatel DB2 warehousing
13
Datová tržiště Menší warehousy Rozsah části organizace
např., marketing (zákazníci, producenti, prodeje) Nevyžaduje celopodnikové informace ale problem budoucí integrace? DB2 warehousing
14
Modely & Operátory warehousu
Datové Modely relační hvězdice & vločky krychle Operátory slice & dice (řez & výřez) roll-up, drill-down (srolování, zavrtání) pivoting další DB2 warehousing
15
Hvězdice DB2 warehousing
16
Schéma hvězdicové prodej prodId zákazník datum výrobek zákId zákId
výrId výrId jméno jméno obchId addresa cena množ město částka obchod obchId město DB2 warehousing
17
Tabulky Tabulka faktů Tabulky dimenzí Měřítka (Kč, cm) prodId zákazník
prodej prodId zákazník datum výrobek zákId zákId výrId výrId jméno jméno obchId adresa cena množ město Tabulka faktů Tabulky dimenzí Měřítka (Kč, cm) částka obchod obchId město DB2 warehousing
18
Hierarchie dimenzí Typ obchod město oblast è vločkové schéma
è konstelace DB2 warehousing
19
Krychle Pohled tabulky faktů: Multi-dimenzionální krychle: dimenze = 2
DB2 warehousing
20
3-D krychle Pohled tabulky faktů: Multi-dimenzionální krychle:
den 2 den 1 dimenze = 3 DB2 warehousing
21
ROLAP versus MOLAP ROLAP: Relational On-Line Analytical Processing
MOLAP: Multi-Dimensional On-Line Analytical Processing DB2 warehousing
22
Agregáty Sečti částky za den 1 V SQL: SELECT sum(částka) FROM prodej
WHERE datum = 1 81 DB2 warehousing
23
Aggregáty Sečti částky po dnech
V SQL: SELECT datum, sum(částka) FROM prodej GROUP BY datum DB2 warehousing
24
Další příklad Sečti částky po dnech a výrobkách
V SQL: SELECT datum, sum(částka) FROM prodej GROUP BY datum, výrId rollup drill-down DB2 warehousing
25
Aggregáty Operátory: sum, count, max, min, median, ave
“Having” klauzule Použití hierarchie dimenzí průměr za region (v rámci obchodu) maximum za měsíc (vzhledem k datumu) DB2 warehousing
26
Agregace krychle Př.: Výpočty součtů . . . 129 rollup drill-down den 2
DB2 warehousing
27
Operátory krychle . . . prodej(c1,*,*) 129 prodej(c2,p2,*)
den 2 . . . den 1 prodej(c1,*,*) 129 prodej(c2,p2,*) prodej(*,*,*) DB2 warehousing
28
Rozšířená krychle * den 2 prodej(*,p2,*) den 1 DB2 warehousing
29
Agregagace s použitím hierarchií
den 2 den 1 zákazník region země (zákazník c1 v regionu A; zákazníci c2, c3 v regionu B) DB2 warehousing
30
Pivoting ?! Pohled tabulky faktů Multi-dimenzionální krychle: den 2
DB2 warehousing
31
Prostředky pro dotazy Query Building
Report Writers (porovnávání, grafy,…) Spreadsheet systémy Webovská rozhraní Data Mining DB2 warehousing
32
Další operace Časové funkce Vyhodnocované atributy Textové dotazy
např., časový průměr Vyhodnocované atributy např., provize = prodeje * rabat Textové dotazy např., najdi dokumenty se slovy X AND B např., seřaď documenty podle frekvence slov X, Y, Z DB2 warehousing
33
Data Mining Rozhodovací stromy Shlukování (Clustering)
Asociační pravidla DB2 warehousing
34
Rozhodovací stromy Příklad:
Zjištění údajů, jací zákazníci se zajímají o nové modely aut Výběr zákazníků pro reklamní kampaň Trénovací množina DB2 warehousing
35
Jedna možnost věk<30 město=PL auto=audi pravděp nepravděp pravděp
Y N město=PL auto=audi N Y N Y pravděp nepravděp pravděp nepravděp DB2 warehousing
36
Jiná možnost auto=audi město=PL věk<45 pravděp nepravděp pravděp
Y N město=PL věk<45 Y Y N N pravděp nepravděp pravděp nepravděp DB2 warehousing
37
Co vyplývá Rozhodovací strom nemůže být příliš hluboký
jinak by neměl statisticky významné hodnoty pro rozhodování v nižších úrovních Je třeba vybrat strom, který nejspolehlivěji predikuje výsledky DB2 warehousing
38
Shlukování (Clustering)
příjem vzdělání věk DB2 warehousing
39
Jiný příklad: Text Každý dokument je vektor
např., < > obsahuje slova 1,4,5,... Shluky obsahují “podobné” dokumeny Užitečné pro klasifikaci, vyhledávání dokumenů sport zahraniční zprávy obchod DB2 warehousing
40
Problémy Je zadán postačující počet shluků?
Nalezení “nejlepších” shluků Jsou shluky sémanticky smysluplné? např., shluk “sázkařů’’? Ukládání shluků na disk DB2 warehousing
41
Dolování asociačních pravidel
transakce id zákazníka id Koupené produkty Záznamy prodejů: Data z nákupního koše Trend: Produkty p5, p8 často koupeny společně Trend: Zákazník 12 má v oblibě produkt p9 DB2 warehousing
42
Asociační pravidla Pravidlo: {p1, p3, p8}
Support: počet košů obsahujících tento produkt Častá množina položek: support práh s Problém: nalezení všech častých množin DB2 warehousing
43
Nalezení častých dvojic
Koše(koš, položka) SELECT I.položka, J.položka, COUNT(I.koš) FROM Koše I, Koše J WHERE I.koš = J.koš AND I.položka < J.položka GROUP BY I.položka, J.položka HAVING COUNT(I.koš) >= s; DB2 warehousing
44
Příklad ověř je-li count s DB2 warehousing
45
Důsledky Mohutnost množiny dvojic Mohutnost množiny n-tic ještě velká
větší! velká Mohutnost množiny n-tic DB2 warehousing
46
Implementace warehousu
Monitoring: Výběr dat ze zdrojů Integrace: Zavlečení, pročištění,... Zpracování: Zpracování dotazu, indexace, ... Správa dat: Metadata, Design, ... DB2 warehousing
47
Monitoring Typy zdrojů: Relační, plochý soubor, IMS, IDMS, WWW, news-wire, … Inkrementální vs. Obnovovaný zákazník id jméno adresa město 53 josef Horní 10 BR 81 franta Dolní 20 BR nový 111 sára V díře 55 PL DB2 warehousing
48
Monitorovací techniky
Periodické snímky Databázové triggery Uložení logů Replikace dat Ukládání Transakcí Dotazování (dotazy ke zdroji) výhody & nevýhody!! DB2 warehousing
49
Následky monitoringu Frekvence Transformace dat
periodická: denní, týdenní, … triggerovaná: na “velké” změny, množství změn, ... Transformace dat konverze dat na jednotný formát rušit & přidávat položky (např., přidat datu pro získání historie) Standardy (např., ODBC) Gateways DB2 warehousing
50
Integrace Čistění dat Zavvlékání dat Odvozená data DB2 warehousing
Klient Warehouse Zdroj Dotaz & Analýza Integrace Metadata DB2 warehousing
51
Čistění dat Migrace (např., koruna ð dolar)
Praní (Scrubbing): užití doménově-specifické znalosti (např., rodných čísel) Slévání (př.,seznam adres, slučování zákazníků) Auditing: zjišťování pravidel & vztahů (jako data mining) DB faktur DB služeb zákazník1(Jan) zákazník2(Jan) sloučený_zákazník(Jan) DB2 warehousing
52
Zavlékání dat Incrementálně vs. s obnovou Off-line vs. on-line
Frekvence plnění V noci, 1x za týden/měsíc, průběžně Paralelní/oddělené plnění DB2 warehousing
53
Odvozená data Odvozená data warehousu Kdy aktualizovat odvozená data?
indexy agregáty materializované pohledy (další slide) Kdy aktualizovat odvozená data? Incrementálně vs. s obnovou DB2 warehousing
54
Materializované pohledy
Definují nové relace warehousu za použití SQL výrazů neexistuje v žádném zdroji DB2 warehousing
55
Zpracování ROLAP servery vs. MOLAP servery Indexové struktury
Co materializovat? Algorithmy Klient Warehouse Zdroj Dotaz & Analýza Integrace Metadata DB2 warehousing
56
ROLAP Server Relační OLAP Server nástroje ROLAP utilities server
Speciální indexy. Schéma je “denormalizováno” relační DBMS DB2 warehousing
57
MOLAP Server Multi-Dimensionální OLAP Server M.D. nástroje utilities
Výrobek Město Datum mléko voda pivo maso A B Prodeje M.D. nástroje utilities multi-dimensionální server Může také být nadstavbou relačního DBMS DB2 warehousing
58
Indexové struktury Tradiční přístupové metody Populární ve warehousech
B-stromy, hash tabulky, R-stromy, mřížky, … Populární ve warehousech invertované seznamy bit mapové indexy join indexy textové indexy DB2 warehousing
59
Invertované seznamy . . . datové invertované Index záznamy seznamy
věku DB2 warehousing
60
Užití invertovaných seznamů
Dotaz: Zjisti lidi s věkem = 20 a jménem = “fred” Seznam pro věk = 20: r4, r18, r34, r35 Seznam pro jméno = “fred”: r18, r52 Odpověď je průnik: r18 DB2 warehousing
61
Bitové mapy . . . Index bitové datové věku mapy záznamy DB2
warehousing
62
Užití bitových map Dotaz: Seznam pro věk = 20: 1101100000
Zjisti lidi s věkem = 20 a jménem = “fred” Seznam pro věk = 20: Seznam pro jméno = “fred”: Odpovědí je průnik: Dobré, je-li kardinalita domény malá Bitové vectory mohou být komprimovány DB2 warehousing
63
Join “Kombinuje” relace PRODEJ, VÝROBEK
V SQL: SELECT * FROM PRODEJ, Výrobek DB2 warehousing
64
Join Indexy join index DB2 warehousing
65
Co materializovat? Ulož ve warehousu výsledky užitečné pro běžné dotazy Příklad: Celkové prodeje den 2 . . . den 1 129 materializuj DB2 warehousing
66
Materializační Faktory
Typ/frekvence dotazů Doba odezvy na dotaz Cena paměti Cena změn dat DB2 warehousing
67
Svaz agregátů krychle vše město výrobek datum město, výrobek
129 vše město výrobek datum město, výrobek město, datum výrobek, datum Použij algoritmus hladového k rozhodnutí co materializovat den 2 den 1 město, výrobek, datum DB2 warehousing
68
Hierarchie dimenzí vše stát město DB2 warehousing
69
Hierarchie dimenzí vše město výrobek datum město, výrobek město, datum
stát město, výrobek, datum stát, datum stát, výrobek stát, výrobek, datum Nevykresleny všechny hrany... DB2 warehousing
70
Zajímavé hierarchie vše roky týdny kvartály konceptuální měsíce
tabulka dimenzí měsíce dny DB2 warehousing
71
Algorithmy Optimalizace dotazu Paralelní zpracování Data Mining DB2
warehousing
72
Příklad: Asociační pravidla
Jak provádět dolování pravidel efektivně? Poznatek: Má-li množina X support t, pak každá podmnožina X musí mít alespoň support t Pro dvojice: má-li mít dvojice {i, j} support s pak jak i tak j se musí vyskytnout alespoň v s koších DB2 warehousing
73
Algorithmus pro dvojice
(1) Najdi kandidátní výrobky vyskytují se v s nebo více koších (2) Najdi dvojice se supportem alespoň s, za použití pouze kandidátních výrobků DB2 warehousing
74
Algoritmus pro dvojice
INSERT INTO okBaskets(basket, item) SELECT basket, item FROM Baskets GROUP BY item HAVING COUNT(basket) >= s; Doluj dvojice z košů okBaskets SELECT I.item, J.item, COUNT(I.basket) FROM okBaskets I, okBaskets J WHERE I.basket = J.basket AND I.item < J.item GROUP BY I.item, J.item HAVING COUNT(I.basket) >= s; DB2 warehousing
75
Efektivní načítání Jedním průchodem: práh = 3 načti & odstraň seřaď
DB2 warehousing
76
Efektivní načítání Jiný způsob: práh = 3 projdi a načti odstraň
Měj pole čítačů v paměti DB2 warehousing
77
Ještě jeden způsob (1) práh = 3 projdi & hashuj & čítej (4) odstraň
hash tabulka v paměti práh = 3 (2) projdi & odstraň čítače v paměti (4) odstraň (3) projdi & čítej positivně špatná DB2 warehousing
78
Diskuse Hashovací schéma: 2 (nebo 3) průchody daty
Řadící schéma: vyžaduje řazení! Hashování pracuje dobře, je-li málo dvojic s velkým supportem a hodně s nízkým Dvojice položek rozdělené dle frekvence frekvence práh Ledová hora dotazů DB2 warehousing
79
Manažování Metadat Návrhu warehousu Nástrojů DB2 warehousing Klient
Warehouse Zdroj Query & Analysis Integration Metadata DB2 warehousing
80
Metadata Administrativa definice zdrojů, nástrojů, ...
schémata, hierarchie dimenzí, … pravidla pro extrakci dat, … obnova dat, postupy čistění profil uživatele, řízení přístupu, ... DB2 warehousing
81
Metadata Obchodní Operační vlastnictví dat, poplatky
termíny & definice Operační vznik dat oběh dat (např., aktivní, archivní, ...) stavy, chybové zprávy, následný audit DB2 warehousing
82
Návrh Jaká data jsou potřebná? Odkud přicházejí? Jak data čistit?
Jak je reprezentovat ve warehousu (schéma)? Co sumarizovat? Co materializovat? Co indexovat? DB2 warehousing
83
Nástroje Vývoj Planování & Analýza Management warehousu
návrh & editace: schémat, pohledů, scriptů, pravidel, dotazů, reportů Planování & Analýza co-když scénáře (změny schémat , míra obnovy), plánování kapacity Management warehousu monitoring výkonnosti, hlášení výjimečných stavů Management systému & sítě rytmus provozu (zdrojů, warehousu, klientů) Management toku prací “spolehlivé scripty” pro čistění a analýzu dat DB2 warehousing
84
Současný stav průmyslu
Extrakce a integrace se dělá off-line Obvykle ve velkých, časově náročných dávkách Vše je kopírováno do warehousu Ukládá se bez selekce Pohodlí dotazu vs cena paměti & update Optimalizace dotazu cílená na OLTP Velká prostupnost místo rychlé odezvy Zpracuje celý dotaz před jakýmkoliv výstupem DB2 warehousing
85
Další směry Lepší výkon Větší warehousy Snazší používání
Na čem pracují výrobci a výzkum? DB2 warehousing
86
Výzkum (1) Inkrementální údržba Konsistence dat Expirace dat Obnova
Kvalita dat Zpracování chyb DB2 warehousing
87
Výzkum (2) Temporální warehousy Materializace & výběr indexů
Slévání dat Data Mining Integrace textových & relačních dat DB2 warehousing
88
Závěr Velká množství dat a složitost dotazů budou tlačit na limity dnešních warehouseů Potřebné lepší systémy: snáze použitelné poskytující kvalitní informace DB2 warehousing
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.