Systém ETL Ing. Jan Přichystal, Ph.D..

Slides:



Advertisements
Podobné prezentace
Harmonogram implementace IS v běžné praxi - informatika ZMVS.
Advertisements

Podpora terénních prací v projektu NIKM - národní inventarizace kontaminovaných míst, automatizace úloh Roman Bukáček, Jiří Chroust, Petr Pala, Jiří Zvolánek,
Základy databázových systémů
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
S YTÉMOVÁ INTEGRACE Ing. Jiří Šilhán. S YSTÉMOVÁ INTEGRACE Jedná se o přístup, který přispívá k integraci nesourodých výpočetních systémů. Vyplývá ze.
Databáze.
Microsoft Office Access
Business intelligence
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Přednáška č. 5 Proces návrhu databáze
METODOLOGIE PROJEKTOVÁNÍ NÁVRH IS PRO TECH. PROCESY Roman Danel VŠB – TU Ostrava HGF Institut ekonomiky a systémů řízení.
Studie proveditelnosti datového skladu KrÚ Vysočina - zhodnocení
Databáze Jiří Kalousek.
Hana Kotinová Struktura a cíl práce Metody předzpracování dat Systémy předzpracování dat Historie vývoje DPT Jak program pracuje Budoucnost.
Geo-informační systémy
Analýza informačního systému
Tabulkový procesor.
D ATOVÉ MODELY Ing. Jiří Šilhán. D ATABÁZOVÉ SYSTÉMY Patří vedle textových editorů a tabulkových kalkulátorů k nejrozšířenějším představitelům programového.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Informační strategie. řešíte otázku kde získat konkurenční výhodu hledáte jistotu při realizaci projektů ICT Nejste si jisti ekonomickou efektivností.
CZ.1.07/1.4.00/ VY_32_INOVACE_169_IT 9 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
Relační databáze.
Konceptuální návrh databáze
Vypracoval: Ondřej Dvorský Třída: VIII.A
Databázové systémy. Práce s daty Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace.
Tvorba dokumentů – kritéria Obsah a forma –aktuálnost a správnost informací, variabilní data, –forma adekvátní příjemci, estetika, –účelná struktura, členění.
Databázové systémy Architektury DBS.
Základní pojmy Systém je abstrakce, kterou si lidé vytvářejí v procesu poznávání jako nástroj zkoumání reálných objektů.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Databázové systémy Přednáška č. 7 Uživatelské rozhraní.
Informatika pro ekonomy II přednáška 10
Databáze.
Dokumentace informačního systému
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
Konceptuální návrh databáze
Ivo Novotný Jak vybrat dodavatele vzdělávání JAK SI SPRÁVNĚ VYBRAT... Dodavatele vzdělávání.
Design databáze DW Ing. Jan Přichystal, Ph.D..
Realizační tým ICZ duben 2005
Databázové modelování
Databáze teorie.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Databázové systémy Informatika pro ekonomy, př. 18.
Databáze velké množství dat pevně dané struktury
Analýza informačního systému. Podrobně zdokumentovaný cílový stav Paramentry spojené s provozem systému – Cena – Přínosy – Náklady a úspory – …
Databázové systémy Přednáška č. 5 Datové typy a Fyzická organizace dat.
Databázové systémy Datové modely.
Univerzita třetího věku kurz Znalci Databáze 1.
Úvod do databází zkrácená verze.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
České vysoké učení technické v Praze Fakulta dopravní Ústav dopravní telematiky Geografické informační systémy Doc. Ing. Pavel Hrubeš, Ph.D.
Univerzitní informační systém III., Lednice 2004 E-přihlášky Ing. Tomáš Majer
Import dat Access (16). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro tělesně.
Databáze MS ACCESS 2010.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Vypracoval / Roman Málek
Ukládání dat biodiverzity a jejich vizualizace
Návrh, požadavky, implementace
Vlastnosti souborů Jaroslava Černá.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Budování Integrovaného informačního systému Národního památkového ústavu Petr Volfík, NPÚ ÚP
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Informatika pro ekonomy přednáška 8
Optimalizace SQL dotazů
Městská část Praha 6 Postup příprav GDPR Ing. Jan Holický, MBA
Geografické informační systémy
Návrh, požadavky, implementace
Sytémová integrace Ing. Jiří Šilhán.
Transkript prezentace:

Systém ETL Ing. Jan Přichystal, Ph.D.

Úvod ETL = Extrakce, Transformace a Loadování ETL systém je studnicí dat pro datový sklad ETL systém je tvůrcem i zhoubou DS ETL systém je jednoduchý i komplikovaný zároveň Budování ETL systému je výzva – tvůrce čelí tlakům ze strany „zákazníka“ i vedení ETL systém je tvořen dvěma proudy – Architektura a Data flow

Úvod

Architektura ETL

Získávání dat Zdroje dat Dočasné soubory Místo přípravy dat většinou relační DB, pro přenos do místa přípravy nutno konvertovat na dočasný soubor Dočasné soubory pro každý zdroj dat je jeden soubor, tyto soubory se poté slučují do jednoho Místo přípravy dat soubory ve formátu vhodném pro nahrávání do datového skladu relační DB (jednodušší manipulace s daty)

Získávání dat Extrakce dat nalezení zdrojů dat, „filtrování“ jednotlivých zdrojů generování dočasných souborů s daty transport souborů z různých platforem přeformátování vstupů z vnějších zdrojů, popř. z jednotlivých databází v rámci podniku generování aplikačního kódu pro extrakci dat řešení nekonzistencí mezi jednotlivými zdroji dat

Získávání dat Transformace dat mapování vstupních dat na data v datovém skladu čištění dat, odstranění duplicit, sloučení dat denormalizace dat ze vstupních relačních DB, dle požadavků datového skladu konverze datových typů výpočet a odvození hodnot atributů kontrola referenční integrity shromažďování dat dle potřeby vyřešení chybějících hodnot

Získávání dat Příprava dat záloha dat a zotavení z chyb databáze řazení a slučování souborů vytvoření nového souboru při změně dimenzí vytvoření záznamu o přiřazení jednotlivých datových položek datového skladu k souboru vytvoření primárních a cizích klíčů pro nahrávaná data

Uložení dat Uložení dat Data z místa přípravy dat většinou se využívá relačních databází datový sklad většinou se vychází z ER modelu datové trhy většinou se vychází z dimenzionálního modelu Data z místa přípravy dat soubory nebo tabulky pro iniciální, popř. inkrementální nahrávání dat

Uložení dat Mnohé funkce z oblasti získání dat Nahrání dat pro iniciální naplnění datového skladu Podpora nahrávání dat do více tabulek na detailní a sumarizační úrovni Optimalizace procesu nahrávání dat Záloha dat a zotavení při chybách Bezpečnost dat Monitorování a nastavování databáze Periodická archivace dat v databázi na základě nastavení

Infrastruktura Zahrnuje funkční elementy potřebné k tomu, aby byla architektura implementována Operační infrastruktura Lidé potřební pro údržbu datového skladu, procedury, školení, SW pro správu Fyzická infrastruktura HW prostředky, operační systémy, databázové systémy, síťový software

SW nástroje pro datový sklad Extrakce dat extrakce dat pro iniciální nebo inkrementální nahrávání dat výběr nástroje závisí především na vstupních datech Transformace dat transformace dat do požadované formy poskytnutí implicitních hodnot dle specifikace operace: rozdělení polí, standardizace, zrušení duplicit,...

SW nástroje pro datový sklad Nahrávání dat nahrání upravených dat do datového skladu ve formě snímků dat Vytvoření primárních klíčů pro přenášené tabulky Zajištění kvality dat asistence při nalezení a odstranění chyb řešení datových nekonzistencí v datových snímcích lze použít v místě přípravy dat nebo ve zdrojových datech

Provoz datového skladu Cíl: Manažeři by měli mít vždy přístup k aktuálním údajům Správa a načítání dat tedy většinou probíhá v noci (etapa ETL, přepočet krychlí, vygenerování sestav,…)

Data flow ETL

Příprava údajů – etapy ETL Klíčová úloha správy datového skladu

Etapy ETL Extrakce – výběr dat různými metodami Transformace – ověření, čištění, integrace a časové označení dat Loading – přesun dat do datového skladu Hlavní cíl: centralizace údajů nutné především proto, aby v datovém skladu byla dostatečně kvalitní data Nikdy nekončící proces (neustále nutnost aktualizovat). z různorodých datových zdrojů… indexace, sumarizace

Hlavní úkoly ETL procesu Určit data, která mají být uložena v datovém skladu Určit zdroje dat, interní i externí Příprava mapování mezi zdrojovými a cílovými daty Stanovení pravidel pro extrakci dat Určit pravidla pro transformaci a čištění dat Plán pro agregaci tabulek Návrh oblasti přípravy dat Napsat procedury pro nahrávání dat ETL pro tabulky dimenzí a faktů

Oblast přípravy dat Mezistupeň mezi vstupní databází a datovým skladem Dvě možnosti, kde provádět etapu ETL Lokální vynášení: transformace se provádí ve vstupní databázi a pak se data přenáší do cílové databáze Vzdálené vynášení: původní data se nejprve přenesou a jsou transformována v oblasti přípravy dat

Extrakce Zdroj: Data z nehomogenního operačního prostředí, popř. z archivních dat Různé možnosti extrakce Iniciální extrakce – provádí se především z archivních dat Periodická extrakce – z interních zdrojů Občasná extrakce – z externích zdrojů (např. Internet, statistické ročenky,…) Existují různé nástroje pro extrakci vlastní aplikace v C++ a jiných jazycích nebo nástavbách SQL (PL-SQL) přístupová brána (gateway) – pro malé objemy dat, jinak zatěžuje síť výstupy vlastních podnikových systémů

Extrakce – součásti procesu Identifikace zdrojů (struktury a aplikace) Stanovení metody extrakce pro každý zdroj manuální – napíši si sám SQL příkazy s využitím integrovaných nástrojů Frekvence extrakcí pro každý zdroj – většinou se liší pro různé zdroje Stanovení časového okna pro extrakci – kdy ji provádět Paralelní vs. sériová extrakce pro jednotlivé zdroje dat Zpracování výjimek při extrakci

Extrakce – identifikace zdrojů Výpis všech datových položek potřebných v tabulce faktů Výpis všech dimenzí Pro každou cílovou položku najdi zdroj a jeho položku Je-li více zdrojů pro jednu cílovou položku, vyber preferovaný zdroj Identifikace vícenásobných zdrojů pro jeden cíl – stanovení konsolidačních pravidel Identifikace vícenásobných cílů na jeden zdroj – stanovení dělících pravidel Určení implicitních hodnot Zjištění chybějících hodnot ve zdrojových datech

Extrakce – metody extrakce Metoda extrakce statických dat Vytvoření obrazu zdrojové databáze na výstupu Používá se při iniciálním nahrávání dat do skladu Metody extrakce při aktualizaci dat Metody přímé extrakce Metody odložené extrakce

Metody přímé extrakce Liší se způsobem zachycení změn v DB od posledního nahrání Zachycení pomocí log souborů (vytvořených databází) Zachycení pomocí databázových triggerů Při každé změně se spustí trigger, který zapíše změnu do souboru Zachycení pomocí samotných databázových aplikací Editace aplikace tak, aby ukládala záznamy o provedených změnách v DB

Metody odložené extrakce Nezachycují změny při jejich vzniku, ale až při nahrávání se porovnává zdrojová a cílová DB Zachycení pomocí časových razítek Razítky jsou označeny záznamy, které byly přidány nebo editovány – ty se pak při nahrávání dat naleznou (problém s mazáním) Zachycení pomocí porovnávání souborů Vytvoří se soubor s kopií dat ve stavu současném a včerejším, pak se soubory porovnají (velmi neefektivní) mazání – nejdřív označit, provést upload a pak smazat.

Tipy a triky Indexace sloupců ve WHERE klauzuli Vybírejte pouze nezbytná data Nepoužívejte DISTINCT, UNION, MINUS, INTERSECT Vyhněte se používání “<>” a NOT Minimalizujte počet funkcí ve WHERE klauzuli

Transformace Cílem je zvýšit kvalitu vstupních dat a zvýšit jejich použitelnost pro cílového uživatele Někdy je kvalita vstupních dat velmi proměnlivá → čištění dat (odstranění nekvalitních dat) Např. atribut Adresa – 3 vs. 1 hodnota Často je potřeba odstranit tzv. „anomálie“, které v klasických databázích běžně vznikají Příklad s tabulkou /atr. adresa celá vs. atr. město, PSČ atd.

Transformace (II.) Příklady anomálií: Přechod z OS Unix na MS Windows – např. kódování češtiny Lidský faktor – různé překlepy, pravopisné chyby Potřeba rozdělení složených atributů na atomické

Transformace – časté problémy Nejednoznačnost údajů Např. různě uložená informace o pohlaví zákazníka (M, muž, Muž,…) Chybějící hodnoty Tyto hodnoty je potřeba doplnit, popř. ignorovat nebo označit nějakým příznakem Duplicitní hodnoty Většinou není příliš velký problém je odstranit, někdy je to však časově náročné hodnoty s NULL v relační databázi

Transformace – časté problémy Konvence názvů pojmů a objektů je nutné sjednotit terminologii požívanou různými zdroji dat Různé peněžní měny problém vznikne např. při přechodu z CZK na Euro Formáty čísel a textových řetězců použití různých datových typů pro ukládání čísel (např. řetězce) Další příklady: např. rodná čísla s lomenem nebo bez problém s PSC s nulou na začátku se v INT smaže začátek

Transformace – časté problémy Referenční integrita Neustálé změny v reálném světě zkreslují data – např. i po zrušení oddělení firmy zůstanou v DB údaje o jeho zaměstnancích Chybějící datum Časový aspekt je v datových skladech velmi důležitý, ve vstupních datech však čas často chybí – často je nutné jej doplnit Vznikají tím nekonzistence v DB a hlavně to pak zkresluje výsledky analýzy

Cíle návrhu Důkladnost – správnost a kompletnost dat Správnost – kvalita dat i zpětně do provozních systémů Rychlost – velký tlak na rychlé zpracování dat Transparentnost – nalezené problémy ve zdrojových systémech je nutné řešit nikoliv skrývat

Transformace – typické úkoly Selekce Výběr vhodných atributů pro cílový sklad Rozdělování/spojování Rozdělení záznamu (datum, adresa,…), spojování více záznamů z různých zdrojů Konverze konverze záznamů (standardizace různých zdrojů, lepší použitelnost a srozumitelnost) Sumarizace místo detailních dat je vhodnější je sumarizovat Obohacení vytvoření lepšího pohledu na data na základě různých zdrojů

Hlavní typy transformace Revize formátu dat Pro tentýž atribut mohou být hodnoty např. ukládány numericky nebo jako řetězce Dekódování polí Různé kódování např. pohlaví,měny,… Výpočet odvozených polí (sumarizace) Rozdělení polí na části datum, jméno a příjmení Sloučení informací Informace o jednom produktu mohou být ve více zdrojových tabulkách

Hlavní typy transformace Konverze znakových sad Konverze měrných jednotek Konverze formátu data/času Sumarizace Restrukturalizace klíčů V rámci datového skladu musí být jednotné Deduplikace Odstranění duplicitních řádků v tabulce způsobených především chybami

Přenos dat Přesun údajů a jejich uložení do tabulek datového skladu Pokud možno by měl probíhat automatizovaně Rozlišujeme podle periody přesunů závisí především na požadavcích aplikace většinou jde o časově náročnou operaci, především u iniciálního přenosu ad 2: vytváří se spousta indexů, což by asi ručně nebylo reálné…

Tři typy nahrávání dat Iniciální nahrávání Inkrementální nahrávání Nahrávání všech dat do prázdného skladu Inkrementální nahrávání promítnutí změn v DB do datového skladu (provádí se periodicky) Přepis dat kompletní smazání obsahu skladu a nahrání aktuálních dat

Módy nahrávání dat Nahrání (Load) Přidání (Append) Pokud cílová tabulka obsahuje data, pak jsou smazána a nahrazena aktuálními Přidání (Append) Přidání nových dat ke stávajícím, při duplicitě může uživatel zvolit další postup Destruktivní sloučení Stejné jako přidání, při stejných klíčích se přepíše hodnota daného řádku Konstruktivní sloučení Při stejných klíčích se přidá nový prvek a označí se jako nový, starý v datovém skladu zůstane

Faktové tabulky Zrušit indexy před loadováním a následně znovu přegenerovat Oddělit UPDATE a INSERT dat Používat BULK load Používat partitions podle datumů Paralelizace loadu Minimalizovat updaty – často lepší smazat a nahrát novou verzi Vyřešit rollback log – často zbytečné

Problémy fáze ETL Je nutné zkontrolovat správnost dat v datovém skladu Dochází k chybám v HW i SW, výpadkům spojení Problémy mohou vzniknout při změně formátu vstupních dat

Děkuji za pozornost Dotazy?