Data warehousing a ETL

Podobné dokumenty
Analýza a modelování dat 6. přednáška. Helena Palovská

Pattern Datový sklad. RNDr. Ondřej Zýka

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Business Intelligence. Adam Trčka

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

BI v rámci IS/ICT komponenty BI architektura. Charakteristika dat a procesů v IS/ICT. Datové sklady ukládání dat návrh datového skladu

TM1 vs Planning & Reporting

PostgreSQL jako platforma pro datové sklady

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3bph)

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

NSS - Cache 5. LECTURE MARTIN TOMASEK

QAD Business Intelligence

Data Warehouses. Jaroslav Bayer 1. Fakulta informatiky Masarykova univerzita

PG 9.5 novinky ve vývoji aplikací

Manažerský reporting a finanční plánování Targetty

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

CSPUG 2011-květen. GridSQL a pg-pool II. Vratislav Beneš benes@optisolutions.cz

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

Operátory ROLLUP a CUBE

Datové sklady. Ing. Jan Přichystal, Ph.D. 1. listopadu PEF MZLU v Brně

Ing. Roman Danel, Ph.D. 2010

Přehled systému Microsoft SQL Server. Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy

Infor Performance management. Jakub Urbášek

Nová éra diskových polí IBM Enterprise diskové pole s nízkým TCO! Simon Podepřel, Storage Sales

Problém identity instancí asociačních tříd

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Business Intelligence

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

Introduction to MS Dynamics NAV

Datové sklady. Multidimenzionální modelování Modely datového skladu Návrh datového skladu v rámci návrhu IS/ICT. Vladimíra Zádová, KIN, EF, TUL

Integrace dat. RNDr. Ondřej Zýka

2. Entity, Architecture, Process

Metadata. MI-DSP 2013/14 RNDr. Ondřej Zýka,

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Zdroje informací v organizaci IS/ICT BI v rámci IS/ICT historie architektura OLTP x DW ukládání dat

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Dotazovací jazyky I. Datová krychle. Soběslav Benda

On line analytical processing (OLAP) databáze v praxi

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years

Moderní metody automatizace a hodnocení marketingových kampaní


01. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980

SQL - trigger, Databázové modelování

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Škola: Střední škola obchodní, České Budějovice, Husova 9. Inovace a zkvalitnění výuky prostřednictvím ICT

Použití databází na Webu

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

SEARCH & BIG DATA [ & ANALYTICS] INFORUM 2015, Pavel Kocourek

Verzování a publikace dat na webu za pomoci PostgreSQL

Business Intelligence a datové sklady

Úvod do Operačních Systémů

TimescaleDB. Pavel Stěhule 2018

Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha

PV005 Služby počítačových sítí: Data Warehouses

Aplikace IS, outsourcing, systémová integrace. Jaroslav Žáček

Dobývání znalostí z databází. Databáze. datum jmeno prijmeni adresa_ulice adresa_mesto cislo_uctu platba zustatek

Business Intelligence

Information and Data Management. RNDr. Ondřej Zýka

2011 Jan Janoušek BI-PJP. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Bu B sin i e n s e s s I n I te t l e lig i en e c n e c Skorkovský KA K M A I, E S E F MU


Semestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz

Databáze I. 1. přednáška. Helena Palovská

Novinky v PostgreSQL 9.4. Tomáš Vondra, 2ndQuadrant

Aktuální otázky provozu datových skladů PAVEL HNÍK

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

Jak velká jsou? Obchodní analytici FB velké datové sady BI = business intelligence. OLAP = Online Analytical Processing. DWH = Data Warehouse

Úvod do datového a procesního modelování pomocí CASE Erwin a BPwin

Oracle XML DB. Tomáš Nykodým

FIREBIRD relační databázový systém. Tomáš Svoboda

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

User manual SŘHV Online WEB interface for CUSTOMERS June 2017 version 14 VÍTKOVICE STEEL, a.s. vitkovicesteel.com

PRAVIDLA ZPRACOVÁNÍ STANDARDNÍCH ELEKTRONICKÝCH ZAHRANIČNÍCH PLATEBNÍCH PŘÍKAZŮ STANDARD ELECTRONIC FOREIGN PAYMENT ORDERS PROCESSING RULES

Obsah Úvod 11 Jak být úspěšný Základy IT

Architektura GIS KMA/AGI. Karel Jedlička

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

1, Žáci dostanou 5 klíčových slov a snaží se na jejich základě odhadnout, o čem bude následující cvičení.

Databáze. datum jmeno prijmeni adresa_ulice adresa_mesto cislo_uctu platba zustatek

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Databáze Bc. Veronika Tomsová

Funkční analýza Předmět Informační systémy. Daniela Szturcová

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

Obsah. Úvod do problematiky. Datový sklad. Proces ETL. Analýza OLAP

ové služby na IPv6-only

Databázové systémy. Cvičení 6: SQL

Databázové systémy I

Temporální databáze. Jan Kolárik Miroslav Macík

MBI - technologická realizace modelu

IBM Komplexní reporting - case study POC pro sázkovou kancelář

DC circuits with a single source

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Nová dimenze rozhodovacího procesu

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

IW3 MS SQL SERVER 2014

Databáze v praxi. RNDr. Ondřej Zýka Principal Consultant

Integrace dat. RNDr. Ondřej Zýka

Transkript:

Data warehousing a ETL Firemní semináře 2013/2014 MFF UK Praha, 21.5.2014 Filip Moudrý, filip.moudry@javlin.eu

Program Javlin data warehouse ETL praktické ukázky diskuze

Když se řekne: data warehouse ETL data warehouse / ETL specialista

Datový sklad (DWH)

Datový sklad (DWH) centrální uložiště dat pro reporting a datovou analýzu zdroj pro BI nástroje integrována data z různých operativních zdrojů historická a aktuální data velký objem dat odlišné požadavky než u primárních systémů

Dimenzionální modelování SELECT P.Brand, S.Country AS Countries, SUM(F.Units_Sold) FROM Fact_Sales F INNER JOIN Dim_Date D ON F.Date_Id = D.Id INNER JOIN Dim_Store S ON F.Store_Id = S.Id INNER JOIN Dim_Product P ON F.Product_Id = P.Id WHERE D.YEAR = 2013 AND P.Product_Category = LED television' GROUP BY P.Brand, S.Country

Dimenzionální modelování jedna nebo více faktových tabulek, které referencují libovolný počet dimenzionálních tabulek faktová tabulka obsahuje pouze cizí klíče (surrogate keys) dimenzionálních tabulek, atomická nebo sumarizovaná fakta faktová tabulka může obsahovat i degenerované dimenze dimenzionání tabulky o více řádů menší než faktové dimenzionální tabulky jsou denormalizované

Denormalizace dimenzionálních tabulek DWH je určen pro potřeby reportingu a business uživatelů datový model je snadno pochopitelný názvy atributů odpovídají jménům sloupců reportu, hodnoty jsou přímo vypisované odstranění zbytečných inner joinů pro číselníky není třeba užívat CASE WHEN OTHERWISE konstrukce v SQL dotazech

Denormalizace dimenzionálních tabulek dimenzionální tabulky jsou o více řádů menší než faktové tabulky v řádcích faktové tabulky zastoupeny pouze svým cizím klíčem typicky se dimenzionální tabulky příliš často nemění

Základní přístupy k tvorbě DWH Bill Inmon (top-down) centralizovaný DWH dle ER modelování Ralph Kimball (bottom-up) malé datamarty spojené přes konformní dimenze

Porovnání přístupů tvorby DWH vytvoření enterprise-wide DWH je časově a finančně nákladné top-down je robustní vzhledem ke změnám business požadavků z enterprise-wide DWH se snadno generují nové data marty bottom-up model zaručuje rychlé dodání business hodnoty bottom-up model lze inkrementálně rozvíjet

Postup návrhu bottom-up DWH určení business procesu určení granularity faktu definice dimenzí definice faktů případné doplnění informací o pokrytí (nefaktové faktové tabulky), validace zda vyhovuje požadovaným reportům

Typy modelů faktů volba modelu závisí na business procesu a požadavcích reportingu transakční model pravidelný snapshot kumulovaný snapshot

ETL Extract the data from source systems Transform the data Load the data into target systems Operational systems DWH

ETL ETL Datový sklad a ETL Datové zdroje Datový sklad Prezentační vrstva Uživatel Databáze Soubory Fronty zpráv Plánování, Extrakce, Transformace a zápis Extrakce

ETL grafický model procesu Input Filter Sort Check Format 3 2 1 Output Valid 1 Dedup Output Invalid 2 3 4 graf lze chápat jako produktovod jednotlivé záznamy jsou sekvenčně čteny z datového zdroje a průběžně protékají transformačními komponentami až k výstupu

Výpočetní model CloverETL Input Filter Sort Check Format T1 T2 T3 T4 T5 Output Valid T7 Dedup T6 Output Invalid T8 RAM core #1 core #2 core #3 core #4 Disk komponenty se vykonávají jako samostatná Java vlákna více vláken může sdílet stejný procesor v případě použití hardwarového clusteru lze paralelizovat zpracování mezi více stroji a rovněž explicitně určit alokaci komponent na uzly clusteru

Příklad ETL transformace Data: Objednávky zákazníků CUSTOMER_NAME ORDER_ID TOTAL_AMT ADDR CITY STATE Gallagher, Evangeline A. 292 3301.00 9812 Pharetra Avenue Madison AZ Mike Cheong 150 12.35 154 Milles Dr Boston MA Arnetta Ferrero 155 55.12 23 Cactus Rd Phoenix AZ James D. Barber 314 120.49 113/2 Mule St Chicago IL Frederic Gables 110 59.70 153 SW Rodeo Dr Phoenix AZ CUSTOMER_NAME ORDER_ID TOTAL_AMT ADDR CITY STATE Gallagher, Evangeline A. 292 3301.00 9812 Pharetra Avenue Madison AZ Mike Cheong 150 12.35 154 Milles Dr Boston MA Arnetta Ferrero 155 55.12 23 Cactus Rd Phoenix AZ James D. Barber 314 120.49 113/2 Mule St Chicago IL Frederic Gables 110 59.70 153 SW Rodeo Dr Phoenix AZ Úloha: Seznam 3 největších objednávek se jménem zákazníka, které byly doručené do Arizony

Řešení UNIX skriptem cat customer_orders.txt grep "AZ$" sort -t" " -k3 -n -r cut d f1,2,3 tail -n 3 co když chci také sčítat objednávky?

Řešení pomocí SQL SELECT customer_name,order_id,total_amt FROM customer_orders WHERE state = 'AZ' ORDER BY total_amt DESC LIMIT 3 jak dostanu data do databáze?

Řešení pomocí CloverETL

Příklad ETL agregace agregace nesetříděných dat (klíč je barva, agregace je počet) 2 3 Aggregate color count 3 3 2 2 Všechna data jsou držena v paměti, dokud není zpracován celý vstup. agregace setříděných dat (klíč je barva, agregace je počet) Aggregate 3 2

Příklad ETL denormalizace Original data Multiple records grouped based on the key. Denormalize Account accountid customerid balance created closed 9804568699 27345 2300.56 2011-11-14 1108193472 27345-1739.05 2005-07-22 6054951154 27345 4500.60 2009-09-01 2010-04-30 9459175447 27345 3200.80 2011-03-08 Denormalized data Single record containing values determined by processing the whole input group. CustomerAccounts customerid totalbalance accounts 27345 8262.91 [9804568699, 1108193472, 6054951154, 9459175447]

Next group Next record Příklad ETL denormalizace append is called once for each record in a group. It is typically used to update global variables which are then used in transform function. Begin preexecute back append back transform and append have their own error handler. Each handler interrupts the group and resumes processing as if the group was processed as a whole. appendonerror transform is called once per group and is the only function which generates output records. back transform back Error transformonerror clean is called after each transform and can be used to clean-up internal variables. back clean back postexecute End

Příklad ETL normalizace Original data One complex record. CustomerAccounts customerid totalbalance accounts 27345 8262.91 [9804568699, 1108193472, 6054951154, 9459175447] Normalize Normalized data Multiple (usually simple) records belonging to a group which shares a key with the source record. AccountToCustomer accountid customerid 9804568699 27345 1108193472 27345 6054951154 27345 9459175447 27345

Next record called count times Příklad ETL normalizace Begin preexecute count and transform have their own error handler. If an error occurs during count, transform is never called. count is called once for each input record. back count back countonerror transform is called as many times as is the value returned by count function. It is therefore possible to generate up-to count records in transform. back transform back Error transformonerror clean is called after each transform and can be used to clean-up internal variables. back clean back postexecute End 26

Načtení dat do faktové tabulky logika patrná z grafu nutná orchestrace s náčtem dimenzionálních tabulek řešení chyby v jednotlivých fázích

ETL ETL v praxi Čtení z primárních zdrojů DB flatfile binary data file spreadsheet XML/JSON web service Datové zdroje Databáze Soubory Fronty zpráv Datový sklad Zápis do DWH DB web service Plánování, Extrakce, Transformace a zápis

Metadata

Čtení dat z databáze

Čtení dat z binárních souborů

Čtení dat z binárních souborů

Čtení dat ze spreadsheet souborů

Čtení dat z XML struktur

Čtení dat z web service

Závěrem...

Závěrem...

Diskuze Děkujeme za pozornost