Moderní přístupy tvorby datových skladů

Rozměr: px
Začít zobrazení ze stránky:

Download "Moderní přístupy tvorby datových skladů"

Transkript

1 Mendelova univerzita v Brně Provozně ekonomická fakulta Moderní přístupy tvorby datových skladů Diplomová práce Vedoucí práce: Ing. Jan Přichystal, Ph.D. Bc. Luboš Bednář Brno, 2010

2 Rád bych touto cestou poděkoval panu Ing. Janu Přichystalovi, Ph.D., za odborné vedení, cenné rady a připomínky, které mi poskytl při zpracování této diplomové práce. Dále patří podikování i panu Ing. Petru Kusému za odborné rady a mým blízkým za veškerou podporu během studia.

3 Prohlašuji, že jsem tuto diplomovou práci na téma Moderní přístupy tvorby datových skladů vypracoval samostatně s použitím literatury, kterou uvádím v seznamu. V Brně dne 22. prosince

4 4 Abstract Bednář, L. Modern approaches to data warehouse creation. Diploma thesis This thesis deals with design of methodology ensuring configuration, logging, testing, deployment, and maintainance of data warehouses throught defined principles and creating appropriate tools. It describes the theory of this issue, analysis current methodology of data warehouse creation and proceed with implementation of own work expanding methodology with concrete principles and tools, which are applied in complex project creation. Key words: Business Intelligence, configuration, data warehouse, deployment, ETL, logging, maintainance, OLAP, SQL Server, testing. Abstrakt Bednář, L. Moderní přístupy tvorby datových skladů. Diplomová práce Práce se zabývá návrhem metodiky zajišťující konfiguraci, logování, testování, nasazení, údržbu a provoz datových skladů prostřednictvím definovaných principů a vytvořením odpovídajících nástrojů. Popisuje teorii týkající se dané problematiky, analyzuje současnou metodiku tvorby datových skladů a pokračuje v realizaci vlastní práce rozšiřující metodiku o konkrétní principy a nástroje, které jsou aplikovány při tvorbě komplexního projektu. Klíčová slova: Business Intelligence, datový sklad, ETL, konfigurace, logování, nasazení, OLAP, SQL Server, testování, údržba.

5 OBSAH 5 Obsah 1 Úvod a cíl práce Úvod práce Cíl práce Datové sklady a Business Intelligence Definice pojmů Business Intelligence Datový sklad Vývoj Business Intelligence Základní principy Multidimenzionální přístup Rozdíly mezi OLTP a OLAP OLAP na úrovni relační databáze Granularita Agregace dat Hlavní komponenty datových skladů Zdrojové systémy Dočasné úložiště dat ETL Datový sklad a datové tržiště OLAP databáze Klientské aplikace (Reporting) Dolování dat Přístupy k tvorbě datových skladů Jednorázové budování datového skladu Postupné (iterativní) budování datového skladu Životní cyklus datového skladu Role v projektu datového skladu Užití datových skladů Metodika tvorby datového skladu Projektový plán Modelování datového skladu Modelování technologické platformy Návrh technologické architektury Návrh fyzického modelu Návrh objemu datového skladu Implementace Předimplementační příprava Implementace dočasného úložiště dat Implementace datového skladu

6 OBSAH Implementace ETL Implementace OLAP databází Implementace klientských aplikací Testování Validace modelu datového skladu Testování dočasného úložiště dat Testování datového skladu Testování OLAP databází Testování reportů Nasazení Příprava plánu nasazení Zaškolení uživatelů Nasazení Provoz, údržba a rozvoj Údržba datového skladu Rozvoj datového skladu Metodická východiska práce Použitá metodologie Použité nástroje a technologie Vlastní práce Konfigurovatelnost ETL řešení Struktura konfiguračních tabulek Využití konfiguračních tabulek při ETL Logování ETL Struktura logovacích tabulek Procedury a funkce Šablony ETL balíků Reportovací nástroj Testování Struktura testovacích tabulek Příprava konfiguračních dat Realizace testovacího mechanismu Reportovací nástroj Nasazení a konfigurace Vytvoření struktur datového skladu Konfigurace Zajištění automatizovaného provozu Údržba a provoz Struktura tabulek pro údržbu Procedury pro naplnění tabulek Reportovací nástroj

7 OBSAH Aplikace komponent při realizaci projektu Projektová příprava Implementace Nasazení Údržba a provoz Interpretace a porovnání výsledků Diskuse Přínosy a užití vytvořených principů a nástrojů Možnosti rozšíření Srovnání s existujícími řešeními Závěr 83 8 Literatura 84 Přílohy 86 A Ukázka zdrojových kódů 87 B Skripty pro zajištění automatizovaného provozu 95 C Projektový plán a multidimenzionální analýza 96

8 1 ÚVOD A CÍL PRÁCE 8 1 Úvod a cíl práce 1.1 Úvod práce Datové sklady a Business Intelligence je velmi dynamická oblast stojící na pomezí mezi informatikou, řízením podniku a statistikou. Velké množství firem po celém světě již využívá možnosti, které Business Intelligence nabízí v oblasti analýzy a prezentace informací. Trend nasazování těchto řešení je stále rostoucí a firmy, které efektivně nasazují Business Intelligence získávají konkurenční výhodu ve svém oboru. Tak, jako narůstá množství dat v podniku, ukazuje se potřeba tyto data efektivně zpracovat a přehledně prezentovat. Zavedení ERP 1, CRM 2 a jiných informačních systémů bezesporu zlepšuje nejen efektivnost podnikových procesů, ale i centralizaci a snížení chybovosti dat. Nicméně neméně důležité je dále tato data využít. Business Intelligence dokáže z velkého množství uložených a velmi často dále nevyužitých dat efektivně získat znalosti a tím výrazně zkvalitnit rozhodování a řízení podniku. Podle výzkumu společnosti Gartner, jednoho z největších poskytovatelů IT řešení zabývající se mimo jiné i Business Intelligence, bude do roku 2012 více než 35 procent z 5000 největších celosvětových společností selhávat v rozhodování o podstatných změnách v jejich podnikání. Proto se předpokládá, že až 40 procent z rozpočtu firem bude od roku 2012 vynaloženo na analytické aplikace a služby (Gartner Inc., 2009). Z toho plyne, že oblast Business Intelligence a datových skladů má opravdu velký význam a to nejen pro velké firmy, ale i pro ty střední a menší, pro které je práce s informacemi na základě jejich dat neméně důležitá. V současné době si již firmy začínají uvědomovat, že uskutečněním správných rozhodnutí postavených na kvalitních analytických nástrojích dokáží nejen zvýšit obrat, ale i přinést úspory. Vývoj datových skladů a Business Inteligence řešení je specifický tím, že každá realizace se podstatně liší použitými technologiemi, zdrojovými systémy, požadavky apod. Ačkoliv již existuje celá řada řešení popisující realizaci datových skladů, jsou tato řešení obvykle velmi specifická a mohou sloužit většinou pouze k inspiraci při vývoji vlastního projektu. Definování principů, které lze obecně využít při tvorbě datových skladů, je prospěšnější než současný stav nabízející pouze návody na realizaci konkrétních projektů. 1.2 Cíl práce Cílem diplomové práce je návrh obecné metodiky zajišťující konfiguraci, logování, testování, nasazení, údržbu a provoz datových skladů prostřednictvím definovaní principů a vytvořením odpovídajících nástrojů. Uvedené principy jsou totiž podmínkou pro realizaci správně fungujícího datového skladu. Pokud je na počátku 1 Enterprise Resource Planning 2 Customer Relationship Management

9 1.2 Cíl práce 9 zvolen nesprávný přístup a zanedbány komponenty jako obecná konfigurace, logování a automatizované testování, pak je v praxi projekt většinou velmi nákladný a může být nejen složité jej dokončit, ale i spravovat. Na základě vytvořené metodiky je v poslední části provedena realizace datového skladu aplikací uvedených komponent.

10 2 DATOVÉ SKLADY A BUSINESS INTELLIGENCE 10 2 Datové sklady a Business Intelligence 2.1 Definice pojmů Business Intelligence Business Intelligence (BI) představuje komplex přístupů a aplikací IS/ICT 3, které téměř výlučně podporují analytické a plánovací činnosti podniků a organizací a jsou postaveny na principu multidimenzionality, kterým zde rozumíme možnost pohlížet na realitu z několika možných úhlů (Novotný, Pour, Slánský, 2005, s. 1). V rámci širšího pojetí si lze pod termínem BI představit celkové řešení podporující analytické a rozhodovací procesy v organizaci. V užším pojetí, často používaném firmou Gartner, lze pod BI rozumět analytické platformy pracující nad databází datového skladu a poskytující přímou podporu analytickým a rozhodovacím procesům organizace (Pittner, 2007). Účelem Business Intelligence je konvertovat velké objemy dat na znalosti, které jsou potřebné pro koncové uživatele. Přeměnu dat na informace, informací na znalosti a budování moudrosti na základě znalostí můžeme zobrazit na hierarchické pyramidě informačních úrovní (obr. 1). Základem všeho jsou data. Data obsahují jen jednoduchá fakta, informace z nich získáme až tehdy, pokud přidáme k datům souvislosti. Když se kromě informací využije i tvořivá inteligence, získáme znalosti. Pokud tyto znalosti zobecníme, získáme moudrost, to znamená schopnost přesného zhodnocení znalostí a jejich následné uplatnění v reálné praxi (Lacko, 2006, s. 11). Obr. 1: Hierarchie informačních úrovní (Lacko, 2006, s. 11) 3 Informační systémy a technologie

11 2.2 Vývoj Business Intelligence Datový sklad Podle nejznámější definice Billa Inmona je datový sklad podnikově strukturovaný depozitář subjektově orientovaných, integrovaných, časově proměnných, historických dat použitých na získávání informací a podporu rozhodování. V datovém skladu jsou uložena atomická a sumární data (Inmon, 2003, s. 31). Pro správné pochopení této definice je nutné rozumět následujícím pojmům: Orientace na předmět (subjektová orientace) Data se do datového skladu zapisují spíše podle předmětu zájmu, než podle aplikace, ve které byla vytvořena. Při orientaci na subjekt jsou data v datovém skladu kategorizována podle subjektu, kterým může být např. zákazník, dodavatel, zaměstnanec, výrobek apod. Integrovanost Datový sklad musí být jednotný a integrovaný. To znamená, že data týkající se konkrétního předmětu se do datového skladu ukládají jen jednou. Data přicházejí do datového skladu z nekonzistentního a neintegrovaného operačního prostředí. Proto musí být data v etapě přípravy a zavedení upravena, vyčištěna a sjednocena. Pokud data nejsou konzistentní a důvěryhodná, tak datový sklad ztrácí význam. Časová variabilita Data se ukládají do datového skladu jako série snímků, ze kterých každý reprezentuje určitý časový úsek. Na rozdíl od operačního prostředí, kde jsou data platná v okamžiku přístupu, v datových skladech jsou data platná vždy pro určitý časový moment, časový snímek. Typicky jsou v datovém skladu uložena data za delší časové období (několik let). Neměnnost Data v datovém skladu se obvykle nemění ani neodstraňují, jen se v pravidelných intervalech přidávají nová data (Lacko, 2006, s ). 2.2 Vývoj Business Intelligence Řešení směřující k podpoře manažerských a analytických úloh v podnikovém řízení se začala objevovat již na konci sedmdesátých let minulého století v souvislosti s rozvojem on-line zpracování dat. Prvotní pokusy a aplikace jsou spojeny s americkou firmou Lockheed. V polovině osmdesátých let byly publikovány první významné práce k tomuto typu aplikací (prof. Rockart: CEO Goes On-line a některé další). V druhé polovině osmdesátých let přišly na trh v USA první firmy s komerčními produkty, založenými na multidimenzionálním uložení a zpracování dat, označovanými jako EIS 4, a to firmy Comshare a Pilot. Trh s EIS produkty se pak velmi rychle rozvíjel a na začátku devadesátých let (od roku 1993) se tyto produkty začaly prosazovat i na českém IS/ICT trhu. 4 Executive Information System

12 2.3 Základní principy 12 Koncem osmdesátých a začátkem devadesátých let se v USA začal velmi silně prosazovat i další trend v multidimenzionálních technologiích, a to datové sklady (Data Warehouse) a datová tržiště (Data Marts). Za rozvojem těchto technologií stáli především Ralph Kimball a Bill Inmon. Větší uplatnění datových skladů a tržišť je na českém trhu patrně spíše až v druhé polovině devadesátých let. V souvislosti s datovými sklady a narůstajícím objemem dat v tomto prostředí se v průběhu devadesátých let začaly prosazovat i technologie a nástroje tzv. dolování dat (Data Mining) založené na vysoce sofistikovaných analýzách dat s pomocí nejrůznějších matematických a statistických metod (Novotný, Pour, Slánský, 2005, s. 17). 2.3 Základní principy Multidimenzionální přístup Pro systémy pracujícími s analytickými informacemi se vžil v osmdesátých letech minulého století název OLAP (On-Line Analytical Processing). OLAP systémy jsou již optimalizované pro uložení a interaktivní využívání multidimenzionálních dat. Základním principem je několikadimenzionální tabulka umožňující velmi rychle a pružně měnit jednotlivé dimenze, a nabízet tak různé pohledy na modelovanou realitu. Jde tak v podstatě o princip n-dimenzionální Rubikovy kostky (obr. 2) naplněné nejdůležitějšími podnikovými daty (Novotný, Pour, Slánský, 2005, s ). Z obrázku vyplývá, že standardními dvěma dimenzemi jsou zvolené metriky (sledované ukazatele) a čas. Ostatní dimenze se definují dle potřeby, např. zákazník, produkt, organizační jednotka atd. Obsah dimenzí je tvořen prvky dimenzí, tj. konkrétními zákazníky, produkty apod. Promítnutí všech dimenzí do jednoho bodu tvoří prvek multidimenzionální databáze. Prvky dimenzí jsou většinou uspořádány v hierarchické struktuře, kde se rozdělují na skupiny prvků, podskupiny a jednotlivé prvky. Datové sklady pak zajišťují automatické agregace hodnot (metrik) podle definovaných hierarchických úrovní dimenzí. OLAP systémy lze obecně charakterizovat takto: Zdrojem dat jsou transakční systémy (produkční databáze). Data jsou uložena multidimenzionálně. Obsahují různé úrovně agregace dat podle hierarchické struktury dimenzí. Zachycují faktor času Rozdíly mezi OLTP a OLAP Data jsou obvykle v podnicích ukládána do transakčních OLTP (On-Line Transaction Processing) databází. Ty jsou určeny pro vykonávání velkého množství online transakcí, například bankovních, obchodních a podobně. Takové databáze

13 2.3 Základní principy 13 Obr. 2: Princip multidimenzionální databáze [ mec/winter2009/lipa/puzzles/lesson2.html] jsou propojeny na IT systémy, jejichž cílem je automatizace každodenních činností, například skladové hospodářství, mzdy, nákup a prodej, případně řízení a monitorování technologických procesů v reálném čase. OLTP databáze jsou z důvodu jednoduchého dotazování a vyloučení redundance zpravidla normalizované, tzn. vyhovují pravidlům tzv. normálních forem. Výsledkem dotazování v transakčních databázích jsou databázové tabulky, souhrny získané pomocí agregačních funkcí, různé sestavy a podobně. Nicméně existuje několik zásadních nevýhod a problémů při snaze využítí OLTP systémů pro analýzu dat. Jsou jimi: výpočetní výkon OLTP systémy dosahují vysokých výkonů spíše při on-line transakcích než při složitých analýzách, které jsou velmi náročné na výpočetní kapacitu. nehomogenní struktura dat OLTP systémy nemají k dispozici integrovaný zdroj údajů ze všech operačních systémů v rámci podniku tak, aby umožnily tvorbu komplexních analýz. To znamená, že potřebná data jsou roztroušena v různých zpravidla heterogenních OLTP systémech. uchovávání historických dat OLTP systémy často neumožňují uchovávání dat po delší dobu (například při změně cen zboží, měnových kurzů), takže v mnoha případech chybí historická data potřebná na komplexní analýzu nebo predikci.

14 2.3 Základní principy 14 Obr. 3: Schéma hvězdy (Novotný, Pour, Slánský, 2005, s. 114) Komplexní analýza tedy vyžaduje jiné techniky návrhu databází, například použití multidimenzionálních schémat s tabulkami faktů, které obsahují měřitelné jednotky obchodování a vysoce denormalizované tabulky dimenzí. (Lacko, 2006, s ) OLAP na úrovni relační databáze Datové modely transakčních systémů jsou velmi rozsáhlé a obsahují mnoho tabulek a jejich vazeb. Právě množství tabulek, které je pro vykonání komplexní analýzy nutné propojit, je největší zátěží systému. Proto byl pro účely tvorby datových skladů vytvořen relační dimenzionální model. Jde o zjednodušení ERD diagramu do typů schémat uvedených na obrázcích 3 a 4, tedy schéma hvězdy a schéma sněhové vločky. Obě tato schémata jsou založena na existenci tzv. tabulky faktů, která se nachází v samém středu schématu. Tabulka faktů obsahuje sledované ukazatele identifikovatelné klíčem složeným z klíčů tzv. dimenzionálních tabulek, v nichž jsou uloženy prvky jednotlivých dimenzí. Dimenzionální tabulky slouží jako úložiště textových informací o hodnotách uložených v tabulce faktů. Rozhodnutí, jestli má být pole zařazeno do faktové tabulky nebo tabulky dimenzionální je závislé na tom, je-li sledovaná veličina měřitelná a měnící se v čase. Pokud ano, patří do faktové tabulky. Pokud ne, a jedná se o hodnotu diskrétní, která vystupuje spíše jako konstanta, pak jde o položku z dimenzionální tabulky.

15 2.3 Základní principy 15 Obr. 4: Schéma sněhové vločky (Novotný, Pour, Slánský, 2005, s. 114) Rozdíl mezi uvedenými schématy: Schéma hvězdy je podstatně rychlejší v době odezvy pro poskytování výstupů, neboť odpadají operace spojování mezi tabulkami jednotlivých úrovní; nabízí možnost využití bitmapových indexů, jelikož obsahuje sloupce s nízkou kardinalitou; umožňuje jednodušší prohlížení dimenzí a zadávání filtrů pro všechny hierarchické úrovně dimenze; je neefektivní při častých změnách v hierarchiích prvků dimenze; neumožňuje tvořit agregace podle denormalizovaných atributů v rámci tabulky dimenze. Schéma sněhové vločky díky normalizaci dat je toto řešení výhodné při častých změnách v dimenzích a v hierarchické struktuře jejich prvků; vede k úspoře místa v databázi datového skladu, což je ale v důsledku nízkého počtu dat v tabulkách dimenzí zanedbatelné;

16 2.3 Základní principy 16 umožňuje využívat prostředky pro vynucení referenční integrity a kardinality; její využití je nezbytné při tvorbě společné sběrnice dimenzí; nabízí výhody pro efektivní tvorbu agregačních tabulek; je méně přehledné ve srovnání se schematem hvězdy; realizace spojení tabulek je velmi složitá a komplexní a je i v současných databázových systémech časově velmi náročná (Novotný, Pour, Slánský, 2005, s ). Hlavní rozdíl je tedy v tom, že schéma sněhové vločky je normalizované schéma hvězdy. Jeho hlavní výhodou je snadnější provádění úprav v normalizovaných tabulkách. Na druhou stranu více vazeb mezi tabulkami způsobuje prodloužení vykonávání dotazů, proto schéma sněhové vločky není vhodné pro rozsáhlejší datové sklady Granularita Granularita je jedním z nejvýznamnějších aspektů při návrhu datového skladu. Granularita určuje úroveň podrobnosti údajů, tzn. faktů uložených ve faktové tabulce. Je také přímo závislá na úrovni podrobnosti dimenzí odpovídající příslušné tabulce faktů. Například je-li v časové dimenzi definovaná struktura až na jeden den, a v dimenzi Produkt na jeden dílčí produkt, pak každý záznam v tabulce faktů (zrno) je na úrovni jednoho dílčího produktu a jednoho dne. Tím je dána granularita tabulky faktů (Novotný, Pour, Slánský, 2005, s. 116). Čím více podrobných údajů se v datovém skladu ukládá, tím nižší je úroveň granularity. Například jedna transakce tvoří nízkou úroveň granularity. Na druhou stranu souhrn transakcí za měsíc tvoří vysokou úroveň granularity. Je tedy pochopitelné, že úroveň granularity výrazně ovlivňuje jak celkový objem dat, které se nachází v datovém skladu, tak i úroveň detailu, která může být dotazována. Při návrhu datového skladu je proto vždy nutné zvolit takovou úroveň granularity, která je nejvhodnější pro konkrétní potřeby. V některých případech může být ale obtížné rozhodnout, jaká úroveň granularity je nejvhodnější. Proto lze vytvořit tzv. dvojí úroveň granularity, která umožňuje aktuální data ukládat ve značných podrobnostech a poté po zvoleném časovém úseku tyto data sumarizovat. Vysoká úroveň detailu je obvykle vyžadována u aktuálních dat, například do jednoho měsíce v závislosti na typu dat. Zatímco u starších dat se dotazují většinou již data agregovaná. Takto lze efektivně nastavit granularitu tak, aby bylo uspokojeno největší množství dotazů při udržitelné zátěži na systém (Inmon, 2003, s ). Typy granularit: Snímková granularita Data vstupují do datového skladu ve stejných časových úsecích (snímcích). Volba časového úseku pak samozřejmě ovliv-

17 2.4 Hlavní komponenty datových skladů 17 ňuje nejen granularitu, ale i nárůst objemu dat v datovém skladu. V praxi je tento typ granularity nejpoužívanější. Transakční granularita Do datové skladu vstupují detailní informace vázány na jednotlivé transakce. Časový úsek tak není stejný, ale závisí na době výskytu jednotlivých transakcí. Transakce je vhodné rozdělit časovou dimenzí na čas jednotlivých transakcí a kombinovat se snímkovou granularitou. Akumulovaná granularita (stavová) Data vstupující do datového skladu jsou závislá na výskytu transakcí, ale jejich hodnoty se v čase postupně aktualizují. Například při postupném objednávání zboží na sklad se tak udržuje přehled o aktuálním stavu a vývoji dané objednávky (Novotný, Pour, Slánský, 2005) Agregace dat Již z principu datových skladů značná část dotazů směřuje na agregovaná data, například kolik hovorů uskutečnil zákazník za první měsíc v daném regionu. Pokud jsou data uložena v granularitě odpovídající dnům, pak pro získání výsledku je třeba sečíst (agregovat) všechny dny daného měsíce odpovídající zadaným kritériím. Nicméně všechny data nelze agregovat stejně. Z tohoto pohledu se data v tabulce faktů rozdělují na: data plně aditivní, která lze téměř libovolně agregovat (například množství prodaných kusů, prodeje, apod.); data neaditivní, kde agregace hodnot nedává smysl (například sazba marže v procentech); data semiaditivní, kde agregované hodnoty mají smysl pouze podle určitých dimenzí. Například u položky Stav zasob Ks mají agregace smysl podle dimenze produktů, ale nikoli v čase. Tento typ agregovaných hodnot se nejčastěji využívá v případě skladů. 2.4 Hlavní komponenty datových skladů Hlavní komponenty datových skladů jsou uvedeny na obrázku 5. Jsou jimi zdrojové databáze, dočasné úložiště dat, ETL transformace, datový sklad a datová tržiště, OLAP databáze, klientské aplikace a dolování dat Zdrojové systémy Produkční (zdrojové) systémy jsou takové systémy podniku, ze kterých aplikace Business Intelligence získávají data a nepatří do skupiny BI aplikací. Většina těchto

18 2.4 Hlavní komponenty datových skladů 18 Obr. 5: Komponenty datového skladu (zdroj: seznamte-se-s-bi) systémů je transakčních, podporující ukládání a modifikaci dat v reálném čase, nevhodných pro analytické úlohy. Příkladem těchto systémů mohou být ERP 5, SCM 6, CRM 7 a další systémy. Dalším zdrojem pro datové sklady mohou být i externí systémy (výstupy statistického úřadu, telefonní seznamy, apod.). Produkční systémy jsou hlavním, a často i jediným vstupem pro datové sklady. V praxi je zpravidla zdrojových systémů několik, přičemž se jedná běžně o heterogenní systémy, datově i technologicky. Důležitým úkolem je proto tyto systémy důkladně analyzovat a vhodně vybrat relevantní data pro jejich integraci do datových skladů z hlediska budoucích výstupů (Novotný, Pour, Slánský, 2005, s ) Dočasné úložiště dat Dočasné úložiště dat, neboli DSA (Data Staging Area), je první komponentou datového skladu. Její úlohou je dočasně uchovávat netransformovaná data z produkčních systémů a podporovat jejich efektivní extrakci, před jejich zpracováním v datovém skladu. Důvodem existence dočasného úložiště je přenesení dat s minimálním dopadem na výkonost produkčních (zdrojových) systémů a konverze dat z heterogenního prostředí do stejného formátu. Vlastnosti dat uložených v DSA: detailní data nejsou agregovaná; nekonzistentní data nejsou kontrolována na jejich konzistenci; neobsahující historii pouze aktuální data se přenášejí ze zdrojových systémů; 5 Enterprise Resource Planning 6 Supply Chain Management 7 Customer Relationship Management

19 2.4 Hlavní komponenty datových skladů 19 měnící se před každým snímkem jsou struktury prázdné a načítají se pouze data, která jsou nová nebo modifikovaná; shodné struktury data jsou v takové struktuře jako ve zdrojových systémech; interní k datům nemají přístup koncoví uživatelé. Dočasné úložiště dat není povinnou komponentou datového skladu, ale v mnoha případech je velmi vhodné jej využít (Novotný, Pour, Slánský, 2005, s. 30) ETL ETL (Extraction, Transformation, and Loading) je jednou z nejvýznamnějších komponent datového skladu. Běžně se tato komponenta označuje jako datová pumpa. Jejím úkolem je integrovat data z produkčních systémů do datového skladu. Tento proces se skládá ze tří kroků: Extraction získat (extrahovat) data z produkčních (zdrojových) systémů například do dočasného úložiště dat; Transformation upravit data do požadované formy a očistit; Loading nahrát data do předem definovaných, specifických struktur (schéma) datového skladu. Prostřednictvím ETL se získávají data ze všech zdrojových systémů libovolné struktury a typu. ETL komponenta pracuje v dávkovém režimu automatizovaně, data jsou tedy přenášena v určitém časovém intervalu, nejčastěji denně (Novotný, Pour, Slánský, 2005, s. 29) Datový sklad a datové tržiště Datový sklad je souhrn transformovaných, očištěných dat extrahovaných ze zdrojových systémů prostřednictvím komponenty ETL v souladu s definicí datového skladu (viz kapitola 2.1). Tzn. data se zde nachází integrovaná, subjektově orientovaná, stálá a časově rozlišitelná. Datové tržiště je podmnožina datového skladu dle požadavků určitých skupin uživatelů, jejíž vzájemnou integrací je utvářeno celopodnikové řešení. K vytváření datových tržišť se přistupuje z důvodu ekonomického efektu (zkrácení návratnosti investic, snížení nákladů, zmenšení rizika při zavádění) a psychologického efektu (fungující podmnožina datového skladu prohlubuje důvěru v úspěšnost a potřebnost celého datového skladu).

20 2.4 Hlavní komponenty datových skladů OLAP databáze OLAP databáze představují jednu nebo několik souvisejících OLAP kostek (analytických datových krychlí). Ty většinou, na rozdíl od datových skladů, již zahrnují předzpracované agregace dat podle definovaných hierarchických struktur dimenzí a jejich kombinací. Datová krychle se skládá z dimenzí, které jsou umístěny na osách, a metrik, nacházejících se v jejich průsečících, obsahující zkoumaná data. Technologie OLAP se realizuje v několika variantách: MOLAP (Multidimensional OLAP) data jsou uložena v multidimenzionálních (binárních) OLAP kostkách; ROLAP (Relational OLAP) data jsou uložena v relační databázi; HOLAP (Hybrid OLAP) kombinace předchozích přístupů, data jsou uložena v relační databázi a agregované hodnoty v binárních OLAP kostkách; DOLAP (Desktop OLAP) umožňuje připojit se k centrálnímu úložišti OLAP dat a stáhnout si potřebnou podmnožinu kostky na lokální počítač.veškeré analytické operace jsou pak prováděny nad touto lokální kostkou, takže uživatel nemusí být připojen k serveru, což je výhodné pro mobilní aplikace a uživatele (Novotný, Pour, Slánský, 2005, s. 33) Klientské aplikace (Reporting) Reporting je komponenta datového skladu, která se nachází na jeho nejvyšší úrovni. Prostřednictvím reportingu se přistupuje (dotazuje) na data uložená v relačních i OLAP databázích datového skladu. Lze jej dále rozdělit na: standardní reporting, u kterého jsou spouštěny předpřipravené dotazy ručně nebo v pravidelných časových intervalech; ad hoc reporting, kde jsou na data většinou jednorázově formulovány specifické dotazy vytvořené uživatelem. Data jsou z databází dotazována prostřednictvím dotazovacích jazyků SQL a MDX. SQL SQL (Structured Query Language) je standardizovaný dotazovací jazyk určený pro práci s daty v relačních databázích. SQL příkazy se dělí na několik základních skupin: příkazy pro definici datových struktur (DDL), příkazy pro manipulaci s daty (DML), příkazy pro řízení transakcí, příkazy pro řízení přístupových práv (Hernandez Viescas, 2004).

21 2.4 Hlavní komponenty datových skladů 21 MDX MDX (MultiDimensional expressions) je jazyk multidimenzionálních výrazů, který umožňuje definovat dotaz, na základě kterého jsou z kostky databáze OLAP vybrány požadované údaje (Spofford, 2001) Dolování dat Dolování dat (Data Mining) je další komponentou datového skladu umožňující pomocí algoritmů využívajících znalostí statistiky a umělé inteligence získávání netriviálních skrytých a potenciálně užitečných informací z dat. Je to analytická technika pevně spjatá s datovými sklady, jako s velmi kvalitním datovým zdrojem pro tyto analýzy. Dolování dat lze charakterizovat jako proces extrakce relevantních, předem neznámých nebo nedefinovaných informací z velmi rozsáhlých databází. Důležitou vlastností dolování dat je, že se jedná o analýzy odvozované z obsahu dat, nikoli předem specifikované. Jedná se tedy o odvozování prediktivních informací (Novotný, Pour, Slánský, 2005, s. 35). Dolování dat slouží k objevování nových skutečností, předvídání trendů, testování hypotéz, nebo i vyhledávání anomálií v datech využitím následujících technik: Klasifikace je nejpoužívanější technikou při dolování dat. Jejím úkolem je přiřazení kategorie zkoumané charakteristice na základě společných znaků ze vstupních informací pro každý záznam. Zkoumaná vlastnost je tedy funkcí vstupních atributů. Známé algoritmy pro klasifikaci jsou rozhodovací stromy, neuronové sítě, nebo naivní Bayesovské klasifikátory. Segmentace (Clustering) je metodou rozdělující data do skupin (clusterů) dle určitých kritérií. Tato kritéria nejsou předem obvykle známá a úlohou segmentace je jejich nalezení. Asociace je problém tzv. analýzy nákupního koše. Jejím úkolem je nalezení kombinací, které se ve vstupních datech nejčastěji objevují společně. Regrese je metodou velmi podobnou klasifikaci, rozdíl je v tom, že se ze vstupních informací nehledají společné znaky popisující kategorii, ale číselné hodnoty. Druhy regrese jsou lineární regrese a logistická regrese (binární). Predikce na základě posloupnosti a charakteristice vstupních číselných hodnot zkoumá jejich budoucí vývoj. Algoritmy pro predikci jsou například ARIMA a lineární regrese založená na rozhodovacích stromech (MacLennan Crivat Tang, 2009, s. 6 8).

22 2.5 Přístupy k tvorbě datových skladů Přístupy k tvorbě datových skladů Jednorázové budování datového skladu Budování datového skladu najednou není příliš obvyklé a je charakteristické pro velmi malé datové sklady. Mezi nejvýznamnější důvody proč není vhodné jednorázové budování datových skladů je velmi často se měnící požadavky, popř. technologie a neexistence možnosti postupného sledování návratnosti investic Postupné (iterativní) budování datového skladu Princip budování datového skladu krok za krokem iterativně je pro oblast datových skladů přirozený. Jde o tzv. evoluční přístup. Produkční (zdrojová) data jsou do datového skladu zahrnována postupně. Tím jak jsou přinášena nová data se zároveň rozšiřuje i počet uživatelů datového skladu a možnosti jeho využití (Inmon, 2003, s. 41). Tvorba datových skladů iterativně je charakteristická těmito vlastnostmi: budování datového skladu po malých částech (modulech) v krátkých intervalech, možnost sledování návratnosti investic, spolehlivě fungující menší celky zvyšují důvěru uživatelů v datový sklad, pružné přizpůsobeni měnícím se požadavkům a technologiím. 2.6 Životní cyklus datového skladu Životní cyklus datového skladu je podobný jako životní cyklus jiných softwarových projektů. Model životního cyklu, který se obvykle využívá při tvorbě datových skladů je specifický druh spirálovitého, tzv. prototypového modelu nazvaný rapid prototype and iterate model 8 upraveného pro potřeby tvorby datových skladů založeného na principech R. Kimballa. Tento model je při tvorbě datových skladů charakteristický tím, že je na základě důkladné analýzy požadavků vytvořen první prototyp, který je nasazen a využíván určitou zpravidla úzkou skupinou uživatelů. Na základě zkušenosti uživatelů s prvním prototypem jsou definovány nové požadavky a datový sklad je dále rozšiřován pro další skupiny uživatelů, kteří definují nové potřeby a požadavky (Whherescape RED, 2006). Tento postup je iterační proces tvořen zpravidla následujícími částmi: projektový plán modelování datového skladu modelování technologické platformy implementace a vývoj 8 název se do češtiny nepřekládá

23 2.7 Role v projektu datového skladu 23 testování nasazení provoz, údržba a rozvoj Více o jednotlivých částech životního cyklu je uvedeno dále v kapitole 3 (Metodika tvorby datového skladu). 2.7 Role v projektu datového skladu Role při tvorbě datového skladu jsou chápány jako typové skupiny pracovníků, kteří mají v projektu obdobnou pozici a plní podobné úkoly. Jednotlivé role mají v projektu určité definované zodpovědnosti za jednotlivé funkce a procesy datového skladu. V závislosti na velikosti projektu mohou být určité role vykonávány více pracovníky, nebo naopak více rolí vykonáváno jedním pracovníkem. Role při tvorbě datových skladů jsou: Sponsor je to vlastník projektu a nese finanční odpovědnost za projekt. Projektový manažer je to osoba zodpovědná za chod projektu a koordinující všechny procesy projektu. Musí mít jak dostatečný analytický a technologický přehled, tak výborné komunikační a organizační schopnosti. Vedoucí projektu ze strany podniku je to osoba ze strany podniku, která zastupuje budoucí uživatele datového skladu. Zodpovídá za prosazování, specifikaci a kontrolu uživatelských požadavků. Analytik je zodpovědný za analýzu a realizaci uživatelských požadavků, za přípravu a řešení konceptuálních a logických modelů datového skladu a za návrh klientských aplikací. Datový architekt jeho úkolem je detailní analýza dat a vytvoření datových modelů. Databázový specialista je to osoba, která překládá datový model do fyzické struktury databázových tabulek. Dále vytváří indexovací strategie a další fyzické databázové charakteristiky. Návrhář ETL jeho úkolem je navržení a realizace datových pump, tzn. procedur pro extrakci dat z produkčních systémů, jejich transformaci a ukládání do datového skladu. Vývojář koncových aplikací je to osoba, která vytváří koncové aplikace datového skladu (sady reportů, apod.), rovněž se stará o jejich údržbu a rozvoj. Školitel jeho úkolem je kvalifikační příprava uživatelů datového skladu (Novotný, Pour, Slánský, 2005, s ).

24 2.8 Užití datových skladů Užití datových skladů Oblasti vhodné pro užití datových skladů a Business Intelligence řešení nejsou nijak výrazně omezeny. Jedinou podmínkou je existence zdrojových dat, na kterých mohou být tato řešení postavena. Oblasti, ve kterých se datové sklady využívají jsou zejména tato: maloobchodní prodej sklady zásobování a logistika systém objednávek customer relationship management účetnictví řízení lidských zdrojů finanční služby telekomunikace doprava vzdělání zdravotní péče reklama pojišťovnictví V každé z těchto oblastí jsou poptávána specifická data v různé formě, proto i způsob uložení a prezentace informací získaných z těchto dat se obvykle liší (Kimball Ross, 2002, s ). Užití datových skladů lze dále rozdělit podle způsobu jejich užití. Mezi tyto způsoby patří: Validace Informace získané z datových skladů slouží pro validaci hypotéz jejich uživateli. Taktické reportování Uživatelé datových skladů využívají informace získané z datových skladů pro taktické rozhodování. Zkoumání Datový sklad slouží pro získávání předem neznámých znalostí z dat v něm uložených (Kelley, 2003).

25 3 METODIKA TVORBY DATOVÉHO SKLADU 25 3 Metodika tvorby datového skladu 3.1 Projektový plán Prvním a klíčovým krokem při tvorbě datového skladu je vytvoření projektového plánu. Projektový plán je zaměřený na definici a rozsah projektu. Podstatnou podmínkou zpracování kvalitního projektového plánu je porozumění business pohledu zadavatele zhotovitelem. Důležitým prvkem je tedy v této fázi komunikace (Kimball, 1998, s. 33). Projektový plán obvykle obsahuje následující části: Definování cílů jasná a srozumitelná definice cílů je podstatným předpokladem úspěšného řešení. Zadavatel by měl být proto plně přesvědčen, že investuje čas a prostředky do řešení přinášející odpovídající výsledky. Formulace cílů by měla vycházet ze strategických cílů firmy. Analýza zdrojů kvalitní analýza zdrojových systémů a připravenosti firmy na tvorbu datového skladu zahrnuje hodnocení aktuálního stavu ICT 9, interních i externích datových bází, jejich validity vzhledem k požadavkům BI, dále technické, ekonomické a organizační dosažitelnosti. Výstupem je přehled existujících datových a technologických zdrojů, včetně požadavků na jejich úpravu s určením jejich další použitelnosti pro tvorbu datového skladu. Analýza požadavků vychází z potřeby klíčových uživatelů a podnikových procesů. Výsledkem je zmapování a definování požadavků na základě jejich specifikace zadavatelem, popřípadě jeho klíčovými uživateli. Rozčlenění úkolů rozdělení požadavků na moduly a modulů na jednotlivé úkoly je podstatné pro sledování průběhu celkového řešení. S přispěním modularity se rozdělí požadavky do několika částí, které budou zpracovány jeden po druhém v rámci postupného budování komplexního řešení. Definování doby trvání úkolů u jednotlivých modulů a jejich úkolů se definuje časová náročnost. Sekvence úkolů na základě priority požadavků se moduly a jejich úkoly seřazují podle důležitosti do posloupnosti (Novotný, Pour, Slánský, 2005, s. 63). Po vyhotovení projektového plánu je důležité jeho odsouhlasení zadavatelem, jelikož projektový plán bude v budoucnu sloužit pro ověření úspěšnosti projektu. 9 Informační a komunikační technologie

26 3.2 Modelování datového skladu Modelování datového skladu Modelování datového skladu navazuje na projektový plán a je jádrem celého řešení datového skladu. Při modelování se využívá multidimenzionální analýzy. Jeho účelem je navržení datového schéma (struktur datového skladu), které umožní přenos požadovaných dat z produkčních systémů do datového skladu dle principů multidimenzionality a podnikových požadavků definovaných v projektovém plánu. Multidimenzionální analýza obsahuje: definování sledovaných ukazatelů (metrik) a jejich charakteristik; definování jednotlivých dimenzí, jejich obsah, včetně vnitřní hierarchie prvků; specifikaci vazeb mezi ukazateli a odpovídajícími dimenzemi. Při návrhu dimenzí se určují následující charakteristiky: identifikace dimenze (např. Produkt) prvky dimenze, hierarchická struktura dimenze (např. Kategorie Subkategorie Produkt), počty prvků v dimenzi na jednotlivých hierarchických úrovních, zdroj dat pro vybrané prvky dimenzí (odpovídající prvky tabulek zdrojové databáze), definice pro kalkulované prvky (např. spojení několika prvků dimenze [množství a měrné jednotky 1 cm]). Obvyklé příklady dimenzí jsou čas, produkty, zákazníci, zaměstnanci, útvary, teritoria, dodavatelé, a další. V případě ukazatelů (metrik) se určují následující charakteristiky: identifikace ukazatele (např. Prodej Kč ), jednotka vyjádření ukazatele (Kč, kusy, procenta), zdroj dat pro ukazatele z produkčních (zdrojových) systémů, výpočty kalkulovaných ukazatelů (vzorce), určení tzv. business pravidel (např. zvýraznit produkt, jehož prodej klesl o 10 a více procent)(novotný, Pour, Slánský, 2005, s ). Pro multidimenzionální modelování je charakteristické, že úroveň detailu se může měnit. Proto obvykle při modelování dochází k tvorbě datových tržišť jako podmnožin datového skladu využívajících jen některé dimenze s různou úrovní detailu. Jednou z metod pro vytvoření modelu datového skladu sestávající se z několika

27 3.2 Modelování datového skladu 27 Obr. 6: The Data Warehouse Bus Architecture matrix (zdroj: bus.gif) datových tržišť je vytvoření matice nazvané The Data Warehouse Bus Architecture matrix 10 (obr. 6), která je založena na identifikaci všech možných datových tržišť a na určení všech dimenzí, které se vyskytují v těchto tržištích. Tato tržiště potom tvoří matici, která slouží jako základ pro logický a fyzický návrh jednotlivých faktových a dimenzionálních tabulek (Kimball, 1998, s ). Dalším krokem metody The Data Warehouse Bus Architecture matrix je detailní návrh jednotlivých tabulek zahrnující tyto kroky: 1. Výběr datového tržiště vychází z řádků matice datových tržišť a dimenzí. 2. Deklarace granularity vyjadřuje úroveň detailu jednotlivého záznamu faktové tabulky. 3. Výběr dimenzí vybrané dimenze musí odpovídat granularitě faktové tabulky z předchozího kroku. 4. Výběr faktů určuje údaje (fakta), která lze nalézt v rámci deklarované granularity (např. objem denních prodejů v Kč )(Novotný, Pour, Slánský, 2005, s. 120). V další fázi modelování je na základě identifikovaných dimenzí a ukazatelů (faktů) vytvořeno logické schéma datového skladu na úrovni relační databáze při respektování principů multidimenzionálního přístupu, tedy schéma hvězdy nebo sněhové vločky (viz kapitola 2.3.3). Vytvořené logické schéma pak obsahuje pouze dva druhy tabulek, faktové a dimenzionální. Schémata se znázorňují prostřednictvím diagramů se slovním popisem. Návrh modelu je iterační, tzn. že každý krok je postupně přehodnocován, doplňován a upravován. Účelem je vytvořit model respektující základní cíle datového skladu i uživatelské požadavky definované v projektovém plánu. 10 název se do češtiny nepřekládá

28 3.3 Modelování technologické platformy Modelování technologické platformy Další částí při tvorbě datového skladu je návrh a modelování technologické platformy datového skladu. Tento proces se skládá z následujících fází: návrh technologické architektury návrh fyzického modelu návrh objemu datového skladu Návrh technologické architektury Technologickou architekturu lze rozdělit na dvě části, a to back room a front room (Obr. 7). Jednoduše řečeno back room je ta část datového skladu, která je skrytá před uživateli. Odehrávají se zde všechny podstatné procesy k získání dat ze zdrojových systémů, jejich transformace, čištění a nahrání do požadovaných struktur dimenzionálního modelu datového skladu. Účelem návrhu technologické architektury této části je proto definování jednotlivých komponent pro zabezpečení tohoto procesu. Komponenty mohou být zvoleny na základě velikosti a potřeb řešení, jsou jimi zdrojové systémy, dočasná úložiště, operativní úložiště, datová tržiště a datový sklad. V rámci technologické architektury back roomu jsou rovněž definována metadata popisující obsah datového skladu. Ty udávají odkud jsou data získávána a dokumentují pravidla pro extrakci, transformaci, čištění a ukládání dat (Kimball, 1998, s ). Obr. 7: Front room a back room rozdělení (Kimball, 1998) Front room je ta část datového skladu, která je uživateli přímo viditelná a přístupná. Pro front room je charakteristické, že uživatelé se jeho prostřednictvím dotazují na data uložená v datovém skladu. Komponentami této části jsou reportovací služby a OLAP databáze pro ad hoc analýzy analytickými nástroji. V této části

29 3.3 Modelování technologické platformy 29 návrhu technologické architektury jsou také definováni uživatelé a skupiny uživatelů datového skladu, u kterých je určeno ke kterým datům a oblastem datového skladu mají nebo nemají přístup, a které operace mohou vykonávat. Dále jsou navrženy mechanismy pro sledování činnosti uživatelů a zaznamenávání jimi provedených dotazů s ohledem na výpočetní výkon a čas odezvy. Další součástí návrhu front roomu jsou metadata, která slouží jako slovník všech datových prvků přístupných uživatelům (Kimball, 1998, s ). Výsledkem návrhu technologické platformy je vytvoření dokumentu plánu technologické architektury, který je velmi podstatný, jelikož nesprávně navržené komponenty mohou významně zkomplikovat budoucí vývoj a implementaci datového skladu. V poslední fázi návrhu technologické platformy je na základě plánu technologické architektury vytvořen plán infrastruktury, ve které se definují jednotlivé servery, fyzické úložiště a další potřebná infrastruktura pro provoz datového skladu (Novotný, Pour, Slánský, 2005, s ) Návrh fyzického modelu Návrh fyzického modelu vychází z modelů na konceptuální a logické úrovni definovaných v předchozí kapitole ve fázi modelování datového skladu. Účelem je především doplnění logického návrhu tabulek o konkrétní i fyzické charakteristiky odpovídající danému databázovému prostředí, tedy charakteristiky jednotlivých položek (atributů). Cílem je dosažení co nejefektivnějšího uložení dat a omezení nároků na vstupně-výstupní operace, které představují významný podíl na době vykonávání jednotlivých dotazů. V praxi se tak jedná například o vytvoření indexů. V rámci návrhu fyzického modelu se tedy řeší následující fyzické charakteristiky datového skladu a jeho jednotlivých tabulek: verifikace a případné úpravy návrhu granularity ukládaných dat, návrh rozdělení tabulek (partitioning), slučování tabulek (merging), řešení datových polí, využití redundance dat, řešení odvozených dat, předběžné úpravy (např. kalkulace), indexování dat. Verifikace granularity ukládaných dat je důležitá s ohledem na výkon datového skladu. V této fázi se tedy ověřuje, zda-li pro zvolenou úroveň detailu získáme požadovaný výkon. Tzn. po zhodnocení disponibilních technologií a zvolené úrovně granularity může dojít k její modifikaci a zjednodušení.

30 3.3 Modelování technologické platformy 30 Dělení (partitioning) dat znamená rozdělení databázové tabulky na několik částí z důvodu pomalého procházení tabulky obsahující velké množství záznamů. Rozdělení tabulky na části podle určeného klíče, například času, zrychlí práci s těmito daty. Opačný způsob je slučování, tzv. merging, databázových tabulek. Optimálním slučováním tabulek se snižují přístupy do různých tabulek (jejich vzájemné spojování), a tak se může zkrátit celková doba zpracování dotazu. Vytváření datových polí je způsob, jak šetřit čas vstupních a výstupních (I/O) operací. Normalizovaná data a jejich sekvence jsou v tomto případě uspořádána fyzicky do řádků tak, jak za sebou logicky následují. Na jednotlivé řádky se pak vztahují jednotlivé I/O operace. Tento přístup je vhodný pouze v případech, kdy jsou předem pravděpodobná zpracování dat ve standardních sekvencích. Například u časových dimenzí. Uplatňování úmyslné redundance dat je cestou k denormalizaci dat. Opakování dat je vhodné pokud se jedná o data s minimální pravděpodobností jejich aktualizace. Využívá se pro úsporu I/O operací. Snížení počtu I/O přístupů může být efektivně dosaženo i zpracováním výpočtů, neboli kalkulovaných položek, již při ukládání do datového skladu. Potřeba indexování dat je shodná jako u jiných databázových systémů. Problémem je ale využití správných technik pro indexování datových skladů. U transakčních systémů je zatížení způsobeno typicky úzkou, předem definovanou množinou dotazů a velkým počtem uživatelů, které vedou ke zpracování obvykle pouze stovek záznamů. Oproti tomu se u datových skladů zpracovává velké množství předem neznámých dotazů relativně menším počtem uživatelů vedoucí ke zpracování až milionů záznamů. Z uvedených rozdílů vyplývá, že vhodné indexování pro transakční systémy je využití B-Tree stromů, zatímco pro datové sklady je vhodnější využití tzv. hashových a bitmapových indexů. S indexováním datových skladů souvisí i vytvoření tzv. kreativních indexů. To jsou indexy odpovídající předem definovaným pohledům a požadavkům uživatelů. Tyto indexy se vytvářejí současně při nahrávání dat do datového skladu a snižují dobu zpracování těchto dotazů. (Novotný, Pour, Slánský, 2005, s ) Návrh objemu datového skladu Velikost databáze datového skladu je vzhledem k průběžnému nárůstu dat díky existenci časové dimenze jednou z klíčových záležitostí při zajištění technické infrastruktury. Výpočty velikosti datového skladu jsou obecné a nezávislé na použité technologii. Obvykle se pro zjednodušení nezohledňují tabulky dimenzí jejichž objem nebývá zpravidla tak velký. Přesný výpočet hodnot lze získat také využitím CASE nástrojů, ale tento způsob se v praxi ukazuje jako zbytečně pracný (Novotný, Pour, Slánský, 2005, s. 130).

31 3.3 Modelování technologické platformy 31 Výpočet velikosti relační a multidimenzionální databáze datového skladu je uveden v tabulkách 1 a 2. Pro interpretaci byla zvolena obchodní firma s parametry uvedenými v těchto tabulkách. Tab. 1: Výpočet velikosti relační databáze pro datový sklad obsahující tříletou historii (Novotný, Pour, Slánský, 2005, s. 130) Parametr Vstup Výstup 1 Dimenze Čas 3 roky, počet dní 3* dní 2 Dimenze Prodejny 250 prodejen, data předávají 250 prodejen denně 3 Počet objednávek cca 2300 na jednu prodejnu 2300 objednávek 4 Počet záznamů v ta dní * 250 prodejen * zá- bulce faktů 5 Délka záznamu, velikost atributů v tabulce faktů objednávek 3 atributy * 4 B + 5 atributů * 8 B znamů 52 bytů 6 Velikost tabulky faktů záznamů * 52 bytů cca 33 GB 7 Velikost indexů cca 200 % základu cca 65 GB 8 Celkem základ + indexy cca 98 GB Tab. 2: Výpočet velikosti multidimenzionální databáze (MDDB) obsahující tříletou historii (Novotný, Pour, Slánský, 2005, s. 132) Parametr Vstup Výstup 1 Dimenze Čas (4 3 roky, počet dní 3* dní úrovně hierarchie) 2 Dimenze Prodejny (6 250 prodejen, data předávají 250 prodejen úrovni hierarchií) denně 3 Počet objednávek cca 2300 na jednu prodejnu 2300 objednávek 4 Počet záznamů v tabulce faktů 1095 dní * 250 prodejen * 2300 objednávek záznamů 5 Velikost buňky 32 B 32 bytů 6 Základní velikost záznamů * 32 bytů cca 20 GB MDDB 7 Velikost skutečné (((2 * počet všech úrovní) + cca 7,5 GB MDDB, např. v MS SSAS 11 (4 * počet ukazatelů)) * počet řádků) / 3, tj: ((2*(4+6) + 4 * 4) * )/3 8 Dočasné soubory cca 100 % základu cca 7,5 GB 9 Celkem základ + dočasné soubory cca 15 GB

32 3.4 Implementace 32 Značný rozdíl mezi virtuální (základní) a skutečnou multidimenzionální databází je způsoben kompresí řídké matice uložených dat, čímž dochází ke značnému snížení jejího objemu. Zásadní roli v případě velikosti skutečné multidimenzionální databáze (MDDB) také hraje počet hierarchií a jejich úrovní v jednotlivých dimenzích. Například jedna přidaná úroveň hierarchie v dimenzi Prodejny zvýší celkovou velikost multidimenzionální databáze v předchozím případě o 0,5 GB. 3.4 Implementace Úlohou implementace řešení datového skladu je realizovat vše, co bylo v předchozích fázích projektu analyzováno a navrženo prostřednictvím zvolených nástrojů a metod. Oblast datových skladů je ve fázi implementace velmi specifická, na rozdíl od jiných oblastí, z důvodu výrazné odlišnosti použitých technik a nástrojů pro implementaci jednotlivých komponent datových skladů. Implementace se skládá z těchto kroků: předimplementační příprava, implementace dočasného úložiště dat, implementace datového skladu, implementace ETL, implementace OLAP databází, implementace klientských aplikací Předimplementační příprava Před zahájením implementace je nutné uskutečnit některé důležité kroky, bez kterých by implementace nemohla začít. Jsou jimi například nastavení přístupových práv pro ETL aplikace do zdrojových (produkčních) systémů, připravení automatizovaného mechanismu pro zajištění zpřístupnění vždy aktuálních dat z nejrůznějších externích zdrojů (statistického úřadu, ČNB, apod.) pro využití ETL aplikacemi. Jakmile jsou všechny potřebné náležitosti splněny, je možné začít s vlastní implementací (Novotný, Pour, Slánský, 2005, s. 160) Implementace dočasného úložiště dat Implementace dočasného úložiště dat (DSA) je jednou z nejjednodušších úloh při tvorbě datového skladu. Skládá se z vytvoření databáze obsahující vybrané struktury (tabulky), shodné jako v produkčních systémech, pro přenesení kopie dat ze zdrojových systémů do databáze DSA. Určení těchto tabulek je již provedeno ve 11 SQL Server Analysis Services

33 3.4 Implementace 33 fázi modelování. Základním požadavkem dočasného úložiště dat je oddělení databáze DSA a databáze produkčních systémů pro snížení zátěže produkčních serverů, což je zároveň hlavním účelem vytvoření dočasného úložiště dat. Při implementaci je nutné zajistit, aby do dočasného úložiště dat měly přístup pouze aplikace ETL, které jako jediné budou tyto data dále využívat Implementace datového skladu Implementace datového skladu se sestává z vytvoření databáze a v ní uložených tabulek podle principu multidimenzionálního přístupu. Při tvorbě struktur se tedy vychází z multidimenzionální analýzy modelování datového skladu (viz kapitola 3.2). Jedním z nejzákladnějších principů datového skladu je zabezpečení uchování pouze čistých dat. Ačkoliv k čištění dat dochází až při ETL, vhodnou implementací identifikátorů (např. primárních klíčů), nastavením referenční integrity (cizích klíčů) a doménové integrity (kontrola stanovených hodnot) lze rovněž výrazným způsobem přispět k uložení čistých a tedy kvalitních dat v datovém skladu. Další fázi implementace datového skladu je nastavení přístupových práv pro uživatele. Uživateli struktur datového skladu, tedy tabulek dimenzí a faktů, jsou OLAP aplikace nebo aplikace dolování dat Implementace ETL ETL je nejdůležitější a zároveň nejsložitější část při implementaci datového skladu. Skládá se z následujících fází: extrakce dat ze zdrojových systémů do DSA; transformace, čištění a nahrání dat z DSA do datového skladu. Podmínkou pro realizaci ETL, tedy vytvoření tzv. datových pump, jsou správně nastavená přístupová práva aplikací ETL ke zdrojových systémům, strukturám dočasného úložiště dat a databázi datového skladu. Cílem implementace ETL je vytvoření procedur a mechanismů pro transformaci kvalitních dat do datového skladu. Extrakce dat ze zdrojových systémů do DSA Extrakce dat ze zdrojových systémů a jejich následné uložení do dočasného úložiště dat je první fází transformace dat. Principem této části je prostřednictvím procedur vytvořených v ETL aplikaci nakopírovaní záznamů ze zdrojových tabulek do tabulek DSA ve stejné struktuře beze změny. Před každým spuštěním tohoto procesu musí dojít k vyprázdnění tabulek DSA tak, aby v něm byla vždy pouze ta data, která se aktuálně nacházejí ve zdrojových systémech. Navíc v případě, že se do dočasného úložiště dat načítají pouze nová nebo modifikovaná data, tak pouze tato data. Transformace, čištění a nahrání dat z DSA do datového skladu

34 3.4 Implementace 34 Proces přenosu dat z dočasného úložiště do datového skladu je podstatně náročnější úkol. Prostřednictvím datových pump vytvořených v ETL aplikaci je nutné data při přenosu transformovat ze struktur obvykle transakčních systémů do struktur multidimenzionálních. Dále se tato data v této fázi čistí tak, aby byly v datovém skladu uloženy pouze kvalitní, úplná, konzistentní data se zachováním požadované datové integrity. Při vytváření datových pump je vhodné věnovat pozornost těmto doporučením: optimalizovat průběh datových pump vzhledem k jejich výpočetní náročnosti na procesor a operační paměť, v co nejvyšší míře používat SQL dotazy pro transformaci, omezit používání kontrolních náhledů do jednotlivých tabulek, na vstupu pracovat jen s daty relevantního snímku (pokud se do DSA neextrahují pouze nové a modifikované záznamy), zavést kontrolu vstupních dat, provádět čištění před uložením do tabulek datového skladu, zavést automatické hlášení o chybách správci ETL, zabránit porušování integritního omezení pokud jsou v datovém skladu implementována (tzn. nejdříve nahrávat tabulky dimenzí a poté faktové tabulky). Poté co jsou datové pumpy vytvořeny je v dalším kroku potřeba vytvořit scénář pro jejich spouštění. Scénář by měl obsahovat v jakém pořadí a kdy se jednotlivé ETL balíky (datové pumpy) budou vykonávat. (Novotný, Pour, Slánský, 2005, s ) Implementace OLAP databází Implementace OLAP databází vychází z provedené multidimenzionální analýzy (viz kapitola 3.2). Samotná implementace se velmi liší od implementace relačních databází, technologicky i použitými technikami. OLAP databáze je zpravidla složena z několika dimenzí, jedné nebo více OLAP kostek a přístupových práv k těmto kostkám a jejich datům. Proces tvorby OLAP databáze je posloupností následujících kroků: vytvoření OLAP databáze, připojení datových zdrojů k OLAP databázi, vytvoření dimenzí (jejich prvků a jednotlivých hierarchií), vytvoření OLAP kostek obsahující agregované ukazatele (metriky) sestávající se z: definice tabulek faktů a vytvoření metrik,

35 3.4 Implementace 35 výběru dimenzí pro sledování hodnot ukazatelů, připojení metrik na jednotlivé dimenze prostřednictvím jejich vazeb, definice kalkulovaných prvků, definice a optimalizace způsobu uložení dat (MOLAP, ROLAP, HO- LAP), nastavení přístupových práv pro uživatele nebo skupiny uživatelů k jednotlivých OLAP kostkám a jejich datům. Jakmile je celá OLAP databáze vytvořena, musí dojít k její kompilaci. Při kompilaci je struktura databáze převedena do formátu OLAP databáze, naplněna již agregovanými daty z datového skladu a zpřístupněna uživatelům podle nastavených oprávnění. Náročnost tvorby OLAP databází vždy závisí na kvalitě provedené multidimenzionální analýzy a zejména na kvalitě dat, která jsou uložena v datovém skladu. (Novotný, Pour, Slánský, 2005, s ) Implementace klientských aplikací Implementace klientských aplikací, neboli reporting, je posledním krokem ve fázi vývoje datového skladu. Tato fáze je přímo závislá na zvolených technologiích. Příkladem těchto technologií (klientských aplikací) jsou SQL Server Reporting Services, MS Office Excel, Pro Clarity apod. Ačkoliv implementace v jednotlivých nástrojích se významně liší, principy zůstávají shodné. Reporting lze rozdělit na dvě části (viz kapitola 2.4.7), a to standardní reporting a ad-hoc reporting. Standardní reporting je tvořen prostřednictvím předem připravených sestav reportů vytvořených pomocí jazyků MDX a SQL. Prostřednictvím zvolených parametrů si uživatel může spouštět reporty ručně nebo automaticky generovat v pravidelných intervalech. Standardní reporting proto obvykle využívá větší počet uživatelů. Na druhou stranu ad-hoc reporting slouží pro tvorbu individuálních pohledů a analýz pomocí specializovaných softwarových nástrojů. Tyto analýzy ale vyžadují dobré porozumění s prací ve zvolených nástrojích. Proto je tato část využívána spíše užším počtem uživatelů. Pokud jde o vlastní implementaci v této fázi, rozumí se tím tvorba standardních reportů 12. Vytvoření reportu nebo sady reportů se skládá z následujících prvků: návrh grafického designu připojení reportu na multidimenzionální či relační data, vytvoření parametrů reportu, vytvoření pohledu (dotazu) na data prostřednictvím dotazovacího jazyka (MDX/SQL), 12 Implementace Ad hoc reportingu je totiž samotná tvorba klientských softwarových produktů umožňující ad hoc reporting, což je v tomto případě nad rámec tvorby datových skladů

36 3.5 Testování 36 propojení parametrů a pohledu, implementace dat do grafického designu. Příkladem reportů jsou nejrůznější kontingenční tabulky a grafy, které v co nejsrozumitelnější a nejpřehlednější formě interpretují data z datového skladu koncovému uživateli. 3.5 Testování Testování je velmi podstatnou a časově náročnou fází každého kvalitního řešení datového skladu. Testování datového skladu je velmi specifické stejně jako jeho implementace, protože se skládá z testování různých komponent vytvořených v různých nástrojích. Při testování jsou validovány všechny části datového skladu. Testování probíhá za základě schváleného projektového plánu, který je porovnáván s výsledným datovým skladem. V některých fázích se testování účastní také koncoví uživatelé (viz Alfa a Beta fáze nasazení v kapitole 3.6.3) Testování je složeno z následujících fází: validace modelu datového skladu, testování dočasného úložiště dat, testování datového skladu, testování OLAP databází, testování reportů Validace modelu datového skladu Validace modelu datového skladu oproti požadavkům ve schváleném projektovém plánu je první fází testování datového skladu. Tato fáze je velmi podstatná, protože chybně navržený model je zpravidla příčinou dalších chyb v implementační fázi. Proto by se měla tato verifikace uskutečnit ještě před začátkem vývoje. Modelování datového skladu a jeho validace je iterační proces, který vede k zabezpečení kvalitního řešení a minimalizaci nákladů spojených s koncepčními a logickými chybami objevenými až při implementaci datového skladu Testování dočasného úložiště dat Při testování dočasného úložiště dat se testují mechanismy a procedury ETL zabezpečující přenos kopie dat ze zdrojových systémů do dočasného úložiště. Pokud je dočasné úložiště koncipováno tak, že jsou do něj nahrávány pouze nová nebo modifikovaná data, je nutné to rovněž ověřit. Tato fáze testování je stejně tak jako jeho implementace nejjednodušší částí, ale chyby, které se zde mohou vyskytnout přímo ovlivňují data v datovém skladu. Proto verifikace dočasného úložiště dat je důležitá

37 3.5 Testování 37 pro zajištění, že data v této fázi jsou v pořádku a připravena pro transformaci do struktur datového skladu Testování datového skladu Testování datového skladu je velmi důležitou fází celého testovacího procesu, protože data v datovém skladu jsou jeho podstatou. Chyby v datech uložených v datovém skladu vedou logicky k chybám v OLAP databázích a klientských aplikacích datového skladu, k nimž mají přístup uživatelé. A kvalita dat je v tomto případě zásadní, protože nekvalitní data mohou zapříčinit, že uživatelé nebudou mít důvěru v data z datového skladu, což vede k rychlému konci celého řešení datového skladu. Testování datového skladu lze rozdělit na několik částí: testování struktur (tabulek) podle modelu dimenzionálního schéma (včetně zajištění datové integrity a indexování), testování transformace, čištění a nahrání dat z dočasného úložiště do datového skladu, testování změn v datech při pravidelném nahrávání nových nebo aktualizovaných dat. Testování se obvykle provádí nad relační databází datového skladu a databází dočasného úložiště dat prostřednictvím SQL dotazů, které pomocí definovaných pohledů porovnávají data mezi těmito zdroji. Zpravidla se vytváří tolik porovnání, kolik je v řešení datového skladu datových pump (ETL balíků). Obecně je vhodné vytvořené pohledy a mechanismy sloužící k porovnání dat uchovávat pro jejich pozdější použití, a to pro opětovné ověření kvality dat po určitém časovém období, případně pro otestování dat po provedení nějakých změn v datovém skladu Testování OLAP databází Při testování OLAP databází se vychází z multidimenzionální analýzy. Nejprve se ověřuje struktura OLAP databází, tedy jednotlivé dimenze (verifikace prvků a hierarchií), OLAP kostky (verifikace definovaných metrik, kalkulovaných prvků apod.) a přístupová práva pro uživatele nebo skupiny uživatelů. Dále po ověření struktury OLAP databází následuje testování jejich obsahu. Na rozdíl od testování dat v datovém skladu se testování neuskutečňuje pouze prostřednictvím jazyka SQL nad relační databázi, ale také prostřednictvím ad hoc nástrojů nad daty v jednotlivých OLAP kostkách. Vytvořené ad hoc analýzy jsou poté porovnávány s daty v relační databázi datového skladu prostřednictvím dotazů jazyka SQL. Množství ad hoc analýz je individuální a závisí na rozsahu OLAP kostky, tedy počtu dimenzí a metrik.

38 3.6 Nasazení Testování reportů V poslední fázi testování se ověřují vytvořené sady reportů nad OLAP kostkami, případně přímo daty v datovém skladu. Reporty obvykle vycházejí z požadavků uživatelů uvedených v projektovém plánu. Při testování se nejprve ověřuje struktura reportů, tedy zda-li report obsahuje všechny požadované parametry, ukazatele, apod. v definovaném formátu. Pokud jsou všechny tyto náležitosti splněny, ověřují se data zobrazované v reportu. Tato data jsou porovnávána oproti OLAP kostkám nebo relačním datům v datovém skladu v závislosti na typu reportu. Pokud data v reportu pocházejí z multidimenzionálních kostek, pak se obvykle pro testování využívají nástroje pro ad hoc analýzy, které umožňují vytvářet prakticky stejné sestavy jako jsou v reportech. Ve výjimečných případech se může využít jazyk MDX. Pokud data v reportu vychází přímo z dat uložených v datovém skladu, pak se data v reportu testují prostřednictvím SQL dotazů nad datovým skladem. K testování jednotlivých komponent datového skladu by mělo zpravidla docházet jak po dokončení vývoje každé komponenty, tak po dokončení celého datového skladu. Vyhodnocení, že komponenta je v očekávané struktuře, obsahující očekávaná data před započetím vývoje další komponenty šetří čas i náklady strávené dohledáváním chyb v celém datovém skladu najednou a odlaďováním vzniklých chyb. Jak vychází z principu datových skladů, tedy nástroje pro podporu rozhodování, je kvalita dat v datovém skladu nejdůležitějším faktorem úspěšnosti celého projektu. Proto testování datového skladu zajišťuje užitečný a silný nástroj pro jeho dosažení. 3.6 Nasazení Fázi nasazení, ačkoliv by se mohla zdát být poslední fází projektu, zpravidla nelze řešit jako poslední, tedy až po skončení fáze vývoje a testování. Důvodem je značné množství různorodých komponent, které společně s příslušným softwarem a hardwarem musí vytvořit kompaktní celek utvářející spolehlivě fungující řešení datového skladu. Fázi nasazení lze rozdělit do několika částí: příprava plánu nasazení zaškolení uživatelů nasazení Příprava plánu nasazení Tato část fáze nasazení se obvykle řeší po skončení fáze modelování a analýzy, jakmile je zřejmá architektura i infrastruktura konečného řešení projektu. Při vytváření plánu nasazení se definuje posloupnost činností, které jsou nutné vykonat při nasazení jednotlivých komponent řešení. Obsahuje instalaci hardwaru i softwaru dle

39 3.6 Nasazení 39 požadované infrastruktury a zabezpečuje, že tato infrastruktura bude funkční a připravena pro nasazení celého projektu datového skladu. V další části plán obsahuje vytvoření rámce, například využitím skriptu, který zajistí automatizované provedení definovaných operací pro nasazení jednotlivých komponent řešení na připravené prostředí. Komponentami jsou všechny části datového skladu, tzn. dočasné úložiště dat, ETL procedury a mechanismy, struktury datového skladu, OLAP dimenze, uživatelská oprávnění a sady reportů Zaškolení uživatelů Zaškolení uživatelů datového skladu je nezbytnou fází před nasazením projektu. Uživatelům jsou předávány informace o principu fungování datových skladů a práce s jejich nástroji. V závislosti na nástrojích, které uživatelé využívají a způsobu jakým k datům přistupují se tedy provádí školení zainteresovaných osob Nasazení Nasazení probíhá vykonáním přesně definovaných činností podle vytvořeného plánu nasazení. Podobně ale jako při nasazení jiných softwarových projektů lze nasazení rozdělit do několika etap. Obvykle jsou to fáze Alfa, fáze Beta a fáze finálního řešení. Fáze alfa Fáze alfa je fáze prvotního testování komplexního řešení následující po jeho nasazení. V této fázi se testuje technická infrastruktura, provoz datového skladu (pravidelná extrakce a transformace dat), jednotlivé komponenty, sledování výkonu a kvalita dat. Tato fáze je založena na principech testování podobně jako popsáno v kapitole 3.5. Fáze alfa se účastní členové projektu zodpovědní za testování a kvalitu dat, analytici datového skladu a v některých případech i několik koncových uživatelů. Alfa fáze je iterativní fáze, která by měla mít stanovenu délku svého trvání. Při této fázi dochází k identifikování nalezených chyb a znovu nasazení opraveného řešení. Fáze beta Po skončení fáze alfa se zpravidla pokračuje k fázi beta. V této fázi se přiděluje přístup určitému množství koncových uživatelů, kteří provádí poslední fázi testování před finálním nasazením a zpřístupněním datového skladu celému spektru koncových uživatelů. Účelem této fáze je kontrola kvality dat zainteresovanými uživateli a odladění posledních funkčních nedostatků. Obvykle se zde provádí i nejrůznější zátěžové testy, sledování výkonu a připravují se plány pro zálohování a obnovu datového skladu. Finální fáze Finální fáze nasazení obsahuje poskytnutí přístupu ke všem částem datového skladu příslušným uživatelům a skupinám uživatelů. V závislosti na velikosti projektu lze tento proces rozdělit ještě do několika částí, tzv. vln. V takovém případě

40 3.7 Provoz, údržba a rozvoj 40 se přístup poskytuje postupně jednotlivým skupinám uživatelů tak, aby se vytvořil dostatečný prostor pro zaškolení a podporu těchto uživatelů ihned po nasazení. Zároveň lze vyřešit drobné chyby, které lze v dalších vlnách minimalizovat. Dále se v této fázi zpřístupňují dokumentace k projektu a dokončuje se školení všech zainteresovaných stran (Kimball, 1998, s ). 3.7 Provoz, údržba a rozvoj Na rozdíl od některých jiných typů softwarových projektů není projekt datového skladu ukončen po jeho nasazení. Celý vývojový tým nelze přesunout na jiný projekt a provoz a údržbu systému okamžitě delegovat jiné skupině lidí. Vychází to z principu tvorby datových skladů, ve kterém nelze přesně definovat konec projektu. Obvykle se totiž po nasazení identifikují nové požadavky nebo řeší úpravy související se změnami v produkčních systémech. (Kimball, 1998, s ) Údržba datového skladu Údržba datového skladu je velmi důležitá součást projektu. Datový sklad v této fázi již využívají nejrůznější skupiny uživatelů pro vykonávání klíčových rozhodnutí. Proto je nutné zajistit, že data a informace, se kterými pracují jsou vždy správná a aktuální. Údržbu lze rozdělit na dvě části, údržbu a provoz technické infrastruktury (včetně optimalizace výkonu) a údržbu zajišťující kvalitu dat. V části údržby a provozu technické infrastruktury se řeší otázky distribuce serverů pro optimalizaci výkonu, zálohování a obnovy dat při selhání apod. Část údržby datového skladu pro zajištění kvality dat je zaměřena zejména na provádění nutných úprav a sledování kvality dat v souvislosti se změnami v produkčních systémech. Dalším neméně důležitým úkolem ve fázi údržby je zajistit technickou podporu a konzultaci koncovým uživatelům (Kimball, 1998, s ) Rozvoj datového skladu Projekt datového skladu je iterativní proces, ve kterém se stále objevují nové požadavky a potřeby uživatelů, které jsou řešeny v pravidelných cyklech. Požadavky na rozvoj datového skladu zpravidla znamenají úspěch projektu datového skladu jako celku, tzn. všech jeho předchozích fází a cyklů. Po specifikaci požadavků se nejprve vytváří nový (popřípadě rozšiřuje již existující projektový plán) a postupuje se podle popsané metodiky podobně jako v předchozím cyklu. Cykly jsou ale již obvykle podstatně menší než ten první, tzn. že i celkový čas implementace a nasazení nových požadavků je podstatně rychlejší. Významné riziko, které se vyskytuje při rozvoji datového skladu je, že jakákoli chyba může způsobit ztrátu důvěry v celý datový sklad, tedy i ve všechny jeho předchozí fungující části. Je tedy nutné brát na toto riziko ohled a nové požadavky vyvíjet s tímto vědomím. (Kimball, 1998, s. 727)

41 4 METODICKÁ VÝCHODISKA PRÁCE 41 4 Metodická východiska práce Před zpracováním diplomové práce bylo nutné provést analýzu současného stavu této problematiky, tyto informace sumarizovat, a na základě toho navrhnout řešení, které rozšiřuje metodiku tvorby datových skladů. Pro získání potřebných teoretických znalostí byla použita literatura uvedena v kapitole 8. Realizace vlastní práce je založena na získaných teoretických poznatcích a praktických zkušenostech z této problematiky. 4.1 Použitá metodologie Metodologie, která byla využita pro tvorbu první části vlastní práce, tedy realizace jednotlivých komponent na základě definovaných principů, je přírůstkový (inkrementální) přístup. Tento přístup přináší snadnější validaci jednotlivých částí a tím eliminování projektových rizik. Přírůstkový přístup je realizován prostřednictvím menších vodopádů, které znázorňují každou komponentu. Tyto vodopády se sestávají z následujících částí: specifikace požadavků, návrh, implementace, integrace, validace, nasazení, údržba. Pro aplikaci jednotlivých komponent při realizaci datového skladu byl zvolen specifický druh spirálovitého, tzv. prototypového modelu nazvaný rapid prototype and iterate model 13 popsaný v kapitole Použité nástroje a technologie Technologie využité pro realizaci řešení vlastní práce, tedy navržených principů a celého projektu datového skladu, je MS SQL Server Tento produkt vyvinutý společností Microsoft je poslední verzí nejrozšířenějšího nástroje pro datovou platformu, který prostřednictvím jeho jednotlivých komponent, resp. technologií, umožňuje mimo jiné také tvorbu datových skladů. Mezi tyto komponenty patří: Databázový stroj realizuje systém řízení báze dat. 13 název se do češtiny nepřekládá

42 4.2 Použité nástroje a technologie 42 Analytické služby usnadňuje a umožňuje vytváření OLAP databází a datových krychlí. Integrační služby prostřednictvím ETL balíků umožňuje realizaci datových pump pro extrakci, transformaci a nahrání dat do datového skladu (ETL). Reportovací služby nabízí komplexní serverovou platformu navrženou pro podporu nejrůznějších potřeb generování sestav na základě dat z databázového stroje nebo analytických služeb. Dolování dat usnadňuje a umožňuje dolování dat prostřednictvím algoritmů integrovaných v jeho nástrojích. SQL Agent je to služba Microsoft Windows, která umožňuje automatizaci některých úloh spojených se správou. (Microsoft, 2010) Vývoj jednotlivých komponent byl realizován v nástrojích MS SQL Server 2008 Business Intelligence Developement Studio a MS SQL 2008 Management Studio.

43 5 VLASTNÍ PRÁCE 43 5 Vlastní práce Vlastní část diplomové práce navazuje na metodiku tvorby datového skladu. Cílem první části je definovat pokročilé principy a vytvořit komplexní sadu vzájemně propojených nástrojů pro vývoj, testování, nasazení, údržbu a provoz datového skladu sestávající se z několika nezávislých komponent. Uvedené nástroje jsou implementované v prostředí SQL Server 2008, ale principy a filozofie využité pro jejich tvorbu jsou obecně využitelné i v jiných prostředích. V další části je pak realizován a stručně popsán kompletní projekt datového skladu aplikující uvedené principy a nástroje. Veškeré skripty, které nejsou uvedeny přímo v následující kapitole se nacházejí v příloze A. 5.1 Konfigurovatelnost ETL řešení Konfigurovatelnost a nastavení řešení datového skladu je jeden z prvních předpokladů pro tvorbu kvalitního projektu. Dle základní charakteristiky datových skladů, podle které je datový sklad neustále upravován a rozšiřován na základě rychle se měnících požadavků, je možnost konfigurovatelnosti řešení základním klíčem k úspěchu. Jednou z nejdůležitějších a zároveň nejčastěji upravovaných částí datového skladu je ETL. Předem obvykle nelze přesně specifikovat kolik bude mít datový sklad zdrojových databází, tabulek, transformací atd. Proto by měla být konfigurovatelnost ETL základní podmínkou před samotnou implementací ETL balíků (datových pump). V této části jsou definovány principy pro konfiguraci ETL prostřednictvím databázových struktur, které zabezpečují konfigurovatelnost celého ETL řešení. Obr. 8: Struktura konfiguračních tabulek

44 5.1 Konfigurovatelnost ETL řešení Struktura konfiguračních tabulek Struktura konfiguračních tabulek je sdružena do schématu CONFIG a je znázorněna na obrázku 8. Tabulka CONFIG.Databases (tab. 3) slouží ke konfiguraci zdrojových databází obsahující produkční data určená pro extrakci do datového skladu. Prostřednictvím této tabulky lze definovat přístup k jednotlivým databázím a dále využitím časových otisků přistupovat při extrakci pouze k novým nebo upraveným záznamům ve zdrojové databázi. Tab. 3: CONFIG.Databases tabulka Název sloupce ID Database Name Database ConnectionString Active Last Timestamp Popis Primární klíč tabulky. Název zdrojové databáze. Konfigurační řetězec pro přístup k datům při extrakci v ETL. Příznak, který určuje, zda-li je záznam (zdrojová databáze) aktivní a bude využit při ETL. Časový otisk záznamu ve zdrojové databázi, který byl vytvořen nebo upraven poslední. Slouží pro extrakci pouze nových nebo upravených záznamů ze zdrojové databáze, tzn. záznamů s časovým otiskem větším než je uveden zde. Po každé extrakci je hodnota nahrazena posledním aktuálním otiskem. Tabulka CONFIG.Tables (tab. 4) je konfigurační tabulka sloužící pro uložení SQL dotazů k jednotlivým tabulkám zdrojových databází pro jejich extrakci. Primární klíč této tabulky je sdružený, složeny ze sloupců Table Name a Database Name. Důvodem je, že tabulka se stejným názvem může být ve více databázích. CONFIG.Packages (tab. 5) je tabulka zajišťující volání jednotlivých ETL balíků pro extrakci, transformaci a nahrání do požadovaných struktur datového skladu. Každý záznam nese informaci o tom, z jaké zdrojové tabulky se budou data extrahovat a do jaké tabulky se tyto data budou transformovat, v obou případech je uveden název příslušného ETL balíku pro obě fáze. Navíc je zde sloupec Order, který slouží k zajištění pořadí spuštění jednotlivých balíků při transformaci ze stage tabulek (tabulek dočasného úložiště dat) do store tabulek (tabulek datového skladu). Tabulka CONFIG.PackageConfig (tab. 6) slouží pro vzdálenou konfiguraci ETL balíků a jejich jednotlivých komponent v technologii SQL Server. Prostřednictvím této tabulky se například definují fyzické cesty v souborovém systému k uloženým ETL balíkům apod.

45 5.1 Konfigurovatelnost ETL řešení 45 Tab. 4: CONFIG.Tables tabulka Název sloupce Table Name Database Name SQL String SQL Condition Active Use Timestamp Tab. 5: CONFIG.Packages tabulka Popis Název zdrojové tabulky (Primární klíč). Název zdrojové databáze (Primární klíč). SQL dotaz pro přístup k datům ve zdrojové databázi. Část SQL dotazu následující po klauzuli WHERE definující podmínku při spuštění dotazu ve zdrojové databázi. Příznak, který určuje, zda-li je záznam (tabulka) aktivní a bude využita při ETL. Příznak, který určuje, zda-li se mají využít časové otisky pro extrakci pouze nových nebo upravených záznamů. Například pokud tabulka tyto otisky neobsahuje apod. Název sloupce Popis ID Primární klíč. Source Table Name Název zdrojové tabulky. Stage Package Name Název balíku pro extrakci ze zdroje do stage. Store Package Name Název balíku pro transformaci ze stage do store. Store Table Name Název store tabulky (tabulky datového skladu). Order Priorita spuštění balíku při transformaci do store. Tab. 6: CONFIG.PackageConfig tabulka Název sloupce ConfigurationFilter ConfiguredValue PackagePath Konfigurační řetězec, který přiřazuje hodnotu ConfiguredValue příslušnému objektu v ETL balíku (například proměnné apod.) Popis Název, který identifikuje záznam při konfiguraci v ETL balíku. Hodnota, která nese informaci (konfigurovanou hodnotu). ConfiguredValue- Type Datový typ hodnoty v ConfiguredValue atributu (např. String) Využití konfiguračních tabulek při ETL V následující části je vytvořeno několik SQL dotazů využívající definované struktury (konfigurační tabulky), které lze využít k nezbytným činnostem zabezpečující správný chod ETL.

46 5.1 Konfigurovatelnost ETL řešení 46 Vyprázdnění stage tabulek Před každým procesem extrakce je nutné vyprázdnit stage tabulky (tabulky dočasného úložiště dat). Následující SQL dotaz využívá tabulku CONFIG.Tables pro sestavení souboru DML příkazů Truncate, které zajistí vyprázdnění struktur. SELECT DISTINCT TRUNCATE TABLE STAGE. + Table_Name AS TRUNCATE_QUERY FROM CONFIG.Tables WHERE SQL_String IS NOT NULL Získání informací o zdrojových databázích Při extrakci v ETL je nezbytné přistupovat přímo k jednotlivým zdrojovým databázím. Prostřednictvím tohoto dotazu lze získat všechny aktivní databáze, jejich poslední časový otisk a jejich připojovací řetězce pro využití v ETL balících. SELECT ID AS SOURCE_DATABASE_ID, Database_Name AS SOURCE_DATABASE_NAME, Database_ConnectionString AS SOURCE_DATABASE_CONNECTION_STRING, CAST (CAST (Last_Timestamp AS BIGINT) AS VARCHAR(40)) AS SOURCE_LAST_DATABASE_TIMESTAMP FROM CONFIG.[Databases] WHERE Active=1 ORDER BY ID S využitím připojovacího řetězce do zdrojové databáze získaného v předchozím dotazu lze poté spustit nad zdrojovou databází následující dotaz pro zjištění aktuálního časového otisku pro všechny aktivní databáze. Nově extrahované záznamy budou mít pak časové otisky mezi hodnotami SOURCE LAST DATABASE TIMESTAMP a SOURCE ACTUAL DATABASE TIMESTAMP SELECT CAST (CAST (@@DBTS AS BIGINT) AS VARCHAR(40)) AS SOURCE_ACTUAL_DATABASE_TIMESTAMP Získání informací pro extrakci jednotlivých tabulek do dočasného úložiště dat Propojením tabulek CONFIG.Tables a CONFIG.Packages lze získat informace důležité pro spuštění extrakce z jednotlivých tabulek pro všechny aktivní databáze. Jsou jimi SQL dotaz umožňující přistup k datům a název balíku pro extrakci jednotlivých tabulek do dočasného úložiště dat. SQL dotaz pro extrakci je v následujícím dotazu sestaven z několika částí v závislosti na tom, jsou-li v tabulce CONFIG.Tables využity pro jednotlivé záznamy sloupce SQL Condition a Use Timestamp. Podmínka v klauzuli WHERE pro časový otisk je sestavena pomocí informací získaných předešlými dotazy, jsou jimi hodnoty SOURCE LAST DATABASE TIMESTAMP a SOURCE ACTUAL DATABASE TIMESTAMP použité v proměnných následujícího dotazu.

47 5.2 Logování ETL 47 Další proměnnou uvedenou v dotazu je SOURCE DATABASE ID, která byla získána rovněž dotazem do tabulky CONFIG.Databases. SELECT T.Table_Name AS STAGE_TABLE_NAME, T.SQL_String + CASE WHEN T.SQL_Condition IS NOT NULL THEN WHERE + T.SQL_Condition + CASE WHEN T.Use_Timestamp = 1 THEN AND ELSE END ELSE CASE WHEN T.Use_Timestamp = 1 THEN WHERE ELSE END END + CASE WHEN T.Use_Timestamp = 1 THEN [upsize_ts] BETWEEN CAST (CAST (@SOURCE_ACTUAL_DATABASE_TIMESTAMP AS BIGINT) AS VARBINARY(8)) AND CAST (CAST (@SOURCE_LAST_DATABASE_TIMESTAMP AS BIGINT) AS VARBINARY(8)) ELSE END AS SOURCE_SQL_STRING, P.Stage_Package_Name AS PACKAGE_NAME FROM CONFIG.[Tables] T INNER JOIN CONFIG.[Databases] D ON T.Database_Name = D.Database_Name INNER JOIN CONFIG.[Packages] P ON T.Table_Name = P.Table_Name WHERE D.ID and T.Active=1 and T.SQL_String IS NOT NULL Uložení nového časového otisku Po ukončení extrakce je nutné zapsat aktuální hodnotu časového otisku pro všechny databáze využité při extrakci jako poslední časový otisk ve sloupci Last Timestamp tabulky CONFIG.Databases, aby byla zajištěna extrakce pouze nových nebo upravených záznamů rovněž při příštím spuštění extrakce do dočasného úložiště dat. UPDATE CONFIG.Databases SET Last_Timestamp = CAST(CAST(@SOURCE_ACTUAL_DATABASE_TIMESTAMP AS BIGINT) AS VARBINARY(8)) WHERE ID 5.2 Logování ETL Logování je důležitou součástí tvorby všech aplikací, programů a dalších nástrojů v informačních technologiích. Oblast datových skladů, ačkoliv je velmi specifická, není výjimkou. Při logování projektu datového skladu se zajišťuje uchovávání důležitých informací o fungování jednotlivých komponent usnadňující jejich ladění při odstraňování vzniklých problémů. Zejména tvorba ETL komponenty je velmi náročnou fází při tvorbě datového skladu, proto je vytvoření kvalitního logovacího mechanismu ETL nezbytné pro rychlé a účinné ladění při jeho vývoji a údržbě.

48 5.2 Logování ETL 48 Obr. 9: Struktura logovacích tabulek V následující kapitole je vytvořen nástroj zajišťující logování jednotlivých ETL balíků, poskytující podrobné informace o jejich průběhu Struktura logovacích tabulek Struktura logovacích tabulek je sdružena do schématu LOG a je znázorněna na obrázku 9. Tabulka LOG.Database Timestamps (tab. 7) je určena pro logování časových otisků pro jednotlivé databáze. V tabulce CONFIG.Databases se tyto informace sice ukládají, ale pouze v aktuální podobě a tedy již nelze dohledat jakými hodnotami byly časové otisky v minulosti přepsány. Tab. 7: LOG.Database Timestamps tabulka Název sloupce ID Database ID Database Name Database Timestamp Chrono Timestamp Popis Primární klíč tabulky. ID záznamu v tabulce CONFIG.Databases (cizí klíč). Název databáze (business klíč). Časový otisk posledního záznamu ve zdrojové databázi. Datum a čas vytvoření záznamu. Každý záznam tabulky LOG.LoadPackages (tab. 8) obsahuje informace o průběhu jednotlivých ETL balíků. Ukládá podrobné informace o tom, ze kterého nadřazeného balíku byl konkrétní balík spuštěn, kdo jej spustil, kolik záznamů se v něm extrahovalo do dočasného úložiště dat, popřípadě vložilo nebo upravilo z dočasného úložiště do datového skladu. Dále jsou zde uloženy informace o času spuštění a času dokončení běhu balíku, časovém otisku posledního záznamu v tabulce a především výsledný stav po ukončení běhu balíku.

49 5.2 Logování ETL 49 Tab. 8: LOG.LoadPackages tabulka Název sloupce Popis ID Primární klíč tabulky. ParentPackage ID Nese informaci o ID záznamu v tabulce LOG.LoadPackages, který vyvolal spuštění tohoto balíku (cizí klíč). PackageType Typ ETL balíku (stage, store, control). Package Název ETL balíku. TableName Ukládá informaci o názvu cílové tabulky. Operator Uživatelský účet, pod kterým byl balík spuštěn. Computer Název počítače, na kterém byl balík spuštěn. ExtractCount Počet extrahovaných záznamů do struktur dočasného úložiště dat (pouze v případě typu balíku stage). InsertCount Počet nových záznamů vložených do struktur datového skladu (pouze v případě typu balíku store). UpdateCount Počet upravených záznamů struktur datového skladu (pouze v případě typu balíku store). StartTime Datum a čas spuštění balíku. EndTime Datum a čas ukončení balíku. ExecutionGUID Jedinečný kód přiřazený při spuštění ETL balíku. Last Timestamp Poslední časový otisk záznamu ve zdrojové tabulce (pouze v případě typu balíku stage). Status Výsledný stav běhu balíku (succeed, failed) Tabulka LOG.LoadPackages Detail (tab. 9) obsahuje informace o chybách vyvolaných při běhu jednotlivých ETL balíků. Každý záznam obsahuje detailní informace o každé chybě s propojením na balík, který chybu vyvolal prostřednictvím tabulky LOG.LoadPackages. Dále jsou v této tabulce zobrazeny informace o tom, jaká komponenta ETL balíku chybu vyvolala, o jaký typ události se jedná apod. Tab. 9: LOG.LoadPackages Detail tabulka Název sloupce ID Event Source ExecutionID Message Popis Primární klíč tabulky. Typ události. Komponenta v ETL balíku, která chybu vyvolala. Klíč pro spojení s tabulkou LOG.LoadPackages prostřednictvím jeho sloupce ExecutionGUID. Chybová zpráva vyvolaná při běhu ETL balíku.

50 5.2 Logování ETL Procedury a funkce Logovací mechanismus je zajištěn souborem několika procedur a funkcí, jejíž prostřednictvím jsou naplňovány logovací tabulky v databázi. Spouštění jednotlivých procedur je uskutečňováno přímo v jednotlivých ETL balících. Zdrojové kódy uvedených procedur a funkcí jsou uvedeny v příloze A. První procedurou je LOG.sp InitLoadPackages (tab. 10), která zajišťuje inicializaci logovacího mechanismu. Při vykonání této procedury se ukládají do tabulky LOG.LoadPackages informace o názvu a typu spuštěného ETL balíku, datum a čas spuštění apod. Výstupem této procedury je ID nově vytvořeného záznamu z této tabulky. Tab. 10: Popis parametrů procedury LOG.sp InitLoadPackage Parametr Název ETL Jedinečný kód ETL Uživatelský účet, pod kterým byl balík Název počítače, na kterém byl balík Typ ETL balíku (stage, store, ID ID záznamu tabulky LOG.LoadPackages, který vyvolal spuštění tohoto Název cílové tabulky. Další procedurou je LOG.sp EndLoadPackages (tab. 11), která obstarává ukládání informací získaných při běhu jednotlivých ETL balíků. Těmito informacemi jsou počet zpracovaných záznamů (extrahovaných, transformovaných apod.), poslední časový otisk extrahovaného záznamu ze zdrojové databáze, datum a čas ukončení balíku a výsledný stav po skončení běhu balíku. Tab. 11: Popis parametrů procedury LOG.sp @PackageType Popis ID záznamu vytvořeného inicializační procedurou LOG.sp InitLoadPackages. Počet extrahovaných záznamů do dočasného úložiště dat (pouze v případě typu balíku stage) Počet nových záznamů vložených do struktur datového skladu (pouze v případě typu balíku store). Počet upravených záznamů struktur datového skladu (pouze v případě typu balíku store). Typ ETL balíku (stage, store, control). Předchozí procedura je volána pouze v případě úspěšného dokončení běhu balíku. Pokud ale běh balíku selže při jeho zpracování je volána procedura

51 5.2 Logování ETL 51 LOG.sp OnError (tab. 12), která zajišťuje uložení informace o selhání balíku a datum a čas ukončení běhu balíku do tabulky LOG.LoadPackages. Tab. 12: Popis parametrů procedury LOG.sp OnError Popis ID záznamu vytvořeného inicializační procedurou LOG.sp InitLoadPackages. První funkcí pro logování je LOG.sf LoadPackages(), která neobsahuje žádné vstupní parametry a vrací hodnoty z tabulky LOG.LoadPackages nově zobrazené ve stromové struktuře prostřednictvím sloupce Package v závislosti na volání jednotlivých ETL balíků doplněné o dobu vykonání každého ETL balíku. Příklad výstupu této funkce je zobrazen na obrázku 10. Obr. 10: Příklad výstupu funkce LOG.sf LoadPackages() Funkce LOG.sf LoadPackages() využívá pro zajištění výstupu ve stromové struktuře funkci LOG.sf LoadPackages Tree(@logID), která je rekurzivní funkcí obsahující (ID záznamu tabulky LOG.LoadPackages). Výstupem této funkce jsou hodnoty z tabulky LOG.LoadPackages doplněné o sloupec Depth (úroveň spuštění balíku ve stromové struktuře), který je později využit ve funkci LOG.sf LoadPackages() pro odsazení hodnoty sloupce Package zobrazené na předchozím obrázku Šablony ETL balíků Pro zajištění logování ETL je nejprve nutné vytvořit ETL procedury nebo balíky, které budou mimo extrakce, transformace a nahrání dat obstarávat také právě logování do definovaných struktur prostřednictvím logovacích procedur popsaných v předchozí části. Pro realizaci ETL procedur lze využít nejrůznější nástroje a technologie, které lze snadno propojit s popsaným logovacím mechanismem prostřednictvím volání vytvořených procedur s předáním příslušných parametrů.

52 5.2 Logování ETL 52 V této práci je praktická část realizace zaměřena na nejrozšířenější nástroj pro tvorbu datových skladů, kterým je SQL Server v aktuální verzi ETL je v SQL Serveru realizováno prostřednictvím komponenty Integrační služby (SSIS), která prostřednictvím ETL balíků umožňuje realizaci datových pump pro extrakci, transformaci a nahrání dat do datového skladu. Z funkčního hlediska lze ETL balíky rozdělit na dva druhy: balíky pro extrakci dat ze zdroje do dočasného úložiště dat a balíky pro transformaci, čištění a nahrání dat z dočasného úložiště do datového skladu. Z tohoto důvodu byly vytvořeny dvě šablony ETL balíků pro oba zmíněné druhy. Šablona ETL balíku pro extrakci dat První šablona obstarává extrakci dat do dočasného úložiště dat. Obvykle se vytváří tolik balíků pro extrakci, kolik je různých tabulek ve všech zdrojových databázích, a tedy kolik je tabulek v dočasném úložišti dat. Často jsou to desítky i více tabulek, resp. balíků. Proto je vhodné vytvořit šablonu, která usnadňuje vytváření těchto balíků, jenž již má v sobě zakomponován logovací mechanismus, který je pro všechny balíky pro extrakci dat shodný. Obr. 11: Šablona ETL balíku pro extrakci dat (control flow) Na obrázku 11 je zobrazen control flow 14 šablony pro extrakci dat do dočasného úložiště dat. Skládá se ze tří prvků, které obstarávají inicializaci logovacího mecha- 14 komponenta integračních služeb SQL Serveru zajišťující řízení běhu balíku.

53 5.2 Logování ETL 53 Obr. 12: Šablona ETL balíku pro extrakci dat (data flow) nismu (procedura LOG.sp InitLoadPackages), data flow 15 provádějící extrakci dat a ukončení logovacího mechanismu (procedura LOG.sp EndLoadPackages). Obě procedury využívají k naplnění jejich parametrů uživatelské nebo systémové proměnné definované v balíku. Vytvořené data flow provádějící extrakci dat, které je v control flow zobrazeno jako druhý prvek, je dále dekomponováno na obrázku 12. Je složeno z těchto prvků: načtení (extrakce) dat ze zdrojové databáze, získání počtu extrahovaných záznamů, získání DB ID při extrakci z více databází (nepovinné), uložení dat do dočasného úložiště. Šablona ETL balíku pro transformaci dat Transformace dat z dočasného úložiště do struktur datového skladu je obvykle mnohem náročnější než extrakce dat. Nicméně logovací mechanismus je zde velmi podobný. Rozdíl je pouze v tom, že u logování při transformaci dat se neukládá časový otisk posledního záznamu tabulky zdrojové databáze a získává se namísto počtu extrahovaných záznamů, počet nových a upravených záznamů v tabulkách datových skladů. Podstatnější rozdíl je v konfiguraci balíku, kde již není nutné znát připojovací řetězec do zdrojových databází, protože data jsou získávána z dočasného 15 komponenta integračních služeb SQL Serveru zajišťující datový tok balíku (transformace záznamů apod.).

54 5.2 Logování ETL 54 Obr. 13: Šablona ETL balíku pro transformaci dat (control flow) úložiště dat. Control flow šablony pro transformaci dat je zobrazeno na obrázku 13. Data flow šablony (obr. 14) pro transformaci dat obsahuje tyto základní prvky: načtení dat z dočasného úložiště; získání ID záznamu vytvořeného inicializační procedurou LOG.sp InitLoad- Packages v tabulce LOG.LoadPackages zapsané v uživatelské proměnné balíku. To slouží k uložení této informace ke každému záznamu ve všech tabulkách datového skladu, aby bylo možné dohledat, jaké spuštění ETL balíku realizovalo vložení nebo upravení konkretního záznamu v datovém skladu; rozvětvení toku na nové a upravené záznamy (lze realizovat prostřednictvím komponenty Lookup (znázorněno na obrázku 14) nebo komponenty Slowly Changing Dimension; získání počtu nových (resp. upravených) záznamů; uložení do struktur datového skladu. Obvykle je ovšem schéma datového toku složitější v závislosti na konkrétních potřebách transformace, proto po načtení dat z tabulky dočasného úložiště dat může

55 5.2 Logování ETL 55 být vložen libovolný počet jiných prvků realizující pokročilé procesy transformace a čištění dat. Obr. 14: Šablona ETL balíku pro transformaci dat (data flow) Šablony, které byly vytvořeny v této kapitole lze snadno zakomponovat do vlastních řídících ETL balíků, které realizují jejich volání a integrují celý proces ETL do jednoho celku (například využitím konfigurace popsané v kapitole 5.1) Reportovací nástroj Logování ETL bylo realizováno v předchozích kapitolách prostřednictvím databázových struktur (tabulek, procedur a funkcí) a šablon ETL balíků, které spouští procedury a obstarávají předávání jejich parametrů. Nicméně neméně důležité je také sledovat průběh ETL prostřednictvím přehledného nástroje. Základem pro prezentaci dat z logovací tabulky je funkce LOG.sf LoadPackages, která vrací záznamy s informacemi o spuštěných ETL balících v přehledné formě. Na následujícím SQL dotazu je zobrazen příklad použití této funkce, kterou je pak možné využít při realizaci vlastního reportovacího nástroje prostřednictvím libovolně zvolené technologie.

56 5.2 Logování ETL 56 datetime = CONVERT(datetime,CONVERT(VARCHAR(10),getdate(),103),103) SELECT * FROM LOG.sf_LoadPackages() WHERE CONVERT(datetime,CONVERT(VARCHAR(10),starttime,103),103) ORDER BY ID Obr. 15: Load Packages Monitoring report

57 5.2 Logování ETL 57 Podrobnosti o chybách vyvolaných při vykonávání některého z ETL balíku je možné získat z tabulky LOG.LoadPackages Detail, kterou lze propojit s funkcí LOG.sf LoadPackages prostřednictvím sloupce ExecutionID (resp. ExecutionGUID). Příklad propojení a získání informací o chybách je znázorněno následujícím SQL dotazem. SELECT * FROM LOG.sf_LoadPackages() sf INNER JOIN LOG.LoadPackages_Detail LPD on LPD.ExecutionID=sf.ExecutionGUID Realizace reportovacího nástroje je uskutečněna opět prostřednictvím nástroje SQL Server 2008, konkrétně komponentou Reportovací služby (SSRS). Nástroj se skládá ze sady dvou reportů, které jsou vzájemně propojené. Report Load Packages Monitoring zobrazuje spuštěné ETL balíky s informacemi o jejich průběhu uspořádaných pod sebou ve stromové struktuře seřazených podle času spuštění. Díky zobrazení ve stromové struktuře lze snadno vidět, jaký balík byl spuštěn kterým rodičovským balíkem (viz obr. 15). Druhým reportem je Load Packages Monitoring Detail (obr. 16), do kterého se lze dostat prostřednictvím názvu balíku (sloupec Package Name) v reportu Load Packages Monitoring. Tento report zobrazuje informace o chybových hlášeních vyvolaných při běhu jednotlivých balíků. Díky tomu lze pak poměrně snadno ladit tyto ETL balíky při jejich vývoji, případně odstranit chyby vyskytnuté při provozu. Obr. 16: Load Packages Monitoring Detail report

58 5.3 Testování Testování Testování datových skladů se výrazně liší od testování většiny softwarových projektů. Testování probíhá v několika fázích (viz kapitola 3.5) a zajištění kvalitního testování je velmi důležité pro úspěšnost celého projektu. Díky testování lze záhy identifikovat nejrůznější problémy. Ačkoliv je testování obvykle realizováno ručně, lze jej i částečně automatizovat a umožnit tak získání základního přehledu o funkčnosti jednotlivých prvků datového skladu při vývoji a monitorování stavu datového skladu při jeho údržbě a provozu. V následující části budou popsány struktury a mechanismy pro automatizované testování dat v datovém skladu. Lze definovat různé typy testů. Základními jsou test počtu záznamů v tabulkách datového skladu a test agregovaných hodnot pro zvolené metriky v kostkách OLAP databáze. V obou případech je realizováno porovnání získaných hodnot s hodnotami ve zdrojových databázích Struktura testovacích tabulek CONFIG.Testing (tab. 13) tabulka slouží pro konfiguraci testovací komponenty, proto se nachází ve schématu CONFIG. Prostřednictvím této tabulky se definují názvy a typ položek, které se budou během testování ověřovat. Pro každou položku lze definovat dotaz pro získání hodnot ze zdrojových databází, které jsou později porovnávány s hodnotami v datovém skladu. Tab. 13: CONFIG.Testing tabulka Název sloupce Name Type Query source Source DB Cube Popis Název testovací položky (název tabulky, metriky, apod.). Typ testovací položky (metrika, tabulka, atd.). SQL dotaz do zdrojové databáze pro získání hodnoty pro test. ID databáze uvedené v tabulce CONFIG.Databases, ze které se bude hodnota dotazovat. Při testování metrik se vyplní název datové krychle. Tabulka TEST.Values (tab. 14) je jediná tabulka nacházející se ve schématu TEST. Tato tabulka slouží pro ukládání hodnot získaných při testování.

59 5.3 Testování 59 Tab. 14: TEST.Values tabulka Název sloupce Popis ID Primární klíč tabulky. Name Název testovací položky (název tabulky, metriky, apod.). Type Typ testovací položky (metrika, tabulka, atd.). Date Datum zapsání hodnoty. Source Zdroj, ze kterého byla hodnota získána (dwh, source). Value Hodnota získaná při testování. Execution ID Identifikátor, který sdružuje testování více položek vyvolané společným podnětem. DB ID ID databáze uvedené v tabulce CONFIG.Databases, ze které se získala hodnota pro test ze zdrojové databáze (pouze v případě zdroje source) Příprava konfiguračních dat Je zřejmé, že techniky pro získání testovacích dat ze zdrojových databází, relačních tabulek datového skladu a OLAP databází se liší. Proto je nutné připravit konfigurační data zvlášť pro každou techniku. Konfigurace pro získání hodnot z tabulek datového skladu Příprava konfiguračních dat pro získání testovacích hodnot z tabulek datového skladu je velmi prostá. Prostřednictvím jednoduchého SQL dotazu se získají názvy tabulek datového skladu, které budou využity pro testování. SELECT DISTINCT Name FROM CONFIG.testing WHERE TYPE= Table Konfigurace pro získání hodnot ze zdrojových databází Příprava konfiguračních dat pro získání testovacích hodnot ze zdrojových databází využívá mimo tabulky CONFIG.Testing také tabulku CONFIG.Databases pro získání připojovacího řetězce do zdrojové databáze, odkud se prostřednictvím SQL dotazu (sloupec Query source) získají testovací hodnoty. SELECT Name, Query_source, Type, Database_ConnectionString, Source_DB, CASE WHEN Cube IS NULL THEN Unknown ELSE Cube END FROM CONFIG.testing T INNER JOIN CONFIG.Databases D ON T.source_db=D.ID WHERE Query_source IS NOT NULL

60 5.3 Testování 60 Konfigurace pro získání hodnot z OLAP databází Příprava konfiguračních dat pro získání testovacích hodnot z OLAP databází je velmi specifická tím, že se zde prostřednictvím názvu metriky ve sloupci Name a názvu kostky ve sloupci Cube automaticky sestaví MDX dotaz pro získání agregované hodnoty pro jednotlivé metriky uvedené v tabulce CONFIG.Testing. SELECT Name, Type, Cube, WITH MEMBER Measures.[Hodnota] AS [Measures].[ +[Name]+ ] SELECT Measures.[Hodnota] ON COLUMNS FROM [ +[Cube]+ ] AS Query_olap FROM CONFIG.testing WHERE TYPE= Measure AND Cube IS NOT NULL Realizace testovacího mechanismu Testovací mechanismus je založen na principu získání konfiguračních dat, provedení dotazů k získání testovacích hodnot a uložení těchto hodnot s dalšími podrobnostmi do tabulky TEST.Values. Realizace testovacího mechanismu je provedena v SQL Serveru 2008, prostřednictvím Integračních služeb. Celý mechanismus zajišťují dva vzájemně propojené ETL balíky, které je možné integrovat do celkového ETL řešení. Popis řešení Nejprve jsou do kolekcí načteny konfigurační data prostřednictvím dotazů popsaných v předchozí části a následně jsou pro každou kolekci vytvořeny kontejnery zajišťující průchod jednotlivých záznamů v kolekcích pro získání testovacích dat a uložení do tabulky TEST.Values. Control flow řešení je zobrazeno obrázku 17. První kontejner zajišťuje cyklus pro získání počtu záznamů v jednotlivých tabulkách datového skladu, které jsou definovány pro testování v tabulce CONFIG.Testing. Každý průchod v cyklu provádí následující SQL dotaz s různými hodnotami v parametrech podle informací extrahovaných z kolekce COLLECTION Store. Tento dotaz zajišťuje získání počtu záznamů z jednotlivých tabulek datového skladu. INSERT INTO [TEST].[Values] VALUES (@Name, Table, getdate(), dwh, ( SELECT sum(rows) AS rows FROM sysindexes i INNER JOIN sys.tables t ON i.id=t.object_id WHERE indid IN (0,1) AND SCHEMA_NAME(t.schema_id)= STORE AND cast(object_name(id) as varchar(50))=@name GROUP BY i.id NULL)

61 5.3 Testování 61 Obr. 17: ETL balík testovacího mechanismu (control flow) Druhý kontejner slouží jako cyklus pro volání dceřiného balíku, který zajišťuje získání požadované hodnoty ze zdrojové databáze. Důvod, proč je volán jiný balík je ten, že se do něj předává konfigurační hodnota připojovacího řetězce konkrétní zdrojové databáze, což nemůže být realizováno v jediném ETL balíku. Control flow i data flow tohoto balíku jsou zobrazeny na obrázcích 18 a 19. Obr. 18: ETL balík pro získání hodnot ze zdrojové databáze (control flow)

62 5.3 Testování 62 Obr. 19: ETL balík pro získání hodnot ze zdrojové databáze (data flow) Poslední kontejner slouží jako cyklus pro získání agregovaných dat z metrik v OLAP databázích. Tento proces je realizován prostřednictvím data flow komponenty (obr. 20), která obstarává získání agregované hodnoty pro každou metriku prostřednictvím MDX dotazu sestaveného v kolekci COLLECTION Kostka. Obr. 20: Získání hodnoty z kostky (data flow)

63 5.3 Testování Reportovací nástroj Výsledek testování je důležité přehledně prezentovat. Všechna data potřebná pro prezentaci lze získat z tabulky TEST.Values vytvořením patřičných SQL dotazů. Nástroj reportující výsledek testování, který bude v této části popsán se skládá ze dvou typů testů. Jedná se o test počtu záznamů v tabulkách datového skladu a test agregovaných hodnot pro zvolené metriky. V obou případech v závislosti na konfiguraci v tabulce CONFIG.Testing. Princip zobrazení výsledků testování je založen na porovnání hodnot z datového skladu s hodnotami ve zdrojových databázích. Tyto hodnoty by se měly shodovat. Příprava dat pro prezentaci Prezentaci výsledků testování lze umožňujit Vytvořením následujících SQL dotazů. Prvním typem testu, resp. SQL dotazem, je test počtu záznamů v tabulkách datového skladu ve srovnání s počtem záznamů ve všech zdrojových databázích sloužící jako vstup do tabulek datového skladu. SELECT Name, Date, Value AS Value_dwh, ( SELECT sum(value) FROM [TEST].[Values] WHERE Execution_ID=V.Execution_ID AND Name=V.Name AND source= source ) AS Value_Source, Execution_ID, DB_ID FROM [TEST].[Values] V WHERE TYPE= Table AND Source= dwh AND Execution_ID = CASE THEN ( SELECT max(execution_id) FROM [TEST].[Values] WHERE TYPE= Table AND Source= dwh ) END Druhým typem testu (SQL dotazem) je test agregovaných hodnot pro zvolené metriky ve srovnání s agregovanými hodnotami ze zdrojových databází. SELECT Name, Date, Value AS Value_dwh, ( SELECT sum(value) FROM [TEST].[Values] WHERE Execution_ID=V.Execution_ID AND Name=V.Name AND Cube=V.Cube AND Source= source ) AS Value_Source, Execution_ID, Cube

64 5.3 Testování 64 FROM [TEST].[Values] V WHERE TYPE= Measure AND Source= dwh AND Execution_ID = CASE then ( SELECT max(execution_id) FROM [TEST].[Values] WHERE TYPE= Measure AND Source= dwh ) END Realizace nástroje pro prezentaci výsledků Pro prezentaci výsledků byl zvolen nástroj reportovacích služeb SQL Serveru 2008 podobně jako v případě logování v předchozí kapitole. Výsledek je tvořen sadou dvou reportů zabývajících se jednotlivými typy testů. Pro naplnění dat v reportech byly využity SQL dotazy popsány v předchozí části. Obr. 21: Test Tables report

65 5.3 Testování 65 Prvním reportem je Test Tables report, který zobrazuje výsledek testu počtu záznamů v tabulkách datového skladu ve srovnání s počtem záznamů ve všech zdrojových databázích. Pokud se výsledky testů pro jednotlivé položky shodují, pak je záznam označen stavem Succeed (obr. 21). Druhým reportem je Test Measures report, který zobrazuje výsledek testu agregovaných hodnot pro jednotlivé metriky ve srovnání s agregovanými hodnotami ze všech souvisejících zdrojových databází. Ve srovnání s předchozím reportem je doplněn sloupec Difference, který zobrazuje rozdíl mezi hodnotou v datové krychli a hodnotou získanou ze zdrojových databází. Obvykle totiž dochází při transformaci hodnot z produkčních systémů do OLAP databází datového skladu k určitému nepatrnému zkreslení hodnot zaviněným zaokrouhlováním při transformaci. Ačkoliv jsou hodnoty zaokrouhlovány obvykle až na velmi podrobném desetinném místě, při množství dat do datového skladu to již může hrát roli. Proto je zde uveden právě sloupec Difference, který uvádí přesný rozdíl mezi těmito hodnotami. Hodnota tohoto sloupce je pak využita při vyhodnocení stavu testovací položky. Celková agregovaná hodnota v kostce je vynásobena koeficientem označující povolenou odchylku pro výsledek shody. Pokud je rozdíl menší než tato odchylka, pak je stav testovací položky označen hodnotou Succeed (Obr. 22). Obr. 22: Test Measures report

66 5.4 Nasazení a konfigurace Nasazení a konfigurace Nasazení a konfigurace datového skladu je poslední fází při vývoji projektu, popřípadě jednoho cyklu projektu. Datový sklad se zpravidla vyvíjí na jiném prostředí než produkčním, obvykle testovacím, proto je zapotřebí postup nasazení a konfigurace kvalitně naplánovat a jednotlivé části automatizovat. Zajistí se tak bezproblémové nasazení a konfigurace datového skladu při prvním i dalším nasazení. Nasazení a konfigurace datového skladu a prostředí by se měla skládat z následujících kroků: vytvoření struktur datového skladu, konfigurace, zajištění automatizovaného provozu Vytvoření struktur datového skladu Struktury datového skladu jsou veškeré komponenty vytvořené při vývoji datového skladu nezbytné pro jeho provoz. Jsou jimi: struktury relační databáze datového skladu (tabulky, procedury, funkce, apod.) ETL balíky a procedury, struktury OLAP (databáze, kostky, struktury pro dolování dat, uživatelské role, atd.), reportovací nástroje (sady reportů). Struktury relačních a OLAP databází lze automatizovat vytvořením SQL a XMLA skriptů, které zajistí vytvoření potřebných struktur a jejich naplnění inicializačními daty. ETL balíky se obvykle pouze nakopírují na server, popřípadě pokud je ETL vykonáváno jiným způsobem, například prostřednictvím sady procedur, pak je pro ně vytvořen samostatný SQL skript. Reportovací nástroje se nasazují v závislosti na použité technologii, například vytvořením skriptů, které nakopírují sady reportů na webový server Konfigurace Konfiguraci lze rozdělit na dvě části, konfiguraci prostředí (serveru) a konfiguraci datového skladu. Při konfiguraci prostředí se obvykle využívají proměnné prostředí, které definují připojení k databázím datového skladu. Tato připojení jsou využívána v jednotlivých ETL balících, kde při zpravidla velkém množství balíků je jejich společná konfigurace velmi důležitá. Příklad vytvoření záznamů v proměnných prostředí

67 5.4 Nasazení a konfigurace 67 pro využití v ETL balících vytvořených v SQL Serveru 2008 je zobrazeno na následujícím skriptu, který je možné uložit a poté snadno spustit v dávkovém souboru. Po vytvoření záznamů v proměnných prostředí je nutné restartovat stroj. REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\ Environment" /v~framework_db_connectionstring /t REG_SZ /d "Data Source=localhost;Initial Catalog=Framework_DW_DB; Provider=SQLNCLI10.1;Integrated Security=SSPI;" /f REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\ Environment" /v~framework_udm_connectionstring /t REG_SZ /d "Data Source=localhost;Initial Catalog=Framework_UDM; Provider=MSOLAP.4;Integrated Security=SSPI;Location=localhost; Format=Tabular;" /f Konfigurace datového skladu znamená naplnění konfiguračních tabulek vhodnými daty. To lze zahrnout již do SQL skriptu, který vytváří struktury datového skladu a naplňuje je inicializačními daty. V lepším případě lze ale vytvořit mechanismus pro snadnou konfiguraci všech potřebných údajů například prostřednictvím uložené procedury. Procedura, upravující konfigurační hodnoty dle struktur definovaných v kapitole 5.1 je znázorněna na následujícím skriptu. definuje název počítače a fyzickou cestu k ETL balíkům. CREATE PROCEDURE [CONFIG].[usp_AdjustConfigurationValues] nvarchar(255) ) AS BEGIN IS NOT NULL UPDATE CONFIG.Databases SET Database_ConnectionString = ( SELECT REPLACE(D.Database_ConnectionString, localhost,@machine) FROM CONFIG.Databases WHERE ID=D.ID ) FROM CONFIG.Databases D IS NOT NULL UPDATE CONFIG.PackageConfig SET ConfiguredValue=@PackagePath WHERE ConfigurationFilter= PackagePath END

68 5.4 Nasazení a konfigurace Zajištění automatizovaného provozu Nasazení datového skladu nekončí pouze nasazením a konfigurací jeho komponent na produkčním prostředí. Nezbytné je také zajistit pravidelný běh ETL balíků, procesení kostek apod. K zajištění provozu slouží v SQL Serveru komponenta SQL Server Agent, která umožňuje vytvoření a konfiguraci úkolů (tzv. jobů), které prostřednictvím integrovaného plánovače dokáží vykonávat nejrůznější činnosti. Tímto způsobem lze automatizovat proces transformace nových a upravených dat do datového skladu. Pro vytvoření a konfiguraci úkolu je nezbytné provedení následujících kroků: Vytvořit na serveru účet DW Service account (včetně hesla), Nastavit spuštění služby SQL Server Agent a SQL Server Analytické služby pod účtem DW Service account (obr. 23), Obr. 23: Konfigurace přihlášení ke službě SQL Server Agent Nastavit přístup účtu ke strukturám DW Service account datového skladu (viz příloha B), Spustit SQL dotaz pro vytvoření jobu (viz příloha B), Naplánovat job.

69 5.5 Údržba a provoz Údržba a provoz Údržba a provoz datového skladu je vzhledem k obecné charakteristice datových skladů velmi specifická. Jeho úkolem je mimo implementaci drobných úprav dle změn v uživatelských požadavcích také sledovat stav datového skladu vzhledem k jeho objemu, kvalitě dat a celkovému provozu. Ralph Kimball uvádí, že práce na údržbě a provozu datového skladu pokrývají až padesát procent rozpočtu projektu (Kimball, 1998, s. 716). Vytvoření kvalitního nástroje pro sledování stavu datového skladu proto výrazně šetří náklady spojené s předvídáním budoucích problémů a analýzou příčin aktuálních problémů Struktura tabulek pro údržbu Struktura tabulek pro údržbu je sdružena do schématu MAINTAINANCE a je znázorněna na obrázku 24. Obr. 24: Struktura tabulek pro údržbu Tabulka MAINTAINANCE.Overview (tab. 15) slouží pro ukládání důležitých informací o databázi datového skladu a úložišti dat, kde se datový sklad nachází. Tyto informace lze využít pro sledování nárůstu objemu datového skladu a případného předvídání nedostatku místa na fyzických discích. Druhou tabulkou tohoto schématu je MAINTAINANCE.Records (tab. 16) tabulka, do které jsou zapisovány informace s vývoji záznamů v jednotlivých relačních tabulkách datového skladu.

70 5.5 Údržba a provoz 70 Tab. 15: MAINTAINANCE.Overview tabulka ID Primární klíč tabulky. DBName Název relační databáze datového skladu. DataSize Objem dat v databázi (v MB). LogSize Objem dat logu databáze (v MB). DBUsedSize Objem skutečně uložených dat v databázi (v MB). DBFreeSize Volný prostor v databázi, který je k dispozici (v MB). TotalSize Celková velikost databáze (DataSize+LogSize, resp DBUsedSize+DBFreeSize) DBFilePath Cesta k souboru databáze na fyzickém disku. LogFilePath Cesta k souboru logu databáze na fyzickém disku. DataDrive Jednotka disku, kde se nachází data. LogDrive Jednotka disku, kde se nachází log. DataDiscCapacity Velikost oddílu, kde se nachází data. DataDiscUsedSpace Obsazené místo v oddílu, kde se nachází data. DataDiscFreeSpace Volné místo v oddílu, kde se nachází data. LogDiscCapacity Velikost oddílu, kde se nachází log. LogDiscUsedSpace Obsazené místo v oddílu, kde se nachází log. LogDiscFreeSpace Volné místo v oddílu, kde se nachází log. Date Datum a čas uložení informací. Tab. 16: MAINTAINANCE.Records tabulka ID Primární klíč tabulky. Table Název tabulky datového skladu. Date Datum a čas uložení informací. Value act Aktuální počet záznamů. Value prev Předchozí počet záznamů. Value new Počet nových záznamů v tabulce. Value update Počet aktualizovaných záznamů v tabulce Procedury pro naplnění tabulek Základní procedurou je MAINTAINANCE.usp Overview, která zabezpečuje naplnění tabulky MAINTAINANCE.Overview. Tato procedura využívá pro získání informací o databázi a logovém souboru volně dostupnou proceduru dbo.sp SDS, vytvořenou Richardem Dingem, specialistou v oblasti administrace databází (Ding, 2008). V další části procedury MAINTAINANCE.usp Overview je pro získání informací o oddílu disku, kde se nachází databázové soubory logu a dat, využita assembly DiskSpace vytvořená v jazyku C# využívající Microsoft.NET Framework. Tato assembly používá třídu StoredProcedures vytvořenou pro technologii SQL Server společností Microsoft umožňující vytváření tzv. CLR uložených procedur v programovacích jazycích pracující s Microsoft.NET Framework. Kompletní zdrojový kód této assembly je uveden příloze X. Před využitím této assembly je ještě

71 5.5 Údržba a provoz 71 nutné spustit následující SQL dotaz, který ji integruje do databáze (s upřesněním cesty ke zkompilovanému souboru assembly DiskSpace.dll) a vytváří proceduru dbo.isp DiskSpace, prostřednictvím které je tato assembly volána v prostředí SQL Serveru. Tato procedura obsahuje jediný parametr, kterým je název serveru. Tento parametr je volitelný, pokud je vynechán, pak je použit název lokálního serveru. CREATE ASSEMBLY DiskSpace FROM <cesta_k_souboru>\diskspace.dll WITH PERMISSION_SET = UNSAFE GO CREATE PROC nvarchar(4000) WITH EXECUTE AS CALLER AS EXTERNAL NAME DiskSpace.StoredProcedures.isp_DiskSpace GO Další procedurou je MAINTAINANCE.usp Records, která je volána uvnitř procedury MAINTAINANCE.usp Overview a obstarává naplnění tabulky MAINTAINANCE.Records aktuálními daty Reportovací nástroj Data naplněná do tabulek uvedenými procedurami je nezbytné přehledným způsobem zobrazovat tak, aby odpovědné osoby v projektu měly okamžitý přístup ke všem těmto důležitým informacím. Reportovací nástroj pro údržbu a provoz datového skladu v sobě navíc integruje i sadu reportů vytvořených pro sledování testování a logování popsané v předchozích kapitolách. Tím se tento nástroj stává komplexním a umožňujícím sledovat na jednom místě veškeré důležité informace o provozu datového skladu. Realizace reportovacího nástroje je zajištěna opět prostřednictvím reportovacích služeb SQL Serveru Nástroj je složen z celkové sady deseti reportů, přičemž některé z nich byly již popsány v předchozích kapitolách. Základním reportem, do kterého jsou integrovány všechny důležité informace, je Maintainance Dashboard. Tento report (obr. 25) prostřednictvím jednoduchých SQL dotazů extrahuje z tabulek pro údržbu a provoz, logování a testování souhrnné informace o velikosti databáze, diskových oddílech, stavu pravidelného spouštění ETL a výsledku pravidelného testování. Prostřednictvím reportu Maintainance Dashboard lze volat další reporty, tzv. subreporty, které zobrazují podrobnější informace z jednotlivých sekcí tohoto reportu. Prvním z nich je Database Size Growth report, který zobrazuje vývoj velikosti databáze datového skladu v čase díky přehlednému grafu (obr. 26). Do tohoto reportu se lze dostat prostřednictvím hodnoty Total Database Size.

72 5.5 Údržba a provoz 72 Obr. 25: Maintainance Dashboard report Obr. 26: Database Size Growth report Dalším subreportem složeným ze sady dvou reportů zobrazující rovněž informace o velikosti databáze, ale z pohledu počtu záznamů v jednotlivých tabulkách relační databáze datového skladu jsou reporty Tables Overview (obr. 27), do kterého se lze dostat přes hodnotu Rows count a Tables Overview Detail (obr. 28) přístupného z reportu Tables Overview prostřednictvím hodnoty ve sloupci Table. Report Tables Overview zobrazuje informace o vývoji záznamů ve všech

73 5.5 Údržba a provoz 73 tabulkách datového skladu přehledně pod sebou. Zatímco report Tables Overview Detail zobrazuje prostřednictvím grafu informace o vývoji záznamů ve zvolené tabulce (popřípadě všech tabulek skrze hodnotu Total). Obr. 27: Tables Overview report Dalším subreportem přístupným z reportu Maintainance Dashboard je HDD Free Space Overview. Tento report zobrazuje vývoj volného místa na jednotlivých diskových oddílech, na kterých se nacházejí soubory dat a logu databáze datového skladu (obr. 29). Tyto informace lze využít pro předvídání možného nedostatku volného místa v jednotlivých oddílech a zabránění souvisejících problémů. Report lze zobrazit prostřednictvím hodnoty Free Space v sekci HDD Info. Report Load Duration Overview (obr. 30) je dalším subreportem reportu Maintainance Dashboard, přístupný přes hodnotu Duration v sekci ETL Load Info. Report zobrazuje v grafu vývoj doby trvání pravidelného spouštění ETL balíků. Následující subreporty vztahující se k logování a testování byly již podrobně popsány v předchozích kapitolách. Report Maintainance Dashboard je využívá a integruje tyto informace do společného celku. Prvním z těchto subreportů je Load Packages Monitor (obr. 15 v kapitole 5.2.4), který zobrazuje informace o posledním spuštěném ETL. Report je dostupný skrze hodnotu Status, která nabývá hodnot Succeed, resp. Failed, v závislosti na výsledném stavu posledního spuštění ETL. V sekci testování reportu Maintainance Dashboard jsou informace o posledním dokončeném testování a jejich výsledky. Do podrobností o každém z těchto testů se lze dostat skrze jejich výsledný stav. Subreporty takto dostupné jsou popsané v kapitole 5.3.4, jsou jimi Test Tables a Test Measures (obr. 21 a 22 na str. 64).

74 5.5 Údržba a provoz 74 Obr. 28: Tables Overview Detail report Obr. 29: HDD Free Space Overview report

75 5.6 Aplikace komponent při realizaci projektu 75 Obr. 30: Load Duration Overview report 5.6 Aplikace komponent při realizaci projektu Jak je uvedeno v kapitole 1.2 (Cíl práce), cílem této práce není podrobný popis realizace datového skladu od počátku do konce, ale realizace datového skladu aplikací jednotlivých nástrojů a principů popsaných v předchozích kapitolách pro konfiguraci, logování, testování, nasazení, údržbu a provoz datového skladu při tvorbě datového skladu. V této části je stručně popsána realizace datového skladu s využitím dat z databáze AdventureWorks2008. Při realizaci datového skladu byla využita technologie SQL Server 2008 a její jednotlivé komponenty: databázový stroj, integrační služby, analytické služby, reportovací služby a SQL Server Agent Projektová příprava V první fázi byl vytvořen stručný projektový plán (viz příloha C), ve kterém byly uvedeny základní požadavky na datový sklad a jeho jednotlivé součásti. Projektový plán vymezuje cíle, kterými jsou vytvoření datového skladu ze zdrojové databáze AdventureWorks2008, který bude obsahovat prodeje z internetových nákupů v období let a jehož výsledek bude srovnatelný s daty v datovém tržišti Internet Sales kostky Adventure Works OLAP databáze Adventure Works DW Dálé projektový plán také vymezuje dobu trvání a sekvenci jednotlivých úkolů projektu. V další části přípravy projektu byla provedena multidimenzionální analýza obsahující mapování zdrojů dat, definici metrik, dimenzí a kostek. Multidimenzionální analýza je uvedena rovněž v příloze C. Modelování technologické platformy bylo zaměřeno na návrh technologické architektury, ve které byly definovány jednotlivé komponenty datového skladu. Jsou

76 5.6 Aplikace komponent při realizaci projektu 76 jimi zdrojová databáze, dočasné úložiště dat a datový sklad v části back room, OLAP databáze a reportovací nástroje v části front room Implementace Ve fázi implementace byly nejprve vytvořeny struktury datového skladu, kterými jsou jednotlivé tabulky dočasného úložiště dat a datového skladu. Mezi tyto struktury byly rovněž implementovány struktury konfiguračních, logovacích, testovacích a provozních tabulek. V dalším kroku byly naplněny konfigurační tabulky patřičnými daty dle požadavků projektu. Tzn. do tabulky CONFIG.Databases byl vložen jediný záznam pro zdrojovou databázi AdventureWorks2008. Do tabulky CONFIG.Tables bylo vloženo 13 záznamů specifikující tabulky a SQL dotazy, kterými se budou extrahovat data do dočasného úložiště dat. Dále tabulka CONFIG.Packages byla naplněna 13 záznamy definující názvy tabulek dočasného úložiště dat, do kterých se budou extrahovat data prostřednictvím specifikovaných ETL balíků pro extrakci. Tyto data se budou dále nahrávat do uvedených tabulek datového skladu prostřednictvím ETL balíků specifikovaných rovněž v této tabulce. V další fázi je provedena konfigurace ETL balíků prostřednictvím proměnných prostředí a procedury CONFIG.usp AdjustConfigurationValues uvedených v kapitole Do poslední konfigurační tabulky CONFIG.Testing jsou vloženy záznamy pro testování. Po vytvoření potřebných struktur prostřednictvím tzv. create skriptu, což je soubor jednotlivých DDL 16 a DML 17 SQL dotazů a konfiguraci uvedených tabulek a proměnných prostředí se dále vytváří ETL řešení. To je postaveno na využití navržených šablon ETL balíků pro extrakci a transformaci s využitím řídících struktur prostřednictvím logiky uskutečněné dotazy uvedenými v kapitole (Využití konfiguračních tabulek při ETL). Výsledná databáze datového skladu obsahující struktury definované v dimenzionální analýze a data po ETL transformaci se nachází v UIS (soubor Framework DW DB.bak). V další fázi vývoje projektu se přistupuje k vytvoření OLAP databáze a jejich jednotlivých součástí. Nejprve se definuje tzv. Data source view (obr. 31), který specifikuje tabulky a jejich vazby formující OLAP struktury databáze. Dále se definují jednotlivé dimenze, jejich prvky a hierarchie. Dimenzemi vytvořenými v tomto projektu jsou: Product, Time, Geography, Customer, Sales Territory. 16 Data Definition Language 17 Data Manipulation Language

77 5.6 Aplikace komponent při realizaci projektu 77 Obr. 31: Data source view OLAP databáze Po vytvoření všech dimenzí se přistupuje k vytvoření struktur kostky datového skladu. V kostce se nejprve definují skupiny metrik a v nich obsažené metriky z faktových tabulek uvedených v DSV (Data source view). Dále dimenze, které bude kostka využívat (Obr. 32) a následně je nutné definovat vazby, které spojují jednotlivé dimenze s fakty, resp. skupiny metrik s jednotlivými dimenzemi (viz obr. 33). Jakmile jsou všechny potřebné struktury OLAP databáze vytvořeny dle specifikace v projektovém plánu, pak je možné databázi uložit do formátu XMLA, který prostřednictvím skriptu vytváří všechny vytvořené struktury v analytických službách instance SQL Serveru, na které je skript spuštěn. V další fázi implementace je vytvořena sada reportů pro údržbu a provoz datového skladu uvedené v kapitole

78 5.6 Aplikace komponent při realizaci projektu 78 Obr. 32: Struktura kostky Obr. 33: Spojení faktů s dimenzemi (Dimension Usage)

79 5.6 Aplikace komponent při realizaci projektu Nasazení Nasazení projektu datového skladu probíhá podle postupu uvedeném v kapitole 5.4. Nejprve jsou na serveru vytvořeny struktury datového skladu složené z relační a OLAP databáze, ETL balíků a sady reportů prostřednictvím vytvořených skriptů, případně nakopírováním balíků na server, resp. reportů na webový server. Dále pokud se vývojový server liší od produkčního, pak je provedena konfigurace serveru a konfigurace datového skladu prostřednictvím dávkového souboru definující proměnné prostředí a procedury CONFIG.usp AdjustConfigurationValues. Jakmile jsou struktury nasazeny a konfigurace provedena je nutné automatizovat provoz datového skladu dle postupu v kapitole Tzn. vytvoření účtu DW Service account na serveru, nastavení služeb Analytické služby a SQL Server Agent, aby byly spouštěny pod tímto účtem, a přidělení přístupu k strukturám datového skladu tomuto účtu. Následně je vytvořen job prostřednictvím komponenty SQL Server Agent a naplánováno jeho spouštění pro pravidelný běh ETL a procesení OLAP databáze Údržba a provoz Údržba a provoz datového skladu jsou zajištěny sadou reportů, které zobrazují veškeré důležité informace o databázi datového skladu, diskových oddílech, na kterých se databáze nachází, spouštění ETL řešení a průběhu testování Interpretace a porovnání výsledků Projekt datového skladu, který byl v této kapitole vytvořen na základě aplikace jednotlivých principů a nástrojů pro konfiguraci, logování, testování, nasazení, údržbu a provoz datového skladu, lze díky tomu, že již existuje vzorová výsledná OLAP databáze Adventure Works DW 2008, verifikovat z hlediska obsahu dat. Společnost Microsoft vytvořila vzorovou zdrojovou databázi AdventureWorks2008 a výslednou OLAP databázi Adventure Works DW 2008, které jsou součástí SQL Serveru 2008 bez mechanismů a struktur zajišťující proces transformace těchto dat pro umožnění realizace a následné verifikace vzorového projektu využívající vlastní principy a mechanismy. Na obrázcích 34 a 35 je vytvořena ad-hoc analýza porovnávající OLAP databázi Framework UDM a databáziadventure Works DW 2008 z hlediska obsahu dat, aby bylo možné verifikovat výsledný projekt. Kompletní záloha výsledné OLAP databáze se nachází v UIS (soubor Framework UDM.abf).

80 5.6 Aplikace komponent při realizaci projektu 80 Obr. 34: Ad-hoc analýza OLAP databáze Framework UDM Obr. 35: Ad-hoc analýza OLAP databáze Adventure Works DW 2008

Business Intelligence

Business Intelligence Business Intelligence Skorkovský KAMI, ESF MU Principy BI zpracování velkých objemů dat tak, aby výsledek této akce manažerům pomohl k rozhodování při řízení procesů výsledkem zpracování musí být relevantní

Více

Základy business intelligence. Jaroslav Šmarda

Základy business intelligence. Jaroslav Šmarda Základy business intelligence Jaroslav Šmarda Základy business intelligence Business intelligence Datový sklad On-line Analytical Processing (OLAP) Kontingenční tabulky v MS Excelu jako příklad OLAP Dolování

Více

AdventureWorksDW2014 SQL Server Data Tools Multidimenziona lnı model Tabula rnı model Multidimenziona lnı mo d Tabula rnı mo d MS SQL Server 2016 Tabula rnı mo d Azure Analysis Services 16 3.2 Dimenzionální

Více

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

Datové sklady. Ing. Jan Přichystal, Ph.D. 1. listopadu 2011. PEF MZLU v Brně PEF MZLU v Brně 1. listopadu 2011 Úvod Intenzivní nasazení informačních technologií způsobuje hromadění obrovské spousty nejrůznějších údajů. Příkladem mohou být informace z obchodování s cennými papíry

Více

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

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1 Metodický list č. 1 Cíl: Cílem předmětu je získat přehled o možnostech a principech databázového zpracování, získat v tomto směru znalosti potřebné pro informačního manažera. Databázové systémy, databázové

Více

3 zdroje dat. Relační databáze EIS OLAP

3 zdroje dat. Relační databáze EIS OLAP Zdroje dat 3 zdroje dat Relační databáze EIS OLAP Relační databáze plochá dvourozměrná tabulková data OLTP (Online Transaction Processing) operace selekce projekce spojení průnik, sjednocení, rozdíl dotazování

Více

10. Datové sklady (Data Warehouses) Datový sklad

10. Datové sklady (Data Warehouses) Datový sklad 10. Datové sklady (Data Warehouses) Datový sklad komplexní data uložená ve struktuře, která umožňuje efektivní analýzu a dotazování data čerpána z primárních informačních systémů a dalších zdrojů OLAP

Více

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

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9 Obsah Úvod 9 Kapitola 1 Business Intelligence, datové sklady 11 Přechod od transakčních databází k analytickým..................... 13 Kvalita údajů pro analýzy................................................

Více

Základní informace o co se jedná a k čemu to slouží

Základní informace o co se jedná a k čemu to slouží Základní informace o co se jedná a k čemu to slouží založené na relačních databází transakční systémy, které jsou určeny pro pořizování a ukládání dat v reálném čase (ERP, účetní, ekonomické a další podnikové

Více

Databáze Bc. Veronika Tomsová

Databáze Bc. Veronika Tomsová Databáze Bc. Veronika Tomsová Databázové schéma Mapování konceptuálního modelu do (relačního) databázového schématu. 2/21 Fyzické ik schéma databáze Určuje č jakým způsobem ů jsou data v databázi ukládána

Více

Ing. Roman Danel, Ph.D. 2010

Ing. Roman Danel, Ph.D. 2010 Datový sklad Ing. Roman Danel, Ph.D. 2010 Co je to datový sklad a kdy se používá? Pojmem datový sklad (anglicky Data Warehouse) označujeme zvláštní typ databáze, určený primárně pro analýzy dat v rámci

Více

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

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 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 BI CRM ERP SCM Aplikace pro podporu základních řídících a administrativních

Více

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

Zdroje informací v organizaci IS/ICT BI v rámci IS/ICT historie architektura OLTP x DW ukládání dat Zdroje informací v organizaci IS/ICT BI v rámci IS/ICT historie architektura OLTP x DW ukládání dat Vladimíra Zádová BI CRM ERP SCM Aplikace pro podporu základních řídících a administrativních operací

Více

ARCHITEKTURA INFORMAČNÍCH SYSTÉMŮ PODLE ÚROVNĚ ŘÍZENÍ

ARCHITEKTURA INFORMAČNÍCH SYSTÉMŮ PODLE ÚROVNĚ ŘÍZENÍ ARCHITEKTURA INFORMAČNÍCH SYSTÉMŮ PODLE ÚROVNĚ ŘÍZENÍ Podle toho, zda informační systém funguje na operativní, taktické nebo strategické řídicí úrovni, můžeme systémy rozdělit do skupin. Tuto pyramidu

Více

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?

Více

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

Obsah. Úvod do problematiky. Datový sklad. Proces ETL. Analýza OLAP Petr Jaša Obsah Úvod do problematiky Data vs. informace Operační vs. analytická databáze Relační vs. multidimenzionální model Datový sklad Důvody pro budování datových skladů Definice, znaky Schéma vazeb

Více

Architektury Informačních systémů. Jaroslav Žáček

Architektury Informačních systémů. Jaroslav Žáček Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?

Více

Databázové systémy. 10. přednáška

Databázové systémy. 10. přednáška Databázové systémy 10. přednáška Business Intelligence Poprvé byl termín BI použit Gartnerem a dále pak popularizován Howardem Dresnerem jako: proces zkoumání doménově strukturovaných informací za účelem

Více

Informační systémy 2006/2007

Informační systémy 2006/2007 13 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení Informační systémy 2006/2007 Ivan Kedroň 1 Obsah Analytické nástroje SQL serveru. OLAP analýza

Více

Podnikové informační systémy Jan Smolík

Podnikové informační systémy Jan Smolík Podnikové informační systémy Jan Smolík Zobecněné schéma aplikační architektury Vlastníci, management Aplikační architektura podnikové informatiky Business Intelligence, manažerské aplikace Obchodní partneři

Více

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

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 Business Intelligence Skorkovský KAMI, ESF MU Principy BI zpracování velkých objemů dat tak, aby výsledek této akce manažerům pomohl k rozhodování při řízení procesů výsledkem zpracování musí být relevantní

Více

4IT218 Databáze. 4IT218 Databáze

4IT218 Databáze. 4IT218 Databáze 4IT218 Databáze Osmá přednáška Dušan Chlapek (katedra informačních technologií, VŠE Praha) 4IT218 Databáze Osmá přednáška Normalizace dat - dokončení Transakce v databázovém zpracování Program přednášek

Více

Aplikace IS, outsourcing, systémová integrace. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Aplikace IS, outsourcing, systémová integrace. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Aplikace IS, outsourcing, systémová integrace Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Kontext Dodavatelé Strategická Zákazníci ERP Taktická Operativní Kategorie ERP - zaměřeno na

Více

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

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3bph) Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3bph) 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Zdroje Studijní materiály Heleny Palovské

Více

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

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph) Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3aph) 2. a 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Co nás čeká: 2. soustředění 16.1.2009

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází 1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,

Více

Business Intelligence a datové sklady

Business Intelligence a datové sklady Business Intelligence a datové sklady Ing Jan Přichystal, PhD Mendelova univerzita v Brně 2 prosince 2014 Ing Jan Přichystal, PhD Úvod Intenzivní nasazení informačních technologií způsobuje hromadění obrovské

Více

Úvodní přednáška. Význam a historie PIS

Úvodní přednáška. Význam a historie PIS Úvodní přednáška Význam a historie PIS Systémy na podporu rozhodování Manažerský informační systém Manažerské rozhodování Srovnávání, vyhodnocování, kontrola INFORMACE ROZHODOVÁNÍ organizace Rozhodovacích

Více

Aplikace IS, outsourcing, systémová integrace. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Aplikace IS, outsourcing, systémová integrace. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Aplikace IS, outsourcing, systémová integrace Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Kontext Dodavatelé Strategická Zákazníci ERP Taktická Operativní Kategorie ERP - zaměřeno na

Více

Vývoj informačních systémů. Obecně o IS

Vývoj informačních systémů. Obecně o IS Vývoj informačních systémů Obecně o IS Informační systém Informační systém je propojení informačních technologií a lidských aktivit směřující k zajištění podpory procesů v organizaci. V širším slova smyslu

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

Datová věda (Data Science) akademický navazující magisterský program

Datová věda (Data Science) akademický navazující magisterský program Datová věda () akademický navazující magisterský program Reaguje na potřebu, kterou vyvolala rychle rostoucí produkce komplexních, obvykle rozsáhlých dat ve vědě, v průmyslu a obecně v hospodářských činnostech.

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

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

Aplikace IS, outsourcing, systémová integrace. Jaroslav Žáček Aplikace IS, outsourcing, systémová integrace Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Kontext Dodavatelé Strategická Zákazníci Taktická Operativní Kategorie ERP - zaměřeno na řízení

Více

Trendy v IS/ICT přístupy k návrhu multidimenzionální modelování

Trendy v IS/ICT přístupy k návrhu multidimenzionální modelování Trendy v IS/ICT přístupy k návrhu multidimenzionální modelování Aplikace IS/ICT BI SCM e-business ERP ERP CRM II e-business Aplikace pro podporu základních řídících a administrativních operací 1 Informační

Více

Datový sklad. Datový sklad

Datový sklad. Datový sklad Datový sklad Postavení v rámci IS/ICT Specifika návrhu Modelování Datový sklad POSTAVENÍ NÁVRH Postavení datového skladu (DW) v IS/ICT z hlediska aplikací jako součást Business Intelligence z hlediska

Více

Bakalářský studijní obor hospodářská informatika

Bakalářský studijní obor hospodářská informatika Bakalářský studijní obor hospodářská informatika Předpoklady Struktura studia Přihlášky Poradenství Bakalářský studijní obor hospodářská informatika nabízí fundované vědecké a praktické vzdělání v oblasti

Více

Infor Performance management. Jakub Urbášek

Infor Performance management. Jakub Urbášek Infor Performance management Jakub Urbášek Agenda prezentace Stručně o produktu Infor PM 10 Komponenty Infor PM - PM OLAP a PM Office Plus Reporting Analýza Plánování / operativní plánování Infor Performance

Více

NÁSTROJE BUSINESS INTELLIGENCE

NÁSTROJE BUSINESS INTELLIGENCE NÁSTROJE BUSINESS INTELLIGENCE Milena Tvrdíková VŠB Technická univerzita Ostrava, Ekonomická fakulta, Katedra informatiky v ekonomice, Sokolská 33, 701021 Ostrava1, ČR, milena.tvrdikova@vsb.cz Abstrakt

Více

Business Intelligence. Adam Trčka

Business Intelligence. Adam Trčka Business Intelligence Adam Trčka 09:00 11:30: BI v kostce Navrhněme si sklad Ukázka BI Datamining 12:30 14:30: Pokračování kurzu 14:30 15:00: Q&A Agenda Co se dnes dovíme? Data informace znalost Business

Více

T T. Think Together 2012. Martin Závodný THINK TOGETHER. Business Intelligence systémy Business Intelligence systems

T T. Think Together 2012. Martin Závodný THINK TOGETHER. Business Intelligence systémy Business Intelligence systems Česká zemědělská univerzita v Praze Provozně ekonomická fakulta Doktorská vědecká konference 6. února 2012 T T THINK TOGETHER Think Together 2012 Business Intelligence systémy Business Intelligence systems

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

Ing. Petr Kalčev, Ph.D.

Ing. Petr Kalčev, Ph.D. Ing. Petr Kalčev, Ph.D. 17.10.2017 24.10.2017 31.10.2017 7.11.2017 14.11.2017 21.11.2017 28.11.2017 5.12.2017 12.12.2017 19.12.2017 Úvod do manažerský informačních systémů Typy informačních systémů Příklady

Více

Analýza a návrh datového skladu pro telekomunikační společnost. Bc. Josef Jurák

Analýza a návrh datového skladu pro telekomunikační společnost. Bc. Josef Jurák Analýza a návrh datového skladu pro telekomunikační společnost Bc. Josef Jurák Diplomová práce 2006 ABSTRAKT Business Intelligence a Data warehouse jsou základní prostředky pro podporu rozhodování, které

Více

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových

Více

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Chytrá systémová architektura jako základ Smart Administration

Chytrá systémová architektura jako základ Smart Administration Chytrá systémová architektura jako základ Smart Administration Ing. Petr Škvařil, Pardubický kraj Dipl. Ing.Zdeněk Havelka PhD. A-21 s.r.o. 1 Nepříjemné dotazy Jsme efektivní v provozování veřejné správy?

Více

1. Integrační koncept

1. Integrační koncept Příloha č. 2: Technický popis integrace 1. Integrační koncept Z hlediska koncepčního budování Smart Administration na Magistrátu města Mostu je možno hovořit o potřebě integrace tří úrovní systémové architektury

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních

Více

Procesní přístup k projektům informačních systémů. RNDr. Vladimír Krajčík, Ph.D.

Procesní přístup k projektům informačních systémů. RNDr. Vladimír Krajčík, Ph.D. Procesní přístup k projektům informačních systémů RNDr. Vladimír Krajčík, Ph.D. Jaká byla moje cesta k zavedení a užití procesních prvků při řízení projektů veřejných informačních systémů se zaměřením

Více

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura Dílčí architektury Informační systémy - dílčí architektury - EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu 1 Globální Funkční Procesní Datová SW Technologická HW Aplikační

Více

DATABÁZOVÉ SYSTÉMY. Vladimíra Zádová, KIN, EF TUL - DBS

DATABÁZOVÉ SYSTÉMY. Vladimíra Zádová, KIN, EF TUL - DBS DATABÁZOVÉ SYSTÉMY Současné aplikace IS/ICT Informační systémy a databázové systémy Databázová technologie Informační systémy Aplikační architektura Vlastníci, management Business Intelligence, manažerské

Více

CPM/BI a jeho návaznost na podnikové informační systémy. Martin Závodný

CPM/BI a jeho návaznost na podnikové informační systémy. Martin Závodný CPM/BI a jeho návaznost na podnikové informační systémy Martin Závodný Agenda Význam CPM/BI Aplikace CPM/BI Projekty CPM/BI Kritické body CPM/BI projektů Trendy v oblasti CPM/BI Diskuse Manažerské rozhodování

Více

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů. Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové

Více

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci

Více

Konsolidovaný reporting CZ/SK v Cognos případová studie sanofi-aventis

Konsolidovaný reporting CZ/SK v Cognos případová studie sanofi-aventis Konsolidovaný reporting CZ/SK v Cognos případová studie sanofi-aventis Rosťa Levíček 22. listopadu 2011 Obsah Výchozí stav a požadavky Architektura řešení v CZ Varianty konsolidace Klíčové faktory úspěchu

Více

Systémy pro podporu. rozhodování. 2. Úvod do problematiky systémů pro podporu. rozhodování

Systémy pro podporu. rozhodování. 2. Úvod do problematiky systémů pro podporu. rozhodování 1 Systémy pro podporu rozhodování 2. Úvod do problematiky systémů pro podporu rozhodování 2 Připomenutí obsahu minulé přednášky Rozhodování a jeho počítačová podpora Manažeři a rozhodování K čemu počítačová

Více

Datová kvalita základ úspěšného BI. RNDr. Ondřej Zýka, Profinit

Datová kvalita základ úspěšného BI. RNDr. Ondřej Zýka, Profinit Datová kvalita základ úspěšného BI RNDr. Ondřej Zýka, Profinit 1.6.2012 Datová exploze Snižování nákladů o Zdvojnásobení objemu podnikových dat každé dva roky o Konkurenční tlak o Ekonomická krize o V

Více

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

Jak velká jsou? Obchodní analytici FB velké datové sady BI = business intelligence. OLAP = Online Analytical Processing. DWH = Data Warehouse název B = Bajt KB = Kilobajt MB = Megabajt GB = Gigabajt TB = Terabajt PB = Petabajt EB = Exabajt ZB = Zettabajt YB = Yottabajt velikost 8 b 2^10 B 2^20 B 2^30 B 2^40 B 2^50 B 2^60 B 2^70 B 2^80 B Jak

Více

Management IS. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz 22/ 1

Management IS. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz 22/ 1 Management IS Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz 22/ 1 Učitelé Přednášející: Cvičící: Doc.Ing.Miloš Koch,CSc. Ing.Aleš Klusák Kontakt: koch@fbm.vutbr.cz 22/ 2 Literatura Skripta: Koch,M. Dovrtěl,J.:

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ FACULTY OF INFORMATION TECHNOLOGY ÚSTAV INFORMAČNÍCH SYSTÉMŮ DEPARTMENT OF INFORMATION SYSTEMS ANALÝZA VEŘEJNĚ

Více

Zkušenosti s Business Intelligence ve veřejném sektoru České republiky

Zkušenosti s Business Intelligence ve veřejném sektoru České republiky Zkušenosti s Business Intelligence ve veřejném sektoru České republiky Slovak Business Intelligence Day 2006 Jan Pour Katedra IT, VŠE Praha pour@vse.cz, http://nb.vse.cz/~pour Snímek 1 Zkušenosti s BI

Více

Snadný a efektivní přístup k informacím

Snadný a efektivní přístup k informacím Snadný a efektivní přístup k informacím 12. 4. 2010 Hradec Králové Petr Mlejnský Siemens Protection IT Solutions and Services, notice s.r.o.2010. / Copyright All rights notice reserved. Agenda Přístup

Více

Pilotní projekt implementace Business Intelligence ve studijní agendě VŠE v Praze

Pilotní projekt implementace Business Intelligence ve studijní agendě VŠE v Praze Úvod Pilotní projekt implementace Business Intelligence ve studijní agendě VŠE v Praze Ota Novotný, Lukáš Hrnčíř katedra informačních technologií VŠE v Praze email: novotnyo@vse.cz Business Inteligence

Více

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

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 Datové sklady Multidimenzionální modelování Modely datového skladu Návrh datového skladu v rámci návrhu IS/ICT Multidimenzionální modelování (Multi)dimenzionální modelování speciální technika určená pro

Více

Analýza a modelování dat. Přednáška 8

Analýza a modelování dat. Přednáška 8 Analýza a modelování dat Přednáška 8 OLAP, datová kostka, dotazování nad kostkou Motivace většina DB relační zaznamenání vztahů pomocí logicky provázaných tabulek jakou mají velmi často vztahy povahu vztah

Více

BIG DATA. Nové úlohy pro nástroje v oblasti BI. 27. listopadu 2012

BIG DATA. Nové úlohy pro nástroje v oblasti BI. 27. listopadu 2012 BIG DATA Nové úlohy pro nástroje v oblasti BI 27. listopadu 2012 AGENDA 1. Úvod 2. Jaké jsou potřeby? 3. Možné řešení 2 Jaké jsou potřeby? Dopady Analýza dat potřeba nového přístupu Jak na nestrukturovaná

Více

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně vyhledávat informace,

Více

MIS. Manažerský informační systém. pro. Ekonomický informační systém EIS JASU CS. Dodavatel: MÚZO Praha s.r.o. Politických vězňů 15 110 00 Praha 1

MIS. Manažerský informační systém. pro. Ekonomický informační systém EIS JASU CS. Dodavatel: MÚZO Praha s.r.o. Politických vězňů 15 110 00 Praha 1 MIS Manažerský informační systém pro Ekonomický informační systém EIS JASU CS Dodavatel: MÚZO Praha s.r.o. Politických vězňů 15 110 00 Praha 1 Poslední aktualizace dne 5.8.2014 MÚZO Praha s.r.o. je certifikováno

Více

POKROČILÉ POUŽITÍ DATABÁZÍ

POKROČILÉ POUŽITÍ DATABÁZÍ POKROČILÉ POUŽITÍ DATABÁZÍ Barbora Tesařová Cíle kurzu Po ukončení tohoto kurzu budete schopni pochopit podstatu koncepce databází, navrhnout relační databázi s využitím pokročilých metod, navrhovat a

Více

19.11.2013. Projektový management. Projektový management. Další charakteristiky projektu. Projekt

19.11.2013. Projektový management. Projektový management. Další charakteristiky projektu. Projekt Projektový management Lekce: 8 Projektový management Doc. Ing. Alois Kutscherauer, CSc. Projektový management je typ managementu uplatňovaného k zabezpečení realizace jedinečných, neopakovatelných, časově

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování. 3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.

Více

PODNIKOVÁ INFORMATIKA

PODNIKOVÁ INFORMATIKA GÁLA Libor POUR Jan TOMAN Prokop PODNIKOVÁ INFORMATIKA Obsah O autorech... 11 Na úvod jak chápat tuto knihu... 13 Část I: Principy podnikové informatiky... 17 1. Informatika, aplikovaná informatika, podniková

Více

ANALÝZA NÁKUPNÍHO KOŠÍKU SEMINÁŘ

ANALÝZA NÁKUPNÍHO KOŠÍKU SEMINÁŘ ANALÝZA NÁKUPNÍHO KOŠÍKU SEMINÁŘ 18.11.2012 Radim Tvardek, Petr Bulava, Daniel Mašek U&SLUNO a.s. I Sadová 28 I 702 00 Ostrava I Czech Republic PŘEDPOKLADY PRO ANALÝZU NÁKUPNÍHO KOŠÍKU 18.11.2012 Daniel

Více

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

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 Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy Konvence Další prvky Požadavky na systém Ukázkové databáze Ukázky kódu Použití ukázek kódu Další

Více

Hospodářská informatika

Hospodářská informatika Hospodářská informatika HINFL, HINFK Vytvořeno s podporou projektu Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu reg.

Více

Projektové řízení jako základ řízení organizace

Projektové řízení jako základ řízení organizace Projektové řízení jako základ řízení organizace Aleš Chudý, ředitel divize IW ales.chudy@microsoft.com Technický seminář Bratislava 6.10.2008 Obsah Potřeby byznysu a IT Řešení EPM Microsoft EPM Optimalizační

Více

Otázky kurzu 4IT417 Řízení podnikové informatiky verze z 1/2/2009. 1.Podniková informatika pojmy a komponenty

Otázky kurzu 4IT417 Řízení podnikové informatiky verze z 1/2/2009. 1.Podniková informatika pojmy a komponenty Otázky kurzu 4IT417 Řízení podnikové informatiky verze z 1/2/2009 1.Podniková informatika pojmy a komponenty (1) Objasněte pojmy: IS, ICT, ICT služba, ICT proces, ICT zdroj. Jakou dokumentaci k ICT službám,

Více

PRODUKTY Tovek Server 6

PRODUKTY Tovek Server 6 Tovek Server je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených strukturovaných i nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně

Více

Manažerský informační systém na MPSV. Mgr. Karel Lux, vedoucí oddělení koncepce informatiky MPSV

Manažerský informační systém na MPSV. Mgr. Karel Lux, vedoucí oddělení koncepce informatiky MPSV Manažerský informační systém na MPSV Mgr. Karel Lux, vedoucí oddělení koncepce informatiky MPSV Konference ISSS-2009 Hradec Králové Aldis 6. dubna 2009 MIS na MPSV časové údaje projektu Vytvoření MIS MPSV

Více

Role BI v e-business řešeních pohled do budoucnosti

Role BI v e-business řešeních pohled do budoucnosti Ing. Ota Novotný, Ph.D. katedra informačních technologií Vysoká škola ekonomická v Praze novotnyo@vse.cz katedra informačních technologií VŠE Praha jsme uznávanou autoritou v oblasti aplikované informatiky

Více

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23 Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod

Více

Úvod do informačních a řídicích systémů. lení

Úvod do informačních a řídicích systémů. lení Úvod do informačních a řídicích systémů Základní pojmy a rozdělen lení Informace Pojem vysoce abstraktní Skutečné informace musí být pravdivé, včasné, jednoznačné a relevantní (atributy informace) Základní

Více

Přístupy k řešení a zavádění spisové služby

Přístupy k řešení a zavádění spisové služby Přístupy k řešení a zavádění spisové služby Miroslav Kunt Praha, 22. 3. 2016 Výběr SSl důležité okolnosti Je potřeba zájem vedení organizace, kompetentní pracovníci spisové služby, co největší přiblížení

Více

INFORMAČNÍ SYSTÉMY (IS) Ing. Pavel Náplava Katedra počítačů K336, ČVUT FEL Praha 2004/2005

INFORMAČNÍ SYSTÉMY (IS) Ing. Pavel Náplava Katedra počítačů K336, ČVUT FEL Praha 2004/2005 INFORMAČNÍ SYSTÉMY (IS) Ing. Pavel Náplava Katedra počítačů K336, ČVUT FEL Praha 2004/2005 AGENDA definice IS, zavedení pojmů možnosti a rozdělení typická struktura technologie nasazení praktická ukázka

Více

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy Úloha 1 Zkratka ERP jako celopodniková transakční aplikace znamená: a. Enterprise Route Planning b. Enterprise Resource Planning c. Enterprise Re-implementation Planning d. Enterprise Resource Processing

Více

Okruhy otázek ke státní závěrečné zkoušce VS 4IP

Okruhy otázek ke státní závěrečné zkoušce VS 4IP Okruhy otázek ke státní závěrečné zkoušce VS 4IP Uvedený seznam otázek je platný od roku 2006. Fáze vývoje, údržby a provozu IS podniku. Význam a obsah jednotlivých fází. Participace managementu podniku,

Více

Problémové domény a jejich charakteristiky

Problémové domény a jejich charakteristiky Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 02 1/16 Problémové domény a jejich charakteristiky Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta

Více

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Příloha č. 3 k č.j. MV-159754-3/VZ-2013 Počet listů: 7 TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Nové funkcionality Czech POINT 2012 Popis rozhraní egon Service Bus Centrální Místo Služeb 2.0 (dále jen CMS

Více

Informační média a služby

Informační média a služby Informační média a služby Výuka informatiky má na Fakultě informatiky a statistiky VŠE v Praze dlouholetou tradici. Ke dvěma již zavedeným oborům ( Aplikovaná informatika a Multimédia v ekonomické praxi

Více

Získávání znalostí z databází. Alois Kužela

Získávání znalostí z databází. Alois Kužela Získávání znalostí z databází Alois Kužela Obsah související pojmy datové sklady, získávání znalostí asocianí pravidla 2/37 Úvod získávání znalostí z dat, dolování (z) dat, data mining proces netriviálního

Více

Management informačních systémů. Název Information systems management Způsob ukončení * přednášek týdně

Management informačních systémů. Název Information systems management Způsob ukončení * přednášek týdně Identifikační karta modulu v. 4 Kód modulu Typ modulu profilující Jazyk výuky čeština v jazyce výuky Management informačních systémů česky Management informačních systémů anglicky Information systems management

Více

Manažerská ekonomika

Manažerská ekonomika PODNIKOVÝ MANAGEMENT (zkouška č. 12) Cíl předmětu Získat znalosti zákonitostí úspěšného řízení organizace a přehled o současné teorii a praxi managementu. Seznámit se s moderními manažerskými metodami

Více

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen 18.5.1974

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen 18.5.1974 základní informace Databázové systémy Úvodní přednáška předměty: KI/DSY (B1801 Informatika - dvouoborová) KI/P502 (B1802 Aplikovaná informatika) ukončení: Zápočet + Zkouška / 5kb ki.ujep.cz termínovník,

Více

Příloha 1 Specifikace předmětu plnění

Příloha 1 Specifikace předmětu plnění Příloha 1 Specifikace předmětu plnění Centrální zpracování Etapa V Tvorba kontrolních výstupů 1 Obsah ETAPA V - TVORBA KONTROLNÍCH VÝSTUPŮ PRO VPO... 3 1.1. Koncepční shrnutí... 3 1.2. Obsahová náplň etapy

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

8.2 Používání a tvorba databází

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více