UNICORN COLLEGE. Výstavba datového skladu s použitím open source technologií

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

Download "UNICORN COLLEGE. Výstavba datového skladu s použitím open source technologií"

Transkript

1 UNICORN COLLEGE Katedra informačních technologií BAKALÁŘSKÁ PRÁCE Výstavba datového skladu s použitím open source technologií Autor: Alexandr Sevrjukov Vedoucí práce: Ing. Miroslav Ždárský 2013, Praha

2

3

4 Čestné prohlášení Prohlašuji, že jsem svou bakalářskou práci na téma Výstavba datového skladu s použitím open source technologií vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím výhradně odborné literatury a dalších informačních zdrojů, které jsou v práci citovány a jsou také uvedeny v seznamu literatury a použitých zdrojů. Jako autor této bakalářské práce dále prohlašuji, že v souvislosti s jejím vytvořením jsem neporušil autorská práva třetích osob a jsem si plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb. V Praze dne...

5 Poděkování Děkuji vedoucímu bakalářské práce Ing. Miroslavovi Žďárskému za pomoc s výběrem tématu a rady při zpracování mé bakalářské práce.

6 Výstavba datového skladu s použitím open source technologií Building data warehouse using open source technologies 6

7 Abstrakt Práce se zabývá využitím open source a bezplatného software pro vybudování datového skladu. Motivací je navrhnout implementací datového skladu při malou či střední firmu bez nutnosti pořízení komerčního software. Práce stručně rozebírá význam datového skladu a identifikuje jeho základní komponenty. Druhá část práce je věnována výběru technologií a posouzení jejích kvalit a vhodnosti pro splnění stanoveného cíle. Závěrečná část pak popisuje ukázkovou implementaci datového skladu s použitím zvolených softwarových produktů, včetně ukázky reportingu. Klíčová slova: open source, svobodný software, datový sklad, business intelligence, databáze, ETL, reporting Abstract This bachelor thesis discusses usage of open source and free software for building a data warehouse. The goal is to design a data warehouse implementation for a small or medium business without necessity of purchasing commercial software. The thesis briefly explains data warehouse purpose and identifies its basic components. The second part is dedicated to choice of the concrete technologies and evaluation of their properties in order to achieve the defined goal. The last part describes a referential implementation of data warehouse, using the selected software products, also including reporting examples. Keywords: open source, free software, data warehouse, business intelligence, databáze, ETL, reporting 7

8 Obsah 1. Úvod Význam datového skladu a jeho struktura Účel a význam datového skladu Základní struktura datového skladu Softwarové komponenty Výběr technologií pro implementaci ETL Scriptella ETL Pentaho Data Integration (Kettle) CloverETL Talend Data Integration Relační databáze MySQL PostgreSQL Oracle Database Express Edition Firebird Microsoft SQL Express Edition Reportingový software JasperReports BIRT Pentaho Reporting Závěr teoretické části Praktická část implementace ukázkového datového skladu Ukázkové řešení popis problematiky Ukázkové řešení implementace Architektura řešení Datový sklad ETL a databáze Reporting Závěr Seznam použitých zdrojů Seznam obrázků

9 8. Seznam příloh CD s výstupy z praktické části Paměťová karta SD s výstupy z praktické části

10 1. Úvod S rostoucím množstvím podnikových dat přestává být doména BI (Business Intelligence) záležitostí pouze velkých korporací. I manažeři malých a středních firem mohou opřít svoje rozhodování nejen o svoje zkušenosti a cítění, ale i o reálná data z provozních systémů. V dnešní době je již téměř nemyslitelné, aby společnost fungovala bez podpory informačních technologií, a v každé firmě existuje množství dat, ať už uložených v relačních databázích nebo jiných datových zdrojích, které mohou obsahovat cenné informace pro řízení a operativní i strategické rozhodování. Velké podniky obvykle provozují celá specializovaná oddělení, která řeší problematiku Business Intelligence. Tato oddělení mají na starosti budování a správu datových skladů a reportovacích nástrojů, tvorbu a distribuci reportů konečným konzumentům aj. Pořízení a provoz komerční nástrojů, určených pro BI doménu, bývají však dost nákladné a firmy střední či menší velikosti si nemohou dovolit do těchto komerčních nástrojů investovat. Řešením v této situaci je vybudovat podnikovou Business Intelligence za pomocí nástrojů a technologií, které jsou k dispozici zadarmo. V současné době (rok 2013) jich existuje již celá řada a jsou kvalitní a propracované natolik, že umožňují postavit plnohodnotné řešení, dostačující potřebám menších a středních firem. Základem každé implementace BI v podniku je datový sklad (Data Warehouse, DWH i v česky mluvícím prostředí se často používá anglická terminologie). Tato práce si klade za cíl provést průzkum dostupných open source nástrojů a technologií, posoudit jejich vlastnosti, kvality a vhodnost použití pro výstavbu námi uvažovaného datového skladu pro potřeby střední či malé firmy. Pro účely této práce budeme zkoumat nejen open source software, ale i svobodný software s uzavřeným zdrojovým kódem. V hledáčku bude tedy veškerý software, jehož licenční podmínky umožňují získání a použití softwaru zadarmo 1. Práce je rozdělena na tři části. První část se věnuje krátkému objasnění základních teoretických principů, rozebírá strukturu datového skladu a identifikuje komponenty potřebné k jeho vytvoření. Druhá část rozebírá vlastnosti dostupných nástrojů a technologií, porovnává 1 Pojmy open source a svobodný software se v běžném vyjadřování často zaměňují. Bližší informace poskytne například článek Proč je užívání pojmu,,free Software'' (svobodný software) lepší než,,open Source'' (otevřený zdrojový kód). FREE SOFTWARE FOUNDATION, Inc. Operační systém GNU [online]. [cit ]. Dostupné z: <http://www.gnu.org/philosophy/free-software-for-freedom.cs.html > 10

11 je a zkoumá jejich vhodnost pro vybudování datového skladu. Poslední praktická část obsahuje ukázkovou implementaci řešení, kdy jsou vybrané produkty nakonfigurovány a propojeny spolu tak, aby tvořily ač malý, ale zcela funkční datový sklad. 11

12 2. Význam datového skladu a jeho struktura Tato kapitola se zabývá stručným teoretickým úvodem do problematiky DWH, vysvětluje strukturu typického datového skladu a identifikuje jeho komponenty, jejíchž implementací konkrétními produkty se zabývá následující kapitola. 2.1 Účel a význam datového skladu Datový sklad (anglicky Data Warehouse, zkráceně DWH) je specializována databáze, která obsahuje data ve formátu vhodném pro reportování a analýzu. Pod pojmem data v této definici máme na mysli data z celé řady informačních systémů v podniku, která jsou sdružena a integrována na jednom centrálním místě datovém skladu. Před vložením do datového skladu jsou data očištěna a transformována tak, aby byla konzistentní, uniformní, srozumitelná a snadno analyzovatelná. Existence datového skladu poskytuje řadu výhod. Díky centralizovanému řešení umožňuje snadný přístup k datům všem uživatelům. Odstiňuje uživatele od potřeby rozumět databázím jednotlivých zdrojových systémů a vlastnit přístupová práva ke každému z nich. Díky počáteční transformaci jsou data různých systémů upravena tak, aby byla v jednotném formátu a všeobecně srozumitelná, což zjednodušuje úlohu jak vytváření, tak interpretace reportů. A nakonec, data jsou v datovém skladu prezentována konečnému uživateli v takové podobě, která je výhodná pro analytické dotazování. 2 V provozních systémech jsou databáze obvykle navrženy a optimalizovány tak, aby poskytovaly rychlou odezvu na dotazy modifikující data insert, update nebo delete, a aby umožňovala provádění transakcí při současném přístupu mnoha uživatelů najednou. V kontextu datových skladů se těmto systémům proto někdy říká transakční systémy. Databáze transakčních systémů jsou většinou normalizované a nejsou připraveny pro exekuci rozsáhlých analytických a agregačních dotazů nad velkými množinami dat. Oproti tomu databáze datového skladu je optimalizována tak, aby provedení takto náročných dotazů bylo snadnější. Toho lze dosáhnout mimo jiné i částečnou denormalizací dat a použití některého se specializovaných schémat pro prezentaci dat (dimenzionální přístup 2 KIMBALL, Ralph a Margy ROSS. The data warehouse toolkit: the complete guide to dimensional modeling. 2nd ed. New York: Wiley, c2002. ISBN str

13 tabulky fakt, tabulky dimenzí, OLAP kostky aj.). 3 Spouštění analytických dotazů nad oddělenou DWH databází přináší rovněž tu výhodu, že šetříme provozní systémy a nezpůsobujeme jejich zpomalení během vykonávání těchto dotazů. Datový sklad tedy slouží jako zdroj dat pro vytváření reportů (jak ad-hoc, tak pravidelných), pro analytické aplikace, pro data mining, modelovací nástroje aj. Tyto aplikace, konzumující data z DWH databáze, označujeme souhrnným pojmem Data Access Tools. Někdy se logicky řadí ještě do datového skladu samotného, jindy se považují naopak za externí aplikace, které již do datového skladu nepatří. Nyní se pojďme podívat trochu podrobněji, jak je typický datový sklad implementován. 2.2 Základní struktura datového skladu Datový sklad je tvořen řadou spolupracujících komponent. Následující obrázek ukazuje jeho základní strukturu. 4 Obrázek 1 - Struktura datového skladu Zdroj: vlastní zpracování Provozní systémy slouží jako zdroj dat pro datový sklad. Nejsou součástí datového skladu samotného, v diagramu jsou zastoupeny pro větší názornost. Zdrojová data z provozních sys- 3 Detailní popis datových schémat datového skladu přesahuje rámec této práce. 4 KIMBALL, Ralph a Margy ROSS. The data warehouse toolkit: the complete guide to dimensional modeling. 2nd ed. New York: Wiley, c2002. ISBN str

14 témů jsou obvykle poskytována transakčními RDBMS databázemi, nemusí tomu být však vždy. Jako vstup mohou posloužit i textové či CSV soubory, sešity ve formátu MS Excel a jiná data generovaná provozními systémy, či dokonce vystavené webové nebo ESB služby. Úkolem datového skladu je tato data nejprve ze všech zdrojů získat (Extract). Technologie použité v DWH si v tomto kroku musí umět poradit i s velmi heterogenním aplikačním prostředím - musí umět pracovat s rozlišnými typy databázi, disponovat nástroji pro parsování textových i jiných souborů, připojovat se na sdílená disková úložiště a v případě potřeby komunikovat i speciálními aplikačními rozhraními. Data načtená ze zdrojových systémů se nazývají surová data (raw data). Surová data je následně potřeba podrobit čištění, unifikaci, deduplikaci a reformátování, kombinování z různých zdrojů atd. Tyto manipulace jsou prováděny v části datového skladu, který se nazývá Data Staging Area. Data Staging Area má svojí vlastní databázi, která slouží k dočasnému uložení dat procházejících transformací. Poté, co jsou data takto připravena, následuje jejich načtení (Load) do Data Presentation Area. Data presentation Area je část datového skladu, která je již vystavena konečným konzumentům pro spouštění analytických dotazů, tvorbu reportu aj. Jedná se o samostatnou databázi, případně vícero databází nebo schémat. Data v této části datového skladu jsou obvykle uspořádána do tzv. Data Martů. Data Mart je množina dat relevantních pro konkrétní oddělení v podniku (např. Finance, Prodej, Marketing), případně odrážejících některý z business procesů. Data Marty, na rozdíl od běžných aplikačních databází, neužívají normalizovaného schématu pro prezentaci dat, ale místo toho ukládají data v tzv. dimenzionálním schématu. V dimenzionálním schématu mohou být data záměrně částečně redundantní, za účelem výrazného zjednodušení a zrychlení analytických dotazů nad masivním množstvím dat díky zmenšení počtu spojení tabulek (JOIN). Poslední vrstvou DWH jsou Data Access Tools, které přistupují k dimenzionálním datům v datamartech. Někdy jsou Data Access Tools považovány za samostatnou vrstvu, již nepatřící do DWH. Nástroje v této vrstvě slouží k přípravě informací pro konečné konzumenty jedná se reporty, analýzy a modely a další formy finální prezentace dat. 14

15 2.3 Softwarové komponenty Pojďme nyní identifikovat, které softwarové komponenty jsou potřeba, chceme-li vybudovat nový datový sklad. ETL (Extract Transform Load) ETL engine má za úkol načtení dat, jejich transformaci a uložení do cílové destinace. Získává surová data ze zdrojových systémů, nahrává je do Data Staging Area, provádí nad nimi potřebné operace a dále je ukládá do data martů v Data Presentation Area. ETL musí umět načítat data z heterogenních zdrojů, podporovat v případě potřeby i komplexní transformační definice a postupy, dále musí umožnit spouštět pravidelné automatické úlohy a nejlépe i disponovat přehledným návrhovým rozhraním. Relační databáze Relační databáze tvoří základ datového skladu. Slouží jako dočasné úložiště dat v Data Staging Area a zároveň jako trvalé úložiště pro datamarty v Data Presentation Area. Nakonec slouží jako úložiště metadat (datových zdrojů, definic transformací, popisů tabulek) a jako základ pro ETL a reportovací nástroje, které do ní ukládají data potřebná ke svému běhu. Databáze musí být dostatečně výkonná, robustní a musí umožnit použití optimalizačních technik pro zrychlení práce se záznamy. Ve velkých robustních řešeních nelze vylučovat použití vícero instancí pro každý z výše popsaných účelů, či dokonce jiný, specializovaný typ databáze pro Data Presentation Area, navržený s ohledem na velký nápor čtecích operací. Analytická / reportovací platforma Ačkoli někdy již nejsou Data Access Tools zařazovány do datového skladu, budeme v našem řešení pro malou či střední firmu uvažovat i nástroj pro tvorbu a správu reportů pro koncové uživatele. Po reportovacím nástroji budeme požadovat možnost snadné tvorby ad-hoc i pravidelných reportů, pokročilé možnosti konfigurace, možnost nastavovat přístupová práva uživatelů k reportům, definici pravidelných úloh pro spouštění reportů a přehledné a přívětivé uživatelské rozhraní. V následující kapitole budeme již zkoumat konkrétní implementace těchto komponent proto, abychom mohli funkční datový sklad implementovat. 15

16 3. Výběr technologií pro implementaci V této kapitole se budeme zabývat konkrétním výběrem a porovnáním technologií, které využijeme jako základní prvky při budování datového skladu. Technologie rozdělíme do tří kategorií, které jsou popsány v předchozí kapitole: ETL nástroje, relační databáze a reportingové nástroje. Každou z kategorií budeme pak zkoumat v jednotlivých subkapitolách. Na závěr z každé kategorie vybereme jeden konkrétní nástroj, který použijeme při sestavení funkčního ukázkového řešení. 3.1 ETL V této subkapitole budeme hodnotit volně dostupné ETL (Extract-Transform-Load) nástroje. ETL můžeme označit za mozek celého DWH řešení, protože je to právě ta komponenta, která data ve výsledku to, co konečné konzumenty hlavně zajímá - připravuje. Úkolem ETL komponenty je především extrakce a transformace dat. Při hodnocení jednotlivých produktů se budeme dívat na různá kritéria: jaké datové zdroje (relační databáze i jiné typy vstupů) jsou podporovány, nakolik složitá je tvorba a správa transformačních skriptů a definic, zda nástroj disponuje uživatelským rozhraním pro návrh transformací či pouze zpracovává ručně psané skripty, zda podporuje načasování pravidelně spouštěných úloh a na to, nakolik je nástroj výkonný a efektivní. Dále také budeme posuzovat kvalitu dokumentace a možnosti získání dodatečných informací o produktu (komunita, fóra, newslettery aj). Jako kandidáty pro hodnocení bylo vybráno sedm následujících ETL technologií: Scriptella ETL, Pentaho Data Integration (Kettle), CloverETL, Talend Data Integration, Jaspersoft ETL, Apatar a KETL. Při bližším zkoumání však bylo záhy zjištěno, že skutečná nabídka produktů není bohužel tak široká. Apatar skončil s vývojem svého software v roce 2011, 5 KETL dokonce o tři roky dříve, tedy v roce Přesto, že poslední stabilní verze obou produktů jsou dostupné ke stažení i nadále, není dle mého názoru vhodné stavět řešení na mrtvém softwaru, který již nebude nikdy v budoucnu rozvíjen. Portfolio open source ETL nástrojů se dále zmenšuje o to, že Jaspersoft ETL je postaven na platformě Talend Data 5 Apatar Data Integration/ETL. SourceForge [online] [cit ]. Dostupné z: <http://sourceforge.net/projects/apatar/files/apatar%20data%20integration_etl/apatar%20v /> 6 KETL. SourceForge [online] [cit ]. Dostupné z: <http://sourceforge.net/projects/ketl/files/> 16

17 Integration a jedná se v podstatě o totožný produkt. 7 Tyto dva produkty proto nebudeme zkoumat zvlášť a podrobně se podíváme jen na Talend Data Integration Scriptella ETL Scriptella je lightweight, open source ETL nástroj napsaný v jazyce Java. Scriptella je distribuována pod licencí Apache License Poslední stabilní verze produktu je 1.1, zveřejněná v prosinci Produkt si zakládá na jednoduchosti, k dispozici je jediná edice, ve formě JAR (Java Archive) souboru. Kromě binární distribuce je možno rovněž stáhnout i zdrojové kódy včetně potřebných knihoven a produkt zkompilovat vlastnoručně. Technické detaily Nástroj, jak název trochu napovídá, je určen pro spouštění transformačních skriptů. Skripty pro nástroj jsou psány v jazyce XML. Struktura skriptu je dost jednoduchá. Nejprve jsou definovány datové zdroje, které slouží jako vstupy a výstupy transformace. Dále jsou definovány dotazy pro načtení dat, a pro každý z dotazů je definována výkonná část, která typicky data někam zapíše. Syntaxe jak dotazu, tak výkonné části záleží na typu datového zdroje, se kterým se pracuje. Typicky je to SQL dotaz, ale může to být i regulární výraz v případě textového/csv souboru, LDAP query nebo i Java kód. Podporováno je i vyhodnocování výrazů v syntaxi JEXL (Apache Commons Java Expression Language). 9 Datové zdroje jsou realizovány skrze vrstvu tzv. drivers, které slouží jako adaptery pro standardní Java JDBC drivers a dále pro práci s ne-databázovými zdroji dat. Kromě řady nejrozšířenějších relačních databází jsou podporovány i textové/csv soubory, sešity ve formátu MS Excel, XPath, Velocity šablony, LDAP, odesílání ů skrze SMTP a JEXL. Je 7 Jaspersoft ETL Resources. Jaspersoft ETL: The Open Source Data Integration Platform [online] [cit ]. Dostupné z: <http://community.jaspersoft.com/project/jaspersoft-etl/resources> 8 Scriptella ETL Project License. Scriptella [online] [cit ]. Dostupné z: <http://scriptella.javaforge.com/license.html> 9 Scripts Syntax. Scriptella ETL Reference Documentation [online] [cit ]. Dostupné z: <http://scriptella.javaforge.com/reference/index.html#scripts+syntax> 17

18 přítomen i generický JDBC adaptér, umožňující použití libovolné databáze, ke které existuje JDBC driver. 10 Scriptella je spouštěna voláním z příkazové řádky s parametrem specifikujícím umístění souboru s transformačním skriptem. Pro běh programu je nutné nainstalovat Java Runtime Environment ve verzi 5 nebo vyšší. Scriptella neumožňuje naplánování automatických úloh. Může být integrována s nástrojem Apache Ant, kde transformace může být spouštěna jako task s potřebnými parametry. Grafické uživatelské rozhraní Kvůli své jednoduchosti Scriptella nedisponuje žádným grafickým uživatelským rozhraním, a to ani jak pro administraci, tak ani pro tvorbu skriptů. Dokumentace, komunita a podpora Referenční dokumentace je dostupná na oficiálních stránkách produktu. Dokumentace není příliš objemná, nicméně vzhledem k povaze produktu je vyčerpávající. Kromě uživatelské příručky je k dispozici JavaDocs API, které poslouží hlavně vývojářům, a dále DTD reference popisující strukturu transformačního XML souboru. Komunita není příliš velká, oficiální stránky doporučují případné otázky pokládat na webu Stackoverflow nebo v Google User Group Scriptella ETL. Celkové hodnocení Scriptella je minimalistický, nicméně zajímavý ETL nástroj, který i přes svojí jednoduchost nabízí vcelku široké možnosti interoperability mezi rozdílnými datovými zdroji. Své místo najde však spíše v méně náročných aplikacích a řešeních, kde potřebná datová konverze není příliš komplikovaná. Proti použití Scriptelly jako ETL komponenty v datovém skladu mluví hodně argumentů velké množství ručního práce při tvorbě a psaní skriptů, obtížná a pracná definice náročnějších transformačních úloh, absence plánování úloh, prakticky neexistující 10 Scriptella ETL Drivers Matrix. Scriptella ETL Reference Documentation [online] [cit ]. Dostupné z: <http://scriptella.javaforge.com/reference/drivers.html> 18

19 přístup pro centrální správu datových zdrojů a transformací a chybějící uspokojivé logování a monitoring Pentaho Data Integration (Kettle) Pentaho Data Integration (zkráceně PDI) je produktový balíček (souhrn aplikací) vyvíjený společností Pentaho, určený pro návrh a vykonávání ETL transformací. Balíček také nese neoficiální název Kettle a je součástí širší produktové rodiny Pentaho Business Analytics. Data Integration je nabízeno jak v komerční, tak v bezplatné komunitní edici. Komunitní edice je ochuzená o některé funkcionality a komponenty, například plnohodnotný server pro správu a běh transformací. Komunitní edice je distribuována pod licencí Apache License , poslední stabilní release byl zveřejněn v listopadu roku 2012 a nese číslování 4.4. Dále v textu se budeme zabývat právě touto bezplatnou edicí. Technické detaily Balíček Kettle se skládá z několika komponent. Ústředním programem balíčku je grafický designer, který je pojmenován Spoon (jak uvidíme i dále, všechny názvy komponent v rámci balíčku nesou kuchyňskou tématiku). Spoon je implementován v jazyce Java, nevychází přitom předem ze žádné hotové platformy (například Eclipse), i když určitá podobnost s Eclipse je patrná. Díky Javě je program multiplatformní a je možno jej používat na jakémkoli počítači s nainstalovaným prostředím JRE. Aplikace umožňuje graficky navrhovat transformační skripty. Pro svojí práci potřebuje program předem vytvořit repository, do které ukláda veškeré skripty i metadata. Repository může být uložena buď v relační databázi (podporována je široká řada RDBMS) nebo v souborovém systému. Přístup k repository v databázi je řízen uživatelským jménem heslem, teoreticky to tedy umožňuje práci více uživatelů současně. Synchronizace však není řešena dostatečně uspokojivě, při pokusech uložit ten samý skript současně dvěma různými uživateli program generoval chybová hlášení a zamrzal. ETL Skripty jsou v Pentahu jsou rozděleny na dva typy Joby a Transformace. Transformace jsou skripty nízké úrovně, jejichž účelem by měla být pouhá technická manipulace 11 PDI license. Pentaho Data Integration [online] [cit ]. Dostupné z: <http://wiki.pentaho.com/display/eai/pdi+license+faq> 19

20 s daty. Joby jsou úlohy stojící o jednu úroveň výše. Úlohou jobů je zajistit vše proto, aby transformace mohly pracovat správně ověřit existenci tabulek nebo souborů, spustit požadované skripty, ověřit validitu XML vstupů, přenést soubory přes FTP, odeslat ovou zprávu aj. Joby mohou také pouštět jiné joby, čímž můžeme řídit a modelovat běh složitějších ETL procesů. 12 Při návrhu transformací lze využít skutečně široké palety komponent. Kromě běžných datových zdrojů a adaptérů pro relační databáze, textové soubory, XML a sešity MS Excel jsou podporovány i některé komerční informační systémy (např. SAS, SAP, Salesforce) a dále užitečné adaptéry pro formáty jako Yaml, RSS a ové zprávy. Podporována jsou i některá BigData a NoSQL řešení například Hadoop, Cassandra, HBase a MongoDb. Nabídka samotných transformačních komponent je standardní, máme na výběr ze široké řady funkcí pro třídění, vyhledávání, mapování dat, práci s textovými řetězci, rozdělení a spojení sloupců, normalizaci, denormalizaci aj. Pro ulehčení práce s naplněním datamartů datových skladů je v nabídce i speciální komponenta pro pohodlný update tabulek dimenzí. Slabou stránkou návrhového prostředí je ovšem to, že chybí možnost definovat uživatelské customizované transformační kroky nebo alespoň utilitní funkce v některém ze skriptovacích jazyků či přímo v Javě. 13 Podpora metadat sdílených komponentami v rámci jednoho repozitáře není příliš rozsáhlá, omezuje se v podstatě jen na definici databázových spojení a možnost definice uživatelských proměnných, které pak lze využít při konfiguraci komponent. Navržené joby a transformace je možné spouštět jak z přímo ze Spoon editoru, tak externě. Pro externí spouštění slouží programy Kitchen a Pan. Kitchen slouží ke spouštění jobů, Pan ke spuštění transformací. Oba programy jsou napsány v Javě, jedná se o utility bez grafického rozhraní, ovládané pomocí parametrů předávaných z příkazové řádky. Programy umožňují spouštět skripty jak přímo z repozitáře (ať už databázového nebo založeného na souborech), tak samostatné skripty exportované ze Spoonu do XML formátu. V základním komunitní balíčku je dále nabízen malý webový server pod názvem Carte, který poslouží ke vzdáleném spouštění jobů a transformací. Server nedisponuje žádným 12 Job Entry Reference. Pentaho Infocenter [online] [cit ]. Dostupné z: 13 Transformation Step Reference. Pentaho Infocenter [online] [cit ]. Dostupné z: <http://infocenter.pentaho.com/help/index.jsp?topic=%2fpdi_user_guide%2ftopic_pdi_usr_step_reference.html s> 20

21 uživatelským administračním rozhraním, nepodporuje ani načasování pravidelných úloh. Jeho jedinou funkcí je přijímat definice skriptů skrze HTTP protokol a vykonávat je. Carte se však stává silným nástrojem ve chvíli, kdy použijeme několik jeho instancí na různých serverech a transformaci navrhneme tak, aby využívala několika Carte instancí v clusteru. Pokud je transformace správně navržena, můžeme její vykonávání rozložit na vícero fyzických uzlů. 14 Dokumentace, komunita a podpora Komunitní edice platformy sice disponuje poměrně velkým množstvím dokumentace, její kvalita je však bohužel není vždy zcela uspokojivá. Mezi dva hlavní zdroje informací patří Pentaho Infocenter a Pentaho Wiki. Účelem Infocentra je poskytnout především instalační a uživatelské návody pro všechny produkty nabízené společností Pentaho (tedy nejenom Data Integration). Jsou zde sdruženy manuály jak ke komunitním, tak se komerčně dostupným verzím produktů, což poněkud stěžuje úlohu hledání potřebných informací. Stejné návody jako v Infocentru jsou částečně duplikovány ve Wiki (postavené na technologii Confluence), avšak v o něco horší kvalitě. Wiki nabízí, stejně jako Infocenter, například uživatelský manuál k editoru Spoon, některé stránky jsou však buď zastaralé (popisují předchozí release aplikace) nebo jsou nedokončené. Orientace ve Wiki je poměrně obtížná, mnohdy je problematické najít stránku s požadovaným tématem a není jisté, zda uvedené informace jsou správné a platné. K dalším zdrojům informací patří aktivní Pentaho Community Forums, Pentaho User Groups, kde je díky dost aktivní komunitě možno dostat odpovědi na otázky, které se nám nepodařilo dohledat, což může částečně kompenzovat absenci kvalitnější dokumentace. Celkové hodnocení Pentaho Data Integration je solidní ETL platforma, která i v Community edici nabízí dostatečné nástroje pro tvorbu a provádění komplexních ETL úloh. Oproti Enterprise verzi je ochuzena především o plnohodnotný server pro plánování a vykonávání skriptů a o funkční repozitář, který by umožnil současnou práci nad transformacemi a joby více lidem. Tyto ne- 14 Running a Transformation. Pentaho Wiki [online] [cit ]. Dostupné z: <http://wiki.pentaho.com/display/eai/.13+running+a+transformation> 21

22 dostatky však jsou rozhodující spíše pro nasazení ve větším řešení, než o kterém uvažujeme. Díky možnosti spouštění skriptů v rámci jiných skriptů lze vybudovat i master scénáře například pro denního load dat do datového skladu, a pak tento hlavní skript nechat automaticky spouštět Cronem nebo Plánovačem úloh ve Windows. Hlavním nedostatkem community platformy je především zhoršená kvalita dokumentace, přesto však o využití Kettle jako ETL platformy v open source datovém skladu lze určitě uvažovat CloverETL CloverETL je označení pro sadu produktů vyvíjených společností Javlin. Základ balíku tvoří tři produkty: Designer, Server a Engine které mohou být dále rozšířený o doplňky jako Data Profiler, Cluster nebo Event Analyzer. Designer je grafická desktopová aplikace určená pro tvorbu transformačních skriptů. Server je serverová aplikace postavená na platformě Java EE, určená pro vykonávání skriptů, správu naplánovaných úloh, paralelní zpracování a integraci s dalšími podnikovými aplikacemi. 15 Javlin svojí produktovou rodinu v souhrnu popisuje jako Platformu pro agilní datovou integraci. 16 Základní nabídka společnosti je komerčního charakteru, nicméně existuje i komunitní produktová edice, v rámci které jsou nabízeny pouze Designer a Engine, Designer bohužel oproti komerční verzi s omezenou množinou funkcionalit. Tato komunitní verze Designeru je distribuována pod proprietární EULA licencí, která umožňuje bezplatné použití programu. 17 Ústředním modulem podporujícím celou platformu je CloverETL Engine. Nejedná se o samostatnou aplikaci, nýbrž o knihovnu napsanou v jazyce Java. Engine slouží ke spouštění (provádění) transformačních skriptů navržených v Designeru. Je interní součástí jak Designeru, tak Serveru a může být zabudován i do vlastních aplikací. Engine je open source software, binární a zdrojové balíčky jsou k dispozici volně ke stažení na webu Sourceforge a jeho použití je řízeno licencí LGPLv2. V následujícím textu se podrobněji podíváme na Designer Community Edition a na otevřený Engine a posoudíme, nakolik nám jejich funkcionality při budování datového skladu vystačí. 15 CloverETL Server. Family of CloverETL Products [online] [cit ]. Dostupné z: <http://doc.cloveretl.com/documentation/userguide/index.jsp?topic=/com.cloveretl.gui.docs/docs/cloveretlserver.html> 16 CloverETL Products. Data Integration Products [online] [cit ]. Dostupné z: <http://www.cloveretl.com/products> 17 Text licence se zobrazuje při instalaci programu, není dostupný online 22

23 Technické detaily CloverETL Designer Community Edition (dále jen Designer ) je aplikace postavená na open source platformě Eclipse. Eclipse je známý především jako vývojová platforma (IDE) pro řadu programovacích jazyků, nicméně modularita aplikace umožňuje budovat na její základech zcela nová vývojová prostředí. Platforma ke svému běhu požaduje pouze lokální instalaci Java Runtime Environment, je tudíž multiplatformní. Designer slouží ke grafickému návrhu transformačních skriptů. Community edice je bohužel oproti placené edici ochuzena o některé transformační prvky, konektory a další funkcionality, nicméně základní komponenty zůstávají návrhářům skriptů k dispozici. 18 Transformační skripty, v terminologii CloverETL nazývané grafy, jsou vytvářeny přetahováním jednotlivých komponent z palety do hlavního okna aplikace a jsou spojovány přechody. Komponenty jsou rozděleny do několika skupin. Najdeme tu Readers, které umožňují čtení a parsování dat z různých zdrojů (databáze, textový soubor, XML, MS Excel), Writers, které naopak data zapisují, dále Transformers, které s daty nějakým způsobem manipulují, a několik dalších komponent (DB Execute pro spouštění SQL příkazů, SystemExecute pro spouštění systémových procesů a HTTP Connector). Podporována je většina rozšířených relačních databází (Oracle, MS SQL, MySQL, PostgreSQL, Firebird, MS Access, Sybase a další) a generický JDBC driver. 19 Mezi transformační nástroje patří například Aggregate, Deduplicate, Filter, Sort, SimpleCopy. Zajímavou komponentou je pak Reformat, která umožňuje definici vlastní uživatelské transformace. Definovat transformaci je možné pomocí CloverETL skriptovacího jazyka CTL (CloverETL Transformation Language), který již nabízí řadu zabudovaných funkcí. Další možností je napsat vlastní třídu v jazyce Java, která transformaci provede. Tato třída musí implementovat speciální rozhraní (a tudíž i příslušné metody). Vzhledem k tomu, že Designer 18 CloverETL Designer. CloverETL Documentation [online] [cit ]. Dostupné z: <http://doc.cloveretl.com/documentation/userguide/index.jsp?topic=/com.cloveretl.gui.docs/docs/cloveretldesigner.html> 19 Part VII. Components Overview. CloverETL Designer [online] [cit ]. Dostupné z: <http://doc.cloveretl.com/documentation/userguide/index.jsp?topic=/com.cloveretl.gui.docs/docs/partcomponents-overview.html> 23

24 je postaven na platformě Eclipse, implementaci je možno vytvořit přímo v prostředí Designeru, bez nutnosti využívat externí nástroj pro kódování a kompilaci. 20 Množina podporovaných komponent je bohužel v Community edici značně omezena. Oproti komerční edici chybí mnohé užitečné funkcionality pro čtení z různých datových zdrojů, FTP složek, dále nativní konektory pro rychlý zápis do databází, některé transformační komponenty a další užitečné funkce, například rychlá tvorba Dimension tabulek pro datamarty, nebo XSL transformery. Skripty vytvořené v Designeru jsou interpretovány pomocí základní komponenty celé CloverETL platformy CloverETL Engine. Engine je realizován jako aplikace napsaná v jazyce Java. Nemá vlastní uživatelské rozhraní a je spouštěn z příkazové řádky s řadou parametrů. Engine je distribuován jako JAR (Java Archive) knihovna, což jej umožňuje zabudovat do vlastních aplikací napsaných v jazyce Java. Dokumentace, komunita, podpora K celé produktové rodině existuje podrobná a přehledná online dokumentace, dostupná z hlavních stránek CloverETL. Kromě toho je začínajícím uživatelům k dispozici Quick Start Guide, který pomůže rychle se zorientovat v základních pojmech a vytvořit svoje první transformační grafy. Dokumentace celkově budí dobrý dojem, je srozumitelná a dobře strukturovaná, učení z ní je velice rychlé. Nevýhodou bohužel je skutečnost, že jsou zdokumentovány plné (komerční) verze aplikací, tudíž při práci s komunitní edicí může uživatel hledat v programu některé komponenty zcela marně. Ten samý nedostatek platí i pro ukázkové ETL projekty, jež jsou volně k dispozici ke stažení pokud je v některém z projektů použita komerční komponenta, odmítne Designer projekt vůbec otevřít. Mezi další oficiální zdroje informací patří aktivní CloverETL Forum, kam může uživatel v případě potíží vznést svůj dotaz, a dále CloverETL Blog, kde je zhruba jednou měsíčně publikován nový článek týkající se platformy. Oficiální podpora je nabízena pouze pro placené distribuce Chapter 55. Transformers. CloverETL Designer [online] [cit ]. Dostupné z: <http://doc.cloveretl.com/documentation/userguide/index.jsp?topic=/com.cloveretl.gui.docs/docs/transformers. html> 21 CloverCARE Support. CloverETL Services [online] [cit ]. Dostupné z: <http://www.cloveretl.com/services/clovercare-support> 24

25 Celkové hodnocení CloverETL je funkční a kvalitní ETL platforma, komunitní edice je však bohužel natolik omezena o moduly a funkcionality, že ji to pro datový sklad činí prakticky nepoužitelnou. Postrádáme možnost centralizované správy transformací a jejich automatické spouštění (což jsou funkce podporované Serverem), také Designer je ochuzen o mnohé užitečné komponenty. Community Edition je tedy spíše vhodná pro skutečně jednoduché projekty s malým počtem jednoduchých transformací. Zájemcům o CloverETL platformu by se nejspíše vyplatilo investovat alespoň do komerční verze Designeru (bez Serveru), jež poskytuje plnou paletu funkcionalit, nicméně předmětem této práce je free nebo open source software, tuto variantu proto nebereme v úvahu Talend Data Integration Talend Open Studio For for Data Integration (které dále v textu budeme nazývat také zkráceně Studio ) je open source produkt společnosti Talend, distribuovaný pod licencí GPLv2. 22 Poslední stabilní release produktu nese označení a byl uvolněn v březnu roku Studio je grafický nástroj sloužící k návrhu skriptů pro přístup k datům, jejich transformaci, kombinaci a integraci mezi různými zdroji a systémy. Studio je součástí širší rodiny produktů, mezi něž patří například nástroje pro kontrolu kvality dat (Data Quality), správu metadat (MetaData Management), řízení business procesů a další. Studio je nabízeno zdarma jako samostatná aplikace či pak v rámci rozšířených komerčních balíčků Enterprise Data Integration a Platform for Data Management. Balíčky obsahují kromě Studia navíc i serverové komponenty pro centralizovanou správu skriptů, jejich vzdálené nasazování a spouštění, load balancing, failover a jiné funkcionality podporující celý životní cyklus procesů pro datovou integraci. Avšak i v bezplatné edici je Studio zcela plnohodnotné a není ochuzeno o žádné funkcionality pro přístup k datům a manipulaci s nimi. 23 Pojďme se tedy blíže podívat, co nám tento software umožňuje. 22 Data Integration. TALEND. Download [online] [cit ]. Dostupné z: <http://www.talend.com/download/data-integration> 23 Data Integration Features Comparison Matrix. TALEND. Data Integration [online] [cit ]. Dostupné z:<http://www.talend.com/products/data-integration/matrix> 25

26 Technické detaily Open Studio for Data Integration je - podobně jako CloverETL Designer - postaveno na platformě Eclipse, a tudíž ke svému běhu potřebuje lokální instalaci JRE nebo JDK (Java Development Kit). Z Eclipse je také převzata základní filozofie práce, která je vždy rozdělena na jednotlivé projekty. V rámci projektů pak vytváříme transformační skripty (které jsou nazývány jobs ), definujeme metadata jako například databázová spojení, vstupy, výstupy a píšeme vlastní funkce, SQL dotazy a Java kód. Veškerá data jsou v rámci projektu viditelná pro všechny joby, naopak mezi projekty tato viditelnost neexistuje a pro znovuvyužití v jiném projektu se musí data ručně exportovat a pak importovat. ETL skripty (jobs) vytváříme graficky, metodou přetahování komponent z palety, nastavením jejich vlastností a spojením přechody. Nabídka komponent je skutečně velmi široká. Dokumentace uvádí, že k dispozici je přes 450 komponent a konektorů 24, což umožňuje číst a zapisovat data z/do téměř jakéhokoli zdroje. Kromě možnosti napojení na klasické relačních databáze máme tu i řadu konektorů do rozšířených komerčních DWH/BI databází a produktů (Netezza, Teradata, SaS) a samozřejmě spoustu adapterů pro práci se soubory. Podporovány jsou mimo jiné textové a CSV soubory, MS Excel, práce se ZIP archivy a XML. Mezi poněkud méně obvyklé komponenty patří možnost připojování na FTP, MQ (Message Queue) servery, zasílání HTTP requestů, volání SOAP a RESTful webových služeb (včetně zabezpečených), LDAP a dokonce parsování souborů, jejichž obsahem je ová zpráva. 25 Transformační komponenty nabízí standardní operace filtrování, agregaci, filtrování, řazení, normalizaci/denormalizaci (užitečné při výpočtu tabulek faktů), operace nad řetězci (replace, concat, regexp a další) a jiné. Je možná definice vlastních rutin a procedur používaných v transformacích, kód se píše v jazyce Java. Žádný proprietární skriptovací jazyk není podporován. Mezi velmi užitečné komponenty patří tzv. Orchestration komponenty, které umožňují řídit běh jobu. V rámci jednoho můžeme zavolat jiné joby, či dokonce běh paralelizovat. Podporovány jsou dále dva speciální eventy Prejob a PostJob, které umožní například provést před spuštěním jobu určitá iniciální nastavení nebo naopak po doběhnutí po sobě uklidit. 24 Data Integration. TALEND. Download [online] [cit ]. Dostupné z: <http://www.talend.com/download/data-integration> 25 Reference Guide. Talend Open Studio Components v5.2.2 [online] [cit ]. Dostupné z: <https://help.talend.com/display/talendopenstudiocomponentsreferenceguide52en/home> 26

27 Nabídka komponent není konečná. Uživatelé mohou vytvářet své vlastní komponenty v jazyce Java přímo v prostředí Studia. Kromě toho, na komunitních webových stránkách talendforge.org jsou k dispozici stovky volně dostupných custom komponent vyvinutých uživateli a rozšiřujících standardní paletu Studia. Studio podporuje verzování jobů a metadat v rámci projektu. Můžeme uchovávat vícero verzí té samé entity a v případě potřeby vrátit se ke dřívějším verzím. Do prostředí je také zabudována funkcionalita Recycle Bin, kdy odstraněné položky (joby a metadata) se nejprve přesouvají do koše a teprve potom mohou být odstraněny trvale. Navržené joby můžeme spouštět přímo ve Studiu či je exportovat do několika různých formátů a spouštět je samostatně. Každý job je ve Studiu překládán do samostatné Java třídy, uživatel si může nechat zobrazit generovaný zdrojový kód. Ve studiu můžeme proto spouštět joby i v Debug a Trace modech a sledovat velmi podrobně krok po kroku vykovávání jobu. Takto těsná integrace s Javou umožňuje realizovat i mechanismus exportování jobů pro jejich spouštění vně Studia. 26 První variantou je export pro samostatné spouštění jobu v jakémkoli prostředí, kde je nainstalováno prostředí JRE (Java Runtime Environment). V této variantě vygeneruje Studio ZIP archiv obsahující.jar archív se samotným jobem, složku s potřebnými knihovnami (například rutiny pro práci s Excel soubory a JDBC konektory), složku s metadata, zdrojové kódy a nakonec.bat a.sh skripty pro pohodlné spouštění jobu ve Windows nebo Linux. Získáváme tak zcela samostatný spustitelný balíček bez potřeby cokoli dále konfigurovat nebo instalovat. Další možností je exportovat job jako webovou službu (Web Service), kterou je možno nasadit na libovolný z Java EE serverů. Studio v tomto případě připraví standardní.war balíček (Java Web Application Archive), jež je možno rovnou nasazovat. Pro nasazení je vyžadován pouze servlet containter (například Apache Tomcat), SOAP protokol je implementován pomocí knihovny Apache Axis, plný Java EE serverový profil tudíž není vyžadován. Archív obsahuje pochopitelně všechny potřebné knihovny (včetně Axisu), dále zdrojové kódy a soubory konfigurující webovou službu (.wsdl,.wsdd). 26 How to run a Job. Talend Open Studio for Data Integration v User Guide (EN) [online] [cit ]. Dostupné z: <https://help.talend.com/display/talendopenstudiofordataintegrationuserguide52en/4.2.7+h ow+to+run+a+job> 27

28 Poslední variantou pro export jsou balíčky pro nasazení jobu jako služby do ESB (Enterprise Servis Bus) platformy. Podporovány jsou JBoss ESB, Petals ESB a dále generický OSGI formát. V případě nasazení jobu jako enteprise služby bude tento job dostupný všem dalším aplikacím využívajícím služeb centrální integrační platformy. 27 Integrace se SpagoBI serverem Zajímavou funkcionalitou, kterou Studio nabízí, je export a nasazení jobu na SpagoBI server. SpagoBI je open-source Business Intelligence platforma, jejíž součástí je Java EE server pro management a spouštění různých typů analytických a reportingových úloh. Spago disponuje mimo jiné i podporou pro Talend Open Studio, a z druhé strany Studio umožňuje rychlý deployment jobu přímo z návrhového prostředí. 28 V rámci SpagoBI serveru je možné vytvářet rozvrhy pro pravidelná spouštění rozlišných úloh, server nám proto může částečně posloužit jako náhrada za Talend Jobserver, dostupný pouze v některé z komerčních edicí. Dokumentace, komunita, podpora Celá platforma, pochopitelně včetně Studia, disponuje podrobnou dokumentací. Přístup k dokumentaci je možný po bezplatné registraci. Dokumentace je rozdělena na několik hlavních částí Knowledge Base s odpověďmi na nejčastější otázky a dále samostatné portály pro každý z produktů, odděleně pro bezplatné a komerční edice. Pro Talend Open Studio for Data Integration mají uživatelé k nahlédnutí Installation & Upgrade Guide, User Guide a Components Reference Guide. Všechny příručky jsou zpracovány pěkně a dostatečně přehledně, včetně screenshotů a praktických ukázek. Začínající uživatelé si mohou projít tutoriály pokrývající některé základní úlohy a stáhnout si k těmto tutoriálům ukázkové projekty do Studia, včetně vzorků zkušebních dat. 27 How to export Jobs. Talend Open Studio for Data Integration v User Guide (EN) [online] [cit ]. Dostupné z: <https://help.talend.com/display/talendopenstudiofordataintegrationuserguide52en/5.2.2+h ow+to+export+jobs> 28 How to deploy a Job on SpagoBI server. Talend Open Studio for Data Integration v User Guide (EN) [online] [cit ]. Dostupné z: <https://help.talend.com/display/talendopenstudiofordataintegrationuserguide52en/5.7.1+h ow+to+deploy+a+job+on+spagobi+server> 28

29 Mezi oficiální zdroje informací dále patří aktivní Talend Community Forum s desítkami tisíc témat a příspěvků. 29 Témata ve fóru pokrývají širokou škálu témat, od instalace, přes návrh jobů po vytváření vlastních komponent. Celkové hodnocení Talend Open Studio for Data Integration je velmi výkonný nástroj pro tvorbu komplexních transformačních úloh. Disponuje širokou paletou funkcionalit, je výborně ovladatelný a intuitivní. Projektově orientovaný přístup k práci a dostupnost verzování skriptů a metadat zjednodušuje správu rozsáhlejších projektů a přináší pořádek. Nevýhodou v tomto pohledu je pouze absence možnosti ukládat projekty do centrálního repozitáře a umožnit tím současnou práci více lidí (tato funkce je dostupná až v některé z placených edicí). Komunitní produktová edice bohužel nenabízí žádný server pro plánování a spuštění úloh, tento nedostatek však je částečně vyvážen možností exportovat joby jako samostatně spustitelné programy nebo jako Java EE komponenty (Webové služby, ESB služby). Díky podpoře vnořených jobů (tedy spouštění jobů v rámci jiných jobů) je možné vybudovat například workaround pro celou denní ETL úlohu v podobě jednoho parent jobu a ten pak spouštět v požadovaném čase pomocí Cron skriptu nebo Plánovaných úloh ve Windows. Rovněž máme možnost využití podporované integrace se SpagoBI serverem a přenechat plánování a spuštění úloh na něj. Produkt dále disponuje kvalitní dokumentací a aktivní uživatelskou základnou, k dispozici jsou i dodatečné výukové materiály. Celkově vzato, produkt splňuje požadavky pro využití jako ETL komponenty v datovém skladu a pro tyto účely jej doporučit lze. 3.2 Relační databáze Databáze tvoří jádro celého datového skladu. Dá se říct, že je jeho nejdůležitější součástí. V datovém skladu plní databáze hned několik úloh. Za prvé, slouží jako úložiště pro Data Staging Area (viz první kapitola) tedy místo pro dočasné uložení surových dat pro účely jejich transformace a očištění. Dále funguje jako úložiště již transformovaných dat, ve formě 29 Talend Community Forum. Talendforge [online] [cit ]. Dostupné z: <http://www.talendforge.org/forum/> 29

30 datamartů, v některém ze vhodných schémat (vločkové, hvězdicové schéma). Této části databáze říkáme Data Presentation Area. V neposlední řadě pak také obsahuje metadata ukládaná samotnými aktivními SW komponentami řešení ETL a reportingovými nástroji. Příkladem těchto dat jsou definice datových transformací, datové zdroje, naplánované automatické úlohy, logy, definice reportů, uživatelské účty, seznam oprávnění k jednotlivým reportům aj. V případě komplexních řešení, implementovaných ve velkých firmách, je velmi pravděpodobné, že databáze pro každý z těchto účelů budou oddělené a dedikované. Námi hledané řešení pro malé a střední podniky je však jednodušší, budeme proto uvažovat jednu databázovou instanci, která bude rozdělena na jednotlivá schémata, zajišťující výše popsané funkcionality. Relačních databází je na trhu velmi mnoho, a to i těch, které patří do kategorie open source nebo free software. Je nad rámec jakékoli práce obsáhnout je všechny, bylo tedy nutné provést předvýběr vhodných kandidátů. Volba padla na takové produkty, které jsou široce známe a rozšířené, s existujícími referencemi, aktivní komunitou a nadějí na další rozvoj v budoucnu. Dalším kritériem byla robustnost, vhodnost práce s velkými objemy dat a snadná administrace databáze, což z výběru vyřadilo lightweight a embedded řešení, například Apache Derby nebo SQLite. Při finálním posouzení databázového SW za zaměříme především na jeho volnou dostupnost, stabilitu, rychlost, licenční omezení pro podporovaný objem dat a maximální míru využití HW prostředků, dále pak i kvalitu dokumentace, uživatelskou komunitu a samozřejmě i na podporu dané technologie ze strany samotných ETL a reportingových nástrojů MySQL MySQL patří k nejznámějším a nejrozšířenějším open source databázovým enginům. 30 První verze databáze vznikla koncem devadesátých let jako projekt vývojáře Michaela Wideniuse, spoluzakladatele společnosti MySQL AB. Společnost byla v roce 2008 odkoupena firmou Sun Microsystems. V současné době patří MySQL společnosti Oracle, po její akvizici společnosti Sun Microsystems v roce DB-Engines Ranking. SOLID IT. DB-engines: Knowledge Base of Relational and NoSQL Database Management Systems [online]. [cit ]. Dostupné z: <http://db-engines.com/en/ranking> 31 Hardware and Software. Engineered to Work Together. ORACLE. Oracle corporation [online] [cit ]. Dostupné z: <http://www.oracle.com/us/sun/index.html> 30

31 MySQL databáze je distribuována v několika placených edicích Standard Edition, Enteprise Edition a Cluster Carrier Grade edition a dále v bezplatné Community edici, distribuované pod licencí GPL. 32 Nás bude zajímat především tato volně dostupná Community edice. V době vzniku této práce poslední stabilní verze nesla označení Dále v tomto textu budeme hovořit pouze o této edici a budeme jí zkráceně nazývat MySQL. Pokud budeme hovořit o některé z placených verzí, explicitně tuto skutečnost upřesníme. Databáze je multiplatformní, podporuje jak prostředí Windows, tak i celou řadu Linuxových a Unixových operačních systémů. 33 Samozřejmostí jsou dostupné zdrojové kódy pro vlastnoruční kompilaci. Pojďme se nyní blíže podívat na některé detaily, které nás zajímají z pohledu případného využití této databáze jako základny pro datový sklad. Technické detaily, HW a SW omezení MySQL nabízí několik mechanismů ukládání dat (tzv. storage engine), které jsou distribuovány ve standardním instalačním balíčku. Pro účely DWH jsou zajímavé především tři hlavní mechanismy: MyISAM, InnoDB a Memory. Výhodou je možnost míchání různých mechanismů v rámci jednoho DB schématu (různé tabulky mohou používat rozdílné mechanismy) a dokonce i v rámci jednoho SQL dotazu. 34 InnoDB je primárním doporučovaných mechanismem. Jedná se o plnohodnotný storage engine podporující ACID transakce, cizí klíče, indexy (B-tree, T-tree, hash, fulltext) a zamykání na úrovni řádků. Maximální objem uložených dat je omezen na 64 TB. Tento engine je vhodný především na manipulaci s daty v normalizovaném schématu. MyISAM je historicky starší storage engine, který nepodporuje transakce ani cizí klíče. Dále nepodporuje některé typy indexů (např. T-tree a hash). Zamykání probíhá na úrovni celé tabulky. Výhodou MyISAM je však podpora až 256 TB uložených dat a za některých okolností rychlejší čtení z velkých tabulek, což může být užitečné pro Data presentation area datového skladu, která je vystavena především velkému náporu SELECT dotazů oproti INSERT/UDPATE dotazům. Rozdíl ve výkonnosti proti InnoDB ale není jednoznačně jasný a 32 MySQL Editions. MYSQL. MySQL: The world's most popular open source database [online] [cit ]. Dostupné z:< 33 Installing and Upgrading MySQL. MYSQL. MySQL 5.6 Reference Manual [online] [cit ]. Dostupné z: <http://dev.mysql.com/doc/refman/5.6/en/installing.html> 34 Storage Engines. MYSQL. MySQL 5.6 Reference Manual [online] [cit ]. Dostupné z: <http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html> 31

32 dat. 35 Memory je speciální storage engine, který, jak název vypovídá, používá pro uložení je diskutován. Performance benchmark, vydaný společností Oracle v roce 2011, srovnávající MyISAM a InnoDB engines doporučuje primárně využívat InnoDB a zároveň uvádí, že MyI- SAM zůstává důležitým storage engine pro specifické aplikace vyžadující intenzivní čtení dat RAM paměť. Výhodou je vetší rychlost manipulace s daty, kterou lze využít například pro náročné datové transformace. Na druhou stranu je zde řada nevýhod server musí disponovat dostatečným množstvím fyzické RAM paměti, v případě výpadku systému se data ztratí. Memory engine dále nepodporuje transakce ani cizí klíče. Zamykání probíhá na úrovni celé tabulky. MySQL neomezuje uměle maximální objem využité RAM ani počet CPU / jader, to znamená, že v případě potřeby budou využity všechny dostupné HW prostředky, v závislosti na konfiguraci. MySQL podporuje multithreading. 36 Databáze nabízí možnost partitioningu, k dispozici je několik druhů, dle rozdělovacího kritéria: Range, List, Columns (využití více sloupců pro rozhodovací pravidlo), Hash a Key. Je nabízen pouze horizontální partitioning (rozdělení skupin řádků), vertikální (rozdělení podle sloupců) není podporován. Použití partitioningu nad tabulkou s sebou přináší některá omezení, například nemožnost používat cizí klíče nebo omezené použití vnořených dotazů a SQL funkcí. 37 Dokumentace a komunita MySQL nabízí na svých stránkách volně přístupnou, rozsáhlou referenční dokumentaci. Kromě hlavní části, podrobně popisující SQL syntaxi včetně její rozšíření a doplnění příkazy specifickými pro MySQL, nechybí zde ani velké množství doplňující informace o storage engi- 35 MySQL 5.5: Storage Engine Performance Benchmark for MyISAM and InnoDB: A MySQL Technical White Paper. [online]. 2011, s.13 [cit ]. Dostupné z: <http://www.oracle.com/partners/en/knowledge-zone/mysql-5-5-innodb-myisam pdf> 36 MySQL 5.6 FAQ: General. MYSQL. MySQL 5.6 Reference Manual [online] [cit ]. Dostupné z: <http://dev.mysql.com/doc/refman/5.6/en/faqs-general.html> 37 Chapter 17. Partitioning. MYSQL. MySQL 5.6 Reference Manual [online] [cit ]. Dostupné z: <http://dev.mysql.com/doc/refman/5.6/en/partitioning.html> 32

33 nech, instalaci a administraci serveru, zálohování, bezpečnosti, partitioningu a optimalizaci a nativních konektorech pro programovací jazyky. 38 Vzhledem k velké popularitě databáze na internetu existuje velmi rozsáhlá komunita uživatelů a vývojářů. Na oficiální doméně mysql.com je provozována tzv. Developer zone s velkým množstvím informací, aktivním fórem čítajícím desítky tisíc témat, články a white papery. Administrační rozhraní a utility Volitelnou součástí instalačního balíčku je sada administračních a utility aplikací. Aplikace je rovněž možno zadarmo stáhnout a nainstalovat dodatečně. MySQL Workbench je aplikace s grafickým uživatelským rozhraním, umožňující modelování, návrh databáze, administraci a vývoj SQL skriptů. 39 Aplikace existuje ve verzích pro různé operační systémy, podporovány jsou mj. MS Windows, Mac OS X, a některé linuxové distribuce. MySQL Utilities je sada programů ovládaných skrze příkazovou řádku. Umožňují provádět operace nad auditními logy, kopírování a zálohování databáze, porovnávání dat, nastavení replikace, klonování serveru a vykonávat některé administrační úlohy. Utilies jsou nabízeny pro operační systémy MS Windows a Oracle a Red Hat Linux. K dispozici jsou rovněž i zdrojové kódy, pomocí kterých lze zkompilovat vlastní verzi programů pro vybraný operační systém. Celkové hodnocení MySQL je vyzrálý open source databázový systém s dlouhou historií, prověřený velkým množstvím uživatelů, s kvalitní dokumentací a rozsáhlou komunitou. Po technické stránce vyhovující, s dostatečnou rychlostí, nabízí rovněž nástroje pro optimalizaci výkonu. Určitou nevýhodou může být například vlastnictví velkou komerční společností (Oracle), kdy není jisté, jak bude s databází nakládáno budoucnu a zda nebudou budoucí komunitní verze chudší o funkcionality, jež budou přesouvány do placených distribucí. 38 MySQL 5.6 Reference Manual: Table of contents. MYSQL. MySQL 5.6 Reference Manual [online] [cit ]. Dostupné z: <http://dev.mysql.com/doc/refman/5.6/en/index.html> 39 Chapter 1. MySQL Workbench Introduction. MYSQL. MySQL Workbench: Reference Manual [online] [cit ]. Dostupné z: <http://dev.mysql.com/doc/workbench/en/wb-intro.html> 33

34 3.2.2 PostgreSQL PostgreSQL je open source databázový systém. Jeho historie sahá do roku 1986, kdy vznikl jako projekt pod názvem POSTGRES na kalifornské univerzitě Berkeley. V současné době není projekt vlastněn žádnou konkrétní firmou, na vývoji se podílí skupina dobrovolníků pod jménem PostgreSQL Development Group. Poslední dostupná stabilní verze databáze je Software je distribuován pouze v jedné edici, pod vlastní licencí PostgreSQL License, která vychází z BSD a MIT licencí. 40 Není možné zakoupit žádný oficiální support, nicméně celosvětově existuje řada firem, které nabízí profesionální služby spojené s užíváním a administrací PostgreSQL. Technické detaily, HW a SW omezení PostgreSQL je multiplatformní, instalační balíčky jsou dostupné pro operační systémy Windows, BSD, MacOS, Solária a řadu Linuxových distribucí. Zdrojový kód je možno stáhnout z GIT repository, součástí dokumentace je pak kapitola podrobně popisující komplikační proceduru pro příslušný operační systém. Databáze je vyvíjena s důrazem na stabilitu a podporu standardů ISO/IEC, které specifikují jazyk SQL. Poslední z těchto standardů byl vydán v roce 2011 pod názvem ISO/IEC 9075:2011. PostgreSQL implementuje většinu z částí popisovaných v této specifikaci, s výjimkou Persistent Stored Modules a Object Language Bindings. 41 Díky velké konformitě s SQL standardy je PostgreSQL často vývojáři považováno za open-source Oracle. PostgreSQL implementuje svůj vlastní procedurální jazyk PL/pgSQL, podobný Oracle PL/SQL. K dispozici je navíc řada dalších modulů vyvinutých třetími stranami, které umožňují psát funkce a procedury v Javě, PHP, Pythonu a dalších jazycích. 42 Databázový engine nemá žádná omezení, co se týče maxima využité paměti nebo počtu procesorů/jader. Není však podporován multithreading, místo toho je implementován procesní přístup pro každé databázové spojení je vytvořen separátní proces v operačním systé- 40 License. PostgreSQL: About [online] [cit ]. Dostupné z: <http://www.postgresql.org/about/licence/> 41 Appendix D. SQL Conformance. PostgreSQL Documentation [online] [cit ]. Dostupné z: <http://www.postgresql.org/docs/9.2/static/features.html> 42 H.3. Procedural Languages. PostgreSQL Documentation: Appendix H. External Projects [online] [cit ]. Dostupné z: <http://www.postgresql.org/docs/9.2/static/external-pl.html> 34

35 mu. Každý takovýto proces využívá maximálně jedno procesorové jádro, tudíž i náročné dotazy jsou zpracovávány vždy pouze v jednom jádře. 43 Databáze podporuje základní tabulkový partitioning. K dispozici jsou dva typy rozdělovacích kritérií: Range a List. 44 Je možné využít jen horizontálního partitioningu, rozdělení tabulek podle sloupců není podporováno. Přímo na úrovni SQL jsou podporovány rovněž tablespaces, což umožňuje rozložit databázové objekty (tabulky, indexy i celá schémata) na různá fyzická úložiště a tím dosáhnout větší efektivity čtení a zápisu. Při vytváření nového objektu je možné specifikovat tablespace, ve kterém bude objekt uložen, jinak bude použit výchozí tablespace. Technika partitioningu dovolí implementovat různé optimalizace, například umístit indexy na separátní rychlý SSD disk. Samozřejmostí je podpora indexování. K dispozici jsou B-Tree, hash, GiST, SP-GiST a GIN indexy. 45 GiST a SP-GiST představují rozhraní pro implementaci indexovací strategie založené na vyhledávacím stromu (GiST Generalized Search Tree). Standardní distribuce obsahuje implementace několika druhů indexování včetně fulltextu, jednorozměrných polí a víceprvkových indexů. Je možná implementace svých vlastních indexovacích algoritmů jako rozšíření standardní množiny. Z hlediska výkonu při provádění SELECT dotazů nabízí PostgreSQL zajímavou funkcionalitu zvanou Window functions. Ta spočívá v aplikaci agregačních funkcí pouze nad podmnožinou dat vracených dotazem. Podmnožina ( window ) může být specifikována dle různých kritérií. Tato funkcionalita může značně zjednodušit psaní analytických dotazů nad Data presentation area, kde často potřebujeme provést statistické výpočty a aplikovat agregační funkce. Window functions umožňují získat potřebná data už v rámci jednoho dotazu tam, kde bychom tradičně museli použít vícero dotazů a spojit je pomocí JOINů. 43 PostgreSQL Hardware Performance Tuning. MOMJIAN, Bruce. UNIVERSITY OF LEEDS. PostgreSQL Hardware Performance Tuning [online] [cit ]. Dostupné z: <http://momjian.us/main/writings/pgsql/hw_performance/index.html> Partitioning. PostgreSQL Documentation: Chapter 5. Data Definition [online] [cit ]. Dostupné z: <http://www.postgresql.org/docs/9.2/static/ddl-partitioning.html> Index Types. PostgreSQL Documentation: Chapter 11. Indexes [online] [cit ]. Dostupné z: <http://www.postgresql.org/docs/9.2/static/indexes-types.html> 35

36 Dokumentace a komunita Oficiální dokumentace je kvalitní, rozsáhlá, podrobná a přehledná. K dispozici jsou jak online webová verze, tak PDF pro tisk a offline prohlížení. Tištěná verze dokumentace, včetně příloh, by čítala přes dva a půl tisíce stránek. K nahlédnutí je rovněž i kompletní dokumentace k předchozím releasům, zpětně až k verzi 6.3. Dokumentace popisuje všechny aspekty spojené s instalací, administrací a používáním PostgreSQL. Nechybí informace o API rozhraní, zálohování a monitorování databáze, PL/pgSQL jazyku, informačním schématu a dalších technických podrobnostech. 46 Kromě oficiální dokumentace existuje celé množství komunitních zdrojů informací. Na doméně postgresql.org je provozována velká skupina mailing listů, rozdělených do mnoha kategorií (administrace, preformace, SQL, vývoj aj). Listy jsou velmi aktivní nové dotazy i odpovědi přibývají každý den ve všech kategoriích. Jako další informační zdroj může posloužit PostgreSQL Wiki přeložená do několika světových jazyků a webové stránky Planet PostgreSQL, které slouží jako blog pro publikaci článků o databázi. Kromě výše popsaných zdrojů provozovaných na hlavní doméně postgresql.org existují ještě i nezávislé komunitní zdroje podporované uživateli v různých zemích. Z českých zdrojů můžeme například uvést wiki na adrese postgres.cz, spravovanou Sdružením českých a slovenských uživatelů PostgreSQL. Administrační rozhraní a utility Ve standardním instalačním balíčku je distribuován program pgadmin, který slouží jako standardní administrační nástroj pro PostgreSQL. Program je licencován pod licencí Postgre- SQL, stejně jako samotná databáze. PgAdmin je grafický nástroj. Umožňuje správu databázových instancí, tablespaců, práci s databázovými objekty (vytváření, úpravy), spouštění SQL dotazů, zobrazuje podrobné informace, statistiky aj. Nástroj obsahuje rovněž grafický query analyzer, který pomáhá při optimalizaci SQL dotazů Table of Contents. PostgreSQL Documentation [online] [cit ]. Dostupné z: < 47 Features. PgAdmin: PostgreSQL Tools [online] [cit ]. Dostupné z: <http://www.pgadmin.org/features.php> 36

37 PgAdmin je určen pro operační systémy MacOS a Windows, ke stažení je i zdrojový kód pro kompilaci pro jiné platformy. Programu je věnován samostatný web pgadmin.org, kde se kromě instalačních balíčků nachází i online dokumentace. Kromě PgAdminu lze využít ještě celou řadu aplikací pro účely administrace, vývoje SQL a PL/pgSQL, migrace dat, zálohování, provozního reportování a analýzy logů. Aplikace jsou vyvíjeny třetími stranami. Mnoho z těchto aplikací je doporučeno na oficiálním webu PostgreSQL v sekci Software Catalogue. Některé z aplikací patří do kategorie svobodného software, jiné jsou komerční nástroje. Celkové hodnocení PostgreSQL je solidní open source databáze s mnohaletou tradicí. K její přednostem patří úsilí o co nejkompletnější implementaci SQL standardů, široká paleta užitečných funkcionalit a stabilita. K softwaru existuje kvalitní dokumentace a široká podpora aktivní komunity. Administrační rozhraní je vynikající, existuje i široká řada utilit pro správu databáze i dat samotných Oracle Database Express Edition Oracle Database Express Edition (zkráceně Oracle XE) je volně dostupná edice široce známé relační databáze Oracle. Aktuální verze nabízená společností Oracle je 11g Release 2, což odpovídá také verzi plných (Standard, Standard One a Enteprise) edicí. Oracle XE je distribuován pod vlastní licencí "OTN Developer License Terms for Oracle Database Express Edition terms". Licence povoluje libovolné využití databáze pro účely vývoje a provozování aplikací a distribuci spolu s vlastními aplikacemi. Je však nutno poznamenat, že se nejedná o open source software zdrojové kódy nejsou volně dostupné a licence výslovně zakazuje dekompilaci a reverse-engineering binárního kódu. 48 Instalační balíčky jsou nabízeny pro platformy Windows (pouze 32-bitová verze) a Linux (pouze 64-bitová verze). 48 Oracle Technology Network Developer License Terms for Oracle Database Express Edition. Oracle Technology Network: Licenses [online] [cit ]. Dostupné z: <http://www.oracle.com/technetwork/licenses/database-11g-express-license html> 37

38 Technické detaily, HW a SW omezení Express edice nejznámějšího databázového software bohužel trpí mnoha omezeními. Nejzásadnější omezení se týkají vyžití systémových prostředků a maximálního množství dat uložených v databázi. Oracle XE využije maximálně jeden procesor, nezávisle na tom, kolik procesorů je fyzicky v systému nainstalováno. Maximální množství paměti, které databáze využije, je jeden GB. A nakonec, objem dat perzistovaných v databázi nesmí překročit 11 GB, včetně systémových dat a metadat databáze samotné. 49 Celkové hodnocení Omezení zabudovaná v Oracle Express Edition jsou natolik limitující, že bohužel vylučují možnost použití databáze v datovém skladu. Další vlastnosti databáze jsme proto již nezkoumali. Oracle XE zajisté najde své uplatnění při vývoji a testování, stejně jako v nenáročných aplikacích bez potřeby pracovat s velkými objemy dat, pro které nabídne vysoce stabilní datovou základnu. V datovém skladu však není myslitelné pracovat s horním limitem 11 GB pro data, stejně jako omezit HW výpočetní prostředky na 1 CPU a 1 GB operační paměti Firebird Firebird je další z open source relačních databázových systémů. Vznik jako fork zdrojového kódu databáze Borland InterBase v roce V současné době poslední stabilní release je označen Software je distribuován poněkud neobvykle pod dvěma licencemi zároveň. První, InterBase Public License, se vztahuje na části zdrojového kódu převzaté z původní InterBase. Druhá, Initial Developer s License, pokrývá změny provedené v projektu Firebird samotném. Obě licence umožňují použití databáze zdarma, provádění změn v kódu a rekompilaci, případně distribuci databáze jako součásti většího projektu The Firebird licenses. Firebird: Reference Manual [online] [cit ]. Dostupné z: 49 Installation Guide: 3 Licensing Restrictions. Oracle Database Express Edition [online] [cit ]. Dostupné z: <http://docs.oracle.com/cd/e17781_01/install.112/e18803/toc.htm#autoid11> <http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/qsg25-firebirdlicenses.html> 38

39 Technické detaily, HW a SW omezení Firebird je multiplatformní, podporovány jsou OS Windows, Linux, MacOS X. Dále jsou k dispozici i zdrojové kódy určené pro vlastní kompilaci. Zdrojové kódy i binární instalační balíčky jsou hostovány na serveru Sourceforge. Databázový server je nabízen ve třech edicích, ve Firebird terminologii nazývaných architektury Classic Server, SuperClassic a Superserver. Edice se liší především ve způsobu zacházení se systémovými prostředky. Kdežto Classic vytváří pro každé spojení nový proces v operačním systému, SuperClassic a Superserver běží v rámci jediné procesní instance. 51 Zajímavostí je výchozí konfigurační nastavení Superserver edice pro Windows, kdy databáze použije pouze jedno procesorové jádro. V případě, že administrátor při instalaci přehlédl tuto informaci v dokumentaci, může to zpočátku způsobit výkonnostní problémy. Nastavení ovšem lze snadno změnit tak, aby bylo využito maximum systémových prostředků. Všechny edice jsou nabízeny jak v 32-bitové, tak 64-bitové verzi. Databáze implementuje standard ISO/IEC SQL-92 Entry Level a částečně SQL:1999. K dispozici je podpora uložených procedur prostřednictvím jazyka PSQL (FireBird Procedural SQL). Podporovány jsou rovněž triggery. 52 Standardní množinu funkcí lze rozšířit skrze externí moduly napsané v jazyce C/C++ nebo Delphi (Object Pascal). Firebird podporuje ACID transakce, včetně dvoufázového commitu a vytváření transaction savepoints. Databáze využívá tzv. Multi-Generational Architecture, kdy pro různé současně běžící transakce existují různé verze téhož záznamu. To umožňuje transakcím, které čtou data, neblokovat jiné transakce, které stejná data ve stejný okamžik zapisují. Pro optimalizaci čtení jsou k dispozici možnost tvorby jednoduchých indexů. Typ (algoritmus) indexu nelze v DDL explicitně specifikovat, z podrobné technické dokumentace je patrné, že se jedná o B-Tree indexování. Podporována je konstrukce COMPUTED BY, ve které lze specifikovat výraz, návratová hodnota kterého je použita při výpočtu indexu. Tento 51 Classic, SuperClassic or Superserver?. Firebird: Reference Manual [online] [cit ]. Dostupné z: <http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/qsg25-classic-orsuper.html> 52 Overview of Features: Summary of features. Firebird: Reference Manual [online] [cit ]. Dostupné z: <http://www.firebirdsql.org/manual/ufb-about-features.html> 39

40 způsob indexování je vhodný, pokud dopředu přesně víme, jaké SELECT dotazy budeme nad tabulkou spouštět, a můžeme index pro tyto dotazy optimalizovat. 53 Databáze nenabízí žádnou možnost partitioningu. 54 Dokumentace a komunita Oficiální webové stránky firebirdsql.org poskytují množství dokumentace k databázi, včetně řady minulých releasů. Některé dokumenty jsou dostupné i v jiných jazycích než anglicky, včetně češtiny. Většina dokumentace je však psána v anglickém jazyce. Dokumentace je rozdělena do několika kategorií (Release Notes, Reference Manuals, White Papers a další). Navzdory tomu je členění v jednotlivých kategoriích poněkud nepřehledné, míchají se různé release a různé jazykové verze na jednom místě a ne vždy se podaří najit požadovanou informaci či dokument na první pokus. Celková úroveň hlavních referenčních příruček je vyhovující, místy možná poněkud chybí hlubší technický vhled do problematiky. Tento nedostatek se snaží pokrýt separátní příručka Firebird Internals, která je však vytvářena hlavně extrakcí ze zdrojových kódů a stále není dokončena. 55 Kromě oficiální dokumentace existuje řada dalších informačních zdrojů odkazovaných z hlavního webu. Jedná se o externí webové stránky, blogy a články, věnující se povětšině nějakému konkrétnímu implementačnímu problému s využitím Firebird. Uživatelská a vývojářská komunita je aktivní. Dotaz je možno vznést v některém z mailing listů, jak v anglickém, tak i dalších jazycích, včetně češtiny, nebo na IRC kanálu #firebird na serveru freenote.net. Placený support je možno zakoupit od některé z komerčních společností, zabývajících se poskytováním profesionální podpory pro databázi. 53 INDEX. Firebird 2.5 Language Reference: DDL statements [online] [cit ]. Dostupné z: <http://www.firebirdsql.org/file/documentation/reference_manuals/reference_material/html/langrefupd25-ddlindex.html> 54 Partitioning System (Like Oracle). Firebird Tracker: Firebird Core [online] [cit ]. Dostupné z: <http://tracker.firebirdsql.org/browse/core-777> 55 Introduction. Firebird Internals [online] [cit ]. Dostupné z: <http://www.firebirdsql.org/file/documentation/reference_manuals/reference_material/html/fb-internals.html> 40

41 Administrační rozhraní a utility K Firebirdu neexistuje žádný oficiální grafický administrační nástroj. Uživatelé mají na výběr z řady volně dostupných i placených programů pro správu databáze. Doporučovaným nástrojem je FlameRobin. 56 FlameRobin je dedikovaný multiplatformní nástroj pro správu Firebirdu, distribuovaný pod BSD licencí. Poslední stabilní build nese označení , z čehož lze usuzovat, že se zatím ještě nejedná o zcela vyzrálý produkt. Součástí standardního distribučního balíčku je řada command-line utilit, které umožňují provádět spouštění SQL příkazů, zálohování, administraci uživatelů, výpočet statistik, opravu poškozených databází a rozdělení souborů na více částí (nejedná se o nástroj umožňující partitioning, ale o metodu, jak zacházet se velkými soubory, které vzniknou při zálohování databáze). Celkové hodnocení Firebird je volně dostupná databáze, která zajisté najde řadu uplatnění tam, kde například z nějakých důvodů není možno použít některou z vyzrálejších open source alternativ. Pro použití v datovém skladu však se nejeví jako vhodná. Kritickým bodem je absence partitioningu a pokročilých indexovacích technik. Ke slabinám rovněž patří slabá konformita s SQL standardy nebo absence plnohodnotného administračního nástroje. Rovněž v kvalitě dokumentace prohrává Firebird konkurenci v podobě MySQL nebo PostgreSQL Microsoft SQL Express Edition Podobně jako Oracle, i společnost Microsoft nabízí jednu z edicí svého SQL Serveru pro využití zdarma. Edice se jmenuje Microsoft SQL Server 2012 Express Edition a je dostupná k použití pod vlastní EULA (End User License Agreement) licencí. 57 Licence povoluje použití databáze ve vlastních aplikacích a distribuci v balíčku s vlastními aplikacemi. Zajímavostmi v licenčním ujednání jsou zákaz provozování produktu na jiné platformě než Windows (což 56 Third-party Tools. Firebird Downloads [online] [cit ]. Dostupné z: <http://www.firebirdsql.org/en/third-party-tools/> 57 Licenční ujednání není dostupné online, je součástí instalačního balíčku, zobrazuje se v průběhu instalace a po dokončení instalace je nakopírováno na pevný disk. 41

42 by bylo stejně dosti obtížné) a zákaz publikace jakýchkoli benchmark testů databáze bez předchozího souhlasu společnosti Microsoft. SQL Server 2012 Express je nabízen ke stažení v několika instalačních baličkách, které se liší podle obsahu. Lze vybrat pouze samotný SQL Server, nebo balíček s rozšiřujícími nástroji jako Management Studio, Express Tools a Reporting Services. Všechny balíčky jsou dostupné pouze pro platformu Windows. Technické detaily, HW a SW omezení Edice Express s sebou přináší velká omezení, která jsou velmi podobná omezením obdobného produktu Oracle XE. Databázový stroj využije výpočetní kapacitu maximálně jednoho procesoru, a i to pouze do čtyř jader, a alokuje maximálně jeden gigabajt operační paměti. Objem dat, které můžeme do databáze uložit, je limitován 10 GB. 58 Tato omezení jsou natolik zásadní, že bohužel činí zkoumání dalších vlastností produktu zbytečnými. Celkové hodnocení Microsoft SQL Server 2012 Express Edition je obdobou databáze Oracle Express Edition a nahradí jí pravděpodobně v případech, kdy existuje těsnější integrace na Microsoft prostředí a aplikace napsané na platformě.net. Databáze je výrazně limitována, co se týče využití HW prostředků a množství perzistovaných dat, což vylučuje její nasazení v datovém skladu. 3.3 Reportingový software Reporting patří k poslední logické komponentě celkového uvažovaného BI řešení. Často však již není považován za součást datového skladu samotného, nýbrž za separátní modul, který z Presentation Area datového skladu čerpá data pro naplnění reportů. Cílem této práce není navrhnout plnohodnotnou reportovací/analytickou vrstvu, nebudeme se zde proto zabývat komplexními OLAP a Data Mining nástroji a omezíme se na zkoumání dostupných reportingových technologií, kterých využijeme v praktické ukázce pro demonstraci způsobu prezentace dat konečným uživatelům konzumentům reportů. 58 Features Supported by the Editions of SQL Server Microsoft Technet [online] [cit ]. Dostupné z: <http://technet.microsoft.com/en-us/library/cc aspx> 42

43 Ke zkoumání byly vybrány tři open source reportovací platformy: JasperReports, BIRT a Pentaho Reporting. Kritériem výběru byla především dostupnost grafického vývojového nástroje pro vizuální návrh reportů, možnost exportovat výstupy reportů do různých formátů a dále dostupnost serverové distribuční platformy pro doručení reportů konečným uživatelům. To ze seznamu vyloučilo například JFreeReport, což je pouze knihovna interpretující XML definice reportů, nebo Open Reports a SpagoBI, které slouží pouze jako adaptéry/interpretery pro reporty definované v jiných platformách a nenabízí žádný editor reportů JasperReports JasperReports je SW platforma dodávaná společností Jaspersoft, určená pro vývoj a provozování reportů. Platforma je tvořena řadou produktů. Jaspersoft Studio a ireport Designer jsou grafická návrhová prostředí, která slouží k vývoji reportů. JasperReports Server je Java EE serverová aplikace určená ke spouštění reportů a jejich distribuci konečným uživatelům. Poslední komponentou je JasperReports Library, což je program, který umožňuje spouštět vytvořené reporty mimo Studio, Designer nebo Server. Library je napsána v Javě a lze jí využívat jak samostatně zavoláním z příkazové řádky, tak zabudovat jako knihovnu do vlastní Java nebo Java EE aplikace. Library tvoří jádro celé platformy a je interně použita pro ve všech ostatních aplikacích, včetně Serveru. Všechny výše popsané komponenty jsou dostupné v řadě komerčních a jedné komunitní edici. Komerční edice nabízí oproti komunitní řadu funkcionalit navíc, například možnost exportovat reporty do formátu Flash či možnost vytvářet Ad Hoc reporty. Předmětem našeho zájmu je však Community Edition, licencovaná pod GPL (GNU General Public Licence). 59 Co se týče verzování, platforma se snaží dodržovat jednotné číslování všech produktů, aktuální major/minor verze je 5.0, jednotlivé komponenty se liší pouze číslem buildu, s výjimkou Studia, které nese označení Ke stažení na serveru SourceForge jsou k dispozici jak binární/instalační, tak i zdrojové balíčky. Pro návrh a vytváření definic reportů slouží hned dvě návrhová prostředí: Jaspersoft Studio a ireport Designer. Designer je historicky starší aplikace postavená na jádře produktu NetBeans. Studio je produkt s velmi podobnou funkcionalitou, vybudovaný však na platformě Eclipse jedná se o portování funkcí z ireport Designeru. Existence dvou produktů je však 59 Compare Editions. Jaspersoft Business Intelligence Software [online] [cit ]. Dostupné z: <http://www.jaspersoft.com/editions> 43

44 pouze dočasný stav, společnost plánuje v budoucnu vývoj starší aplikace ireport Designer ukončit a podporovat pouze novější Studio. 60 Poslední zveřejněný release Studia je 2.0.2, což nekoreluje s primárním číslováním celé platformy. Po vyzkoušení obou aplikací vzniká (možná subjektivní) dojem, že Designer je vyzrálejší a stabilní program, kdežto Studio, přesto že nabízí stejné funkcionality, je hůře ovladatelné a méně přehledné, právě možná díky kratší vývojové historii. Technické detaily Životní cyklus Jasper reportů se skládá ze tří fází - návrhu, kompilace a spuštění. Nejprve je report vytvořen (navržen) ve Studiu nebo Designeru. Definice reportu je XML soubor, který obsahuje dotaz nebo skript načítající data z datového zdroje, funkce aplikované na načtená data a grafickou prezentaci reportu. Obě aplikace umožňují detailní návrh podoby reportu, jak po grafické, tak po datové stránce. Kromě tabulkového výčtu hodnot je možné využít i několik typů grafů. Report je možné spustit (vyzkoušet) přímo v návrhovém prostředí. Spuštění reportu znamená jeho naplnění daty ze specifikovaného datového zdroje a vytvoření finální vizuální podoby. Je podporována celá řada výstupních formátů včetně HTML, PDF, MS Excel, XML, Doc nebo Open Office. Paleta využitelných datových zdrojů je velmi široká, kromě klasických relačních databázi jsou podporovány XML a CSV soubory, Hibernate, Mondrian OLAP, JSON, Hadoop, Hive a další. Pro spuštění reportu mimo Studio nebo Designer je potřeba jej zkompilovat do binární podoby a využit Java programu JasperReports Library pro vygenerování výstupu. 61 Zajímavější alternativou je však nasazení reportu na JasperReports Server. Jedná se o webovou aplikaci napsanou v Java EE. Pro nasazení aplikace jsou podporovány aplikační servery JBoss, Tomcat a Glassfish. Server lze využít jako centrální místo pro distribuci reportů uživatelům, včetně přidělení uživatelských rolí k reportům. Rovněž je možné plánovat pravidelné generování reportů a jejich automatické odesílání konzumentům prostřednictvím u. Server funguje zároveň jako repozitář pro definice reportů a umožňuje Studiu i 60 Introduction to Jaspersoft Studio. Jaspersoft community [online] [cit ]. Dostupné z: <http://community.jaspersoft.com/wiki/introduction-jaspersoft-studio> 61 JasperReports Library - Tutorial. Jaspersoft community [online] [cit ]. Dostupné z: <http://community.jaspersoft.com/wiki/jasperreports-library-tutorial> 44

45 Designeru ukládat definice reportů centrálně. 62 Nasazení reportu na Server je možné buď přímo z návrhové aplikace, či lze nejprve report exportovat do souboru a následně ručně importovat na server skrze webové rozhraní Serveru. Dokumentace, komunita Hlavní dokumentace k platformě je tvořena sadou PDF souborů popisujících jednotlivé produkty. Část dokumentů je přístupná až po bezplatné registraci. Mezi dokumenty zcela chybí příručka ke Studiu, pravděpodobně z toho důvodu, že aplikace je mladá a dokumentace zatím ještě nebyla vytvořena. Pro většinu funkcionalit ale postačí velmi podrobný manuál k ireport Designeru. Kvalita dokumentů je dobrá, nicméně i online dokumentace by byla určitě plusem, například kvůli snadnějšímu hledání z Googlu. Kromě PDF příruček je uživatelům k dispozici volně přístupná Community Wiki, která obsahuje přínosné Getting Started, FAQ a Tutorial články pro počáteční seznámení se s produkty. Kromě toho si můžeme přečíst i odbornější články, pokrývající pokročilejší témata ohledně konfiguračních nastavení, řešení specifických problémů aj. Orientace ve struktuře Wiki je zpočátku trochu nepřehledná, ale po krátké chvíli je možno si na ní zvyknout. Podporu komunity zprostředkovává Answers sekce, kde je možné položit jakýkoli dotaz týkající se některého z produktů a čekat na odpověď některého z vývojářů či jiných uživatelů. Zběžné projití seznamu otázek však ukazuje, že většina zůstává alespoň týden nezodpovězena, popřípadě není zodpovězena vůbec. Celkové hodnocení JasperReports Community je solidní open source platforma pro tvorbu rozlišných typů reportů z rozmanité škály zdrojů dat. Mezi výhody patří přítomnost report serveru a jeho snadná integrace s návrhovou aplikací (Studiem nebo Designerem). Přínosem je též možnost zabudovat Reports Library do svých vlastních aplikací, například do již existujících manažerských portálů. Nevýhodou je souběžná existence dvou návrhových prostředí - Studia a Designeru - z nichž novější Studio není zatím plně dokončené a není dostatečně zdokumentováno. Oficiální dokumentace a Community Wiki poskytují pro vývojáře a administrátory dostatek informací, 62 Getting Started with JasperReports Server. Jaspersoft community [online] [cit ]. Dostupné z: <http://community.jaspersoft.com/wiki/getting-started-jasperreports-server> 45

46 na zodpovězení otázek členy komunity se však nelze velmi spoléhat. I přes tyto menší nedostatky však pro účely malých a středních firem komunitní edice JasperReports postačuje BIRT BIRT (Business Intelligence and Reporting Tools) je open source reportingový systém. Systém se skládá ze dvou komponent: grafického návrhového prostředí založeného na platformě Eclipse (Designer) a dále z programu (Engine), který umožňuje vytvořené reporty spouštět. Engine je možné využívat samostatně nebo jej zabudovat do desktop nebo serverové Java aplikace. Jak designer, tak engine jsou licencovány pod Eclipse Public License v1. Projekt BIRT byl založen společností Actuate Corporation ve spolupráci s Eclipse Foundation v roce Společnost Actuate nabízí rovněž i řadu komerčních produktů založených na platformě BIRT a rozšiřujících jí o nové funkcionality. 64 Technické detaily BIRT designer je grafické návrhové prostředí určené pro vyvářeni definic reportů. Designer je postaven na platformě Eclipse, s tím, že přidává do Eclipse nové funkcionality pro vývoj reportů a ponechává přitom standardní sadu funkcionalit, čímž se liší od jiných grafických nástrojů (Japsersoft Studio, Talend Open Studio), které původní množinu funkcionalit redukují či odstraňují úplně. BIRT Designer tedy funguje jako rozšíření, které je možné přidat i do již existující instalace Eclipse. BIRT reporty se skládají z datového zdroje, datových transformací, business logiky a grafické prezentace. 65 Z datových zdrojů jsou podporovány relační databáze skrze sadu předdefinovaných i generická JDBC spojení, dále soubory MS Excel, CSV, XML, big data Cassanda a Hive a nakonec volání webové služby. Ze zdrojových dat vytváří uživatel datasety, které jsou základem pro naplnění reportu daty. Tvorba datasetu závisí na typu zdroje dat, 63 Eclipse BIRT: Ride the Open Source Wave of the Future. Actuate, The BIRT Company [online] [cit ]. Dostupné z: <http://www.actuate.com/products/eclipse-birt/summary/> 64 ActuateOne Products for Eclipse BIRT. Eclipse And Acutate BIRT Products [online] [cit ]. Dostupné z: <http://www.birt-exchange.com/be/products/> 65 The Anatomy of a Report. BIRT Overview [online] [cit ]. Dostupné z: <http://www.eclipse.org/birt/phoenix/intro/> 46

47 v případě relační databáze se jedná napříkad o vytvoření SQL dotazu namapování získaných sloupců do položek datasetu. Datasety mohou být dále dle potřeby rozšířeny o nové dopočítané sloupce, jejichž hodnotu kalkuluje BIRT, případně podrobeny dalším potřebným agregačním výpočtům a transformacím. Pro definice transformací a vyhodnocování výrazů v celém BIRTu je použit jazyk JavaScript. Datasety jsou vloženy do grafického návrhu reportu. Návrh se vytváří z tabulek, textových polí, seznamů a jiných elementů, podobně, jako se například vytváří webové stránky v HTML. Do reportu je možné vložit i graf. Lze vybrat z několika druhů grafů (sloupcový, koláčový, kombinovaný a další). Pro graf definujeme zdrojová data (která vychází z data setů definovaných v předchozím kroku), potřebné agregační výpočty, vzhled a další nastavení. Průvodce pro vytvoření grafu lze přirovnat k podobnému průvodci z aplikace MS Excel. Finální výstup spuštěného reportu je možno získat v mnoha podobách, mimo jiné HTML, MS Word, Excel, PDF a PPT, Open Office ODP, ODS a ODT, PDF či Postskript. Samotná definice každého reportu je jediný XML soubor, ve kterém jsou zapsány všechny potřebné prvky datové zdroje, SQL dotazy, grafická prezentace, aktivní prvky aj. Designer navíc umožňuje použití tzv. libraries, do kterých je možné např. datové zdroje, SQL dotazy nebo grafické šablony externalizovat a následně sdílet mezi mnoha reporty, či dokonce jinými vývojáři. Pokud chceme report spustit vně designeru, můžeme využít Java aplikace Report Engine. Engine se pouští z příkazové řádky zavoláním s příslušnými parametry, například cestou k souboru s definicí reportu. Primárním účelem Engine je ale jeho zabudování do vlastních aplikací, už desktopových nebo serverových. Součástí Engine jsou Java EE třídy, Servlety a JSP tagy pro snadnější integraci do webové aplikace. Standardní balíček obsahuje také již připravenou malou webovou aplikaci, jež slouží k zobrazování reportů. Aplikace však nabízí pouze základní funkcionalitu zobrazování a exportu a nepodporuje například zabezpečení, uživatelské role či automatické spouštění reportů a jejich distribuci. Dokumentace, komunita BIRT je velmi dobře zdokumentován. Oficiální dokumentace je přehledně sdružena na oficiálních webových stránkách a obsahuje všechny potřebné informace spojené s užíváním, návrhem reportů a vývojem vlastních rozšíření nad platformou. K dispozici jsou kromě tutoriálů 47

48 a Getting Started článků podrobné reference jak pro návrh reportů v designeru, tak Java API všech tříd ze zdrojového kódu. Je však poněkud překvapivé, že řada dokumentů je datována rokem 2004 nebo 2005, kdy projekt teprve začínal. BIRT disponuje širokou a aktivní komunitou. Jako základna slouží webové stránky birt-exchange.com podporované společností Actuate. Na těchto stránkách najdeme rovněž sekci tutoriálů, a dále velmi aktivní fórum s tisíci témat a příspěvků, pokrývajících široké spektrum témat. Dále tu najdeme i sekci DevShare, kde uživatelé nabízí svoje vlastní rozšíření platformy, a také tipy a triky pro užití i vývoj. Celkové hodnocení BIRT nabízí dobrou platformu pro vývoj reportů. Designer je přehledně uspořádán, je dostatečně intuitivní a snadno ovladatelný. Celá platforma je dobře dokumentována a podporována aktivní komunitou. Ke slabým stránkám z našeho úhlu pohledu je však absence plnohodnotného serveru pro distribuci reportů uživatelům. Filozofií BIRTu je nabídnout především kvalitní designer a řešení pro distribuci a konzumaci reportů nechat vývojáře implementovat podle konkrétních potřeb projektu. Nechceme-li tedy investovat dodatečné prostředky do vývoje, není pro nás BIRT správnou volbou Pentaho Reporting Pentaho Reporting Community Edition je open source reportingová platforma distribuovaná společností Pentaho Corporation pod licencí GPL (General Public License). 66 Platforma zahrnuje komponenty Pentaho Report Designer, Pentaho Reporting Engine a Pentaho BI Server. Poslední stabilní verze pod označením byla zveřejněna v listopadu roku Všechny komponenty jsou implementovány v jazyce Java (v případě serveru Java EE), proto je možné provozovat je v jakémkoli operačním systému, kde je Java nainstalována. 66 Pentaho BI Platform License FAQ. Pentaho Open Source Business Intelligence [online] [cit ]. Dostupné z: <http://community.pentaho.com/faq/platform_licensing.php> 48

49 Technické detaily Pentaho Report Designer je desktopová aplikace sloužící k návrhu definic reportů. Autoři se rozhodli nevyužít žádné hotové Rich Client platformy (jako například Eclipse nebo NetBeans) a napsali celé řešení na zelené louce, což se bohužel negativně podepsalo na grafickém vzhledu a ovladatelnosti programu. O funkcionality ovšem program ochuzen není a nabízí stejnou paletu nástrojů jako konkurenční řešení (například JasperReports nebo BIRT, popisované dříve v této kapitole). Definice reportu se opět skládá z datového zdroje, jednoho či více datasetů, jež jsou prezentovány v navrženém grafickém rozložení, a transformací na daty, pokud jsou potřeba. Report akceptuje vstupní parametry, pomocí kterých jej lze učinit interaktivním uživatel tak například může změnit období, pro které jsou data vypočtena. Jako datové zdroje slouží JDBC spojení pro relační databáze a dále Pentaho Data Integration, Pentaho Analysis (Mondrian), XLS, CSV a XML soubory a volání Java třídy. Nad načtenými daty lze spouštět uživatelem definované dodatečné skripty, na výběr jsou jazyky Groovy nebo ECMAScript (JavaScript). Tělo reportu se skládá z řady vodorovných pásem (hlavička stránky, reportu, patička a další), do kterých myší přetahujeme proměnné a sloupce z datasetů. Iterace přes řádky datasetu pak způsobí opakované vypsání určených pásem do výstupu. Do reportu je možno vložit i jeden či více grafů. Jako množina dat pro grafy opět složí uživatelem definované datasety. Pro práci s daty a psaní výrazů jsou uživateli k dispozici zabudované utility funkce. Výstup reportu je možný do formátu PDF, MS Excel, HTML, Text, RTF, XML a CSV. 67 Definice reportu navrženého v Designeru je představována binárním.prpt souborem v proprietárním formátu. Výstup reportu je možno vygenerovat s využitím komponenty Reporting Engine. Engine slouží zároveň jako sada knihoven pro zabudování Pentaho Reportingu jak do desktopových, tak do serverových aplikací. Platforma také nabízí již připravený plnohodnotný Pentaho BI Server určený k nasazování a spouštění reportů. Integrace se serverem je zabudována již do Designeru a umožňuje snadnou publikaci reportu na Server. Server umožňuje definovat pro reporty uživatelská práva. Je podporována i integrace s LDAP serverem pro získání uživatelských oprávnění z centrálního místa ve firmě Pentaho Reporting. Pentaho Reporting Project [online] [cit ]. Dostupné z: <http://reporting.pentaho.com/> 68 Changing to the LDAP Security DAO. Pentaho Wiki [online] [cit ]. Dostupné z: <http://wiki.pentaho.com/display/serverdoc2x/changing+to+the+ldap+security+dao> 49

50 Dokumentace, komunita Dokumentace, která je sdílená pro všechny produkty platformy Pentaho, byla již rozebíraná v kapitole (Pentaho Data Integration). Pro dokumentaci pro Pentaho Reporting v zásadě platí ty samé výtky popsané v uváděné kapitole. Problematická je především Wiki, jejíž část věnující se Reporting platformě je dosti nekvalitní. Informace ve Wiki jsou bohužel často roztroušené, nepřehledné, chybí části článků a přítomny jsou dokonce kategorie s názvem Seriously Outdated Texts. Celkově Wiki působí chaoticky nedůvěryhodně, a přesto, že její účelem je poskytovat jeden z hlavních zdrojů informace pro komunitní edici Pentaho Reportingu, hledání v ní je bohužel nesnadné a není vůbec zaručeno, že uživatel dostupnou informaci nalezne. Celkové hodnocení Ačkoli, co se týče funkcionalit, nezaostává Pentaho za jinými obdobnými platformami, od jejího použití odrazuje poměrně nepřehledné ovládání, neergonomické rozhraní Designeru a málo kvalitní a roztroušená dokumentace. Výhodou je naopak snadná integrace s jinými produkty Pentaho, včetně Pentaho Data Integration a Pentaho Analytics. Použití Pentaho Reportingu by tedy mělo svoje odůvodnění v případě, že pro Business Intelligence v našem podniku již jiné Pentaho produkty využíváme. 3.4 Závěr teoretické části Ve teoretické části práce jsme se podrobně věnovali průzkumu jednotlivých technologií pro implementaci tří základních komponent datového skladu ETL nástroje, relační databáze a reportovací platformy. Pro každou z kategorií jsem nakonec vybral jeden konkrétní produkt, který se pro využití v požadovaném řešení hodí svými vlastnostmi nejvíce. Jako relační databáze byl zvolen produkt MySQL 5.6 Community. Důvodem pro výběr této databáze je její vyzrálost, mnohačetná referenční nasazení, dobrá výkonnost, možnost využití různých optimalizačních technik, absence umělých HW a SW omezení a vynikající dokumentace, spolu s rozsáhlou uživatelskou komunitou. Téměř rovnocennou alternativu však nabízí i produkt PostgreSQL, rovněž velmi kvalitní software. MySQL bylo nakonec vybráno z důvodu možnosti volby storage engine pro různé typy tabulek i schémat v rámci jedné 50

51 databázové instance. Záměrem je především využití MyISAM tabulek pro nenormalizované datamarty, což má zrychlit SELECT dotazy nad úložištěm. Další zkoumané produkty Oracle XE, Microsoft SQL Express Edition a Firebird se pro využití v datovém skladu nehodí ať už z důvodů značných HW a SW omezení nebo nedostatečných funkcionalit a výkonnosti. Jako ETL nástroj bylo vybráno Talend Open Studio for Data Integration. Tento nástroj nabízí oproti ostatním produktům nejširší paletu funkcionalit při vytváření transformací, podporuje verzování jobů a export hotových skriptů do několika formátů včetně samostatně spustitelných balíčků, což nakonec převážilo nedostatek v podobě absence serverové části pro nasazení a spouštění transformací. Software disponuje dobrou dokumentací, je snadno ovladatelný, přehledný a dostatečně intuitivní. Druhou platformou, která by rovněž přicházela v úvahu, je Pentaho Data Integration, která disponuje i malým serverem Carte pro běh transformací, Spoon designer je však o něco hůře ovladatelný a ergonomický, velkým mínusem je dále zhoršená kvalita dokumentace. Jako reportingová platforma v námi uvažovaném řešení bude využita sada aplikací JasperReports. Tato platforma byla zvolena díky kvalitnímu a podrobně zdokumentovanému návrháři ireport Designer a plnohodnotnému JasperReports Serveru, umožňujícímu nasazení a distribuci připravených reportů. Pentaho Reporting, ač nabízí velmi podobnou škálu funkcionalit včetně serverové části, zaostává opět v pohodlí práce a dokumentační části. Dalším případným řešením by bylo využití platformy BIRT, což by však vyžádalo dodatečný vývoj pro customizaci nabízeného velmi jednoduchého serveru, popřípadě napsání svého vlastního serverového řešení. V následující čtvrté kapitole je představena ukázková implementace datového skladu s využitím těchto vybraných produktů. 51

52 4. Praktická část implementace ukázkového datového skladu Praktická část této práce přináší ukázkovou implementaci datového skladu s využitím komponent, pro které jsme se rozhodli ve druhé kapitole tedy databáze MySQL, Talend Open Studio for Data Integration a JasperReports. Ukázkové řešení postavíme na reálném příkladu z praxe. Výsledkem bude fungující datový sklad, včetně ETL skriptů pro jeho naplnění daty ze zdrojové databáze a příkladů reportů určených pro konečné uživatele. Plně nakonfigurované řešení je součástí přílohy k práci paměťové karty, která obsahuje operační systém Windows virtualizovaný v prostředí VMware se všemi implementovanými komponentami. 4.1 Ukázkové řešení popis problematiky Fungování datového skladu budeme ilustrovat na příkladu fiktivní společnosti Embex s.r.o, která podniká v oboru strojního vyšívání. Společnost přijímá objednávky od zákazníků firem i fyzických osob a provádí výšivku na různé druhy zboží i materiálů (trička, košile, bundy, čepice, ubrusy, ručníky aj.). Vyšití provádí automatické průmyslové stroje, jež je nutné naprogramovat to znamená, že před samotným vyšitím je potřeba na základě grafických podkladů dodaných zákazníkem vytvořit vyšívací program, který řídí práci stroje. Vyrobení programu je zákazníkovi účtováno jako jedna z položek objednávky. Společnosti eviduje zákazníky a objednávky v informačním systému Clios (Clients and Orders Information Systém). Informační systém ukládá data do relační databáze a nenabízí žádné reportingové funkcionality. Management společnosti má zájem o vytvoření základního reportingu, aby získal statistiky o objednávkách a mohl lépe přizpůsobit budoucí firemní strategii. Řešením je vytvořit jednoduchý datový sklad a postavit nad ním reportingovou vrstvu tak, aby bylo možno snadno v budoucnu vytvářet i nové typy reportů. Informační zdroje dodávající data do datového skladu je možno v budoucnu rozšířit například i o účetní systém, což umožní kombinovat data z vícero zdrojů a reportovat například zpožděné placení faktur k objednávkám, případně jiné reporty dle potřeby. 52

53 4.2 Ukázkové řešení implementace Architektura řešení Následující obrázek ukazuje architekturu řešení: Obrázek 2 - Architektura řešení Talend Open Studio MySQL Community 5.5 Apache Tomcat 7.0 Clios IS generuje Clios JasperReports Server vytváří ETL joby DWH - Data Staging reporty spouští spouští DWH - Datamart generuje Systémový plánováč úloh Jaspersoft DB Definice reportů Jaspersoft ireport Designer tok dat Řešení vychází z teoretických základů popsaných v druhé kapitole a bude obsahovat čtyři databázové instance. První z nich je operační databáze informačního systému Clios. 69 V této databázi jsou uložena operační data, která se každý den mění podle toho, jak v systému vznikají nové objednávky. Další dvě DB instance jsou součástí datového skladu. Data Staging bude obsahovat tabulky pro dočasné uložení dat pro účely jejich transformace a provádění výpočtů nad nimi. Data Presentation bude představováno jedním datamartem, v němž se budou nacházet tabulky dimenzí a faktů, ze kterých bude čerpat data reportingový mechanismus. 69 Poznámka samotný informační systém Clios není součástí nakonfigurovaného ukázkového řešení. Řešení obsahuje pouze databázi systému se vzorkem anonymizovaných dat 53

54 Poslední databáze bude využívaná JasperReports Serverem. Server do ní ukládá data nutná pro svůj běh jedná se o metadata (definice datových zdrojů a reportů) a dále technická a konfigurační data, včetně uživatelů a přístupových rolí k jednotlivým reportům. Z důvodu zjednodušení ukázkové konfigurace, jež je součástí této práce, budou všechny instance reprezentovány jedinou databází MySQL, v níž vytvoříme čtyři separátní schémata. V reálné praxi je velmi pravděpodobné, že všechny instance budou odděleny, a to i jak na úrovni instanční, tak i fyzické DB pro datový sklad a reporting pravděpodobně poběží na jiném serveru než provozní DB. Veškeré ETL skripty pro přesun dat mezi databázemi a jejich konverzi budou implementovány v Talend Open Studio for Data Integration. Skripty (v terminologii Talendu joby ) budou exportovány do samostatně spustitelné podoby (podrobněji viz kapitola 3.1.4). Pro pravidelné automatické spouštění jobů bude využit systémový Plánovač úloh, nakonfigurovaný tak, aby spustil ETL joby každý den v 5:00 ráno. Reporting bude implementován na platformě JasperReports. Definice reportů budou vytvořeny v návrhovém prostředí ireport Designer a nasazeny na JasperReports Server. Data pro naplnění reportů budou čerpána z datamartu datového skladu. Uživatelé budou přistupovat k reportům skrze webové rozhraní Serveru za pomocí webového prohlížeče. Konfiguraci všech komponent si nyní popíšeme podrobněji Datový sklad ETL a databáze Provozní databáze informačního systému Clios Databáze Cliosu obsahuje veškerá data nutná pro chod aplikace, nicméně z pohledu zdroje dat pro reporting nás zajímají především tabulky s daty o zákaznicích, objednávkách a položkách objednávek. Následující schéma ukazuje tyto tabulky a některé jejich sloupce (výčet je neúplný, nepodstatné a technické sloupce jsou vynechány): 54

55 Obrázek 3 - Clios, databázové schéma CUSTOMERS CID: INT <<PK>> FIRST_NAME: VARCHAR LAST_NAME: VARCHAR COMPANY_NAME: VARCHAR ADDRESS: VARCHAR ORDERS ORD_ID: INT <<PK>> CID: INT <<FK>> NOTE: VARCHAR ORDER_NAME: VARCHAR METADATA: VARCHAR CREATION_DATE: DATETIME ORDER_ITEMS ITEM_ID: INT <<PK>> ORD_ID: INT <<FK>> DESCRIPTION: VARCHAR ITEM_DATA: BLOB Tabulka ORDERS obsahuje data o objednávkách, cizím klíčem odkazuje na tabulku CUSTOMERS. Tabulka ORDER_ITEMS obsahuje popis položek objednávek v XML formátu (sloupec ITEM_DATA: BLOB), opět je využit cizí klíč pro odkaz na řádek s příslušnou objednávkou. Jak je zřejmé z diagramu, data v tabulkách jsou normalizována, obsahují údaje za dlouhé časové období a data jsou formátovaná tak, aby vyhovovala potřebám informačního systému (například XML reprezentace položky objednávky). Z pohledu reportingu nás ale budou zajímat například agregované údaje o typech zákazníků nebo o produktů, jež je objednáván nejčastěji. Zdrojová data musíme tedy transformovat do podoby vhodné k dotazům tohoto typu. Data Staging Prvním krokem bude načtení zdrojových dat z provozní databáze Cliosu do Data Staging databáze. Načtení bude probíhat každý den (například brzo ráno) a bude prováděno inkrementálně vždy se načtou jen nové objednávky vzniklé předešlý den. Tím zajistíme, že vždy operujeme pouze s malou množinou dat, nikoli s veškerými provozními daty, a navíc odsuneme výpočty z provozního serveru do dedikované Staging databáze. Ze zdrojových dat vezmeme nikoli všechny, ale jen potřebné sloupce, a již v tomto kroku nad nimi provedeme některé transformace: z ORDER_ITEMS.ITEM_DATA XML řetězce vyparsujeme typ položky objednávky a materiál, na který se bude vyšívat, a z přítomnosti názvu firmy v tabulce zákazníků určíme, zda se jedná o fyzickou osobu nebo firmu. Data uložíme do tří tabulek, které jsou znázorněny na následujícím diagramu: 55

56 Obrázek 4 - Data Staging tabulky datového skladu DWH_STAGING_CUSTOMERS CID: INT <<PK>> CUSTOMER_TYPE: VARCHAR ADDRESS: VARCHAR DWH_STAGING_ORDERS ORD_ID: INT <<PK>> CID: INT <<FK>> CREATION_DATE: DATETIME DWH_STAGING_ORDER_ITEMS ITEM_ID: INT <<PK>> ORD_ID: INT <<FK>> ITEM_TYPE: VARCHAR ITEM_MATERIAL: VARCHAR ITEM_PRICE: DOUBLE Načtení a transformaci má na starosti job LoadToStaging implementovaný v Talend Open Studio: Obrázek 5 - Job - LoadToStaging Job provádí čtení ze zdrojových tabulek, zápis do cílových Staging tabulek, parsování XML a spouští custom Java kód, jež obsahuje logiku nutnou pro určení typu zákazníka, typu položky objednávky a materiálu. Oranžové šipky označují tok dat, zelené logickou posloupnost událostí. 56

57 Datamart Poslední databází, kam data přitečou, je Data Presentation Area. Pro účely naší ukázky bude tato databáze obsahovat jeden jednoduchý datamart. Data budou uspořádaná v dimenzionálním schématu v tabulkách dimenzí a tabulkách faktů: Obrázek 6 - Tabulky v DWH datamartu DIM_DATE DIM_DATE_ID: INT <<PK>> DATE: DATETIME <<UNIQUE>> YEAR: INT MONTH: INT DAY: INT DIM_MATERIAL_TYPE DIM_MATERIAL_TYPE_ID: INT <<PK>> MATERIAL_TYPE: VARCHAR <<UNIQUE>> FACT_ORDER ROW_ID: LONG <<PK>> CUSTOMER_TYPE: INT <<FK>> DATE: INT <<FK>> ITEMS_COUNT: INT TOTAL_PRICE: DOUBLE FACT_ORDER_ITEM ROW_ID: LONG <<PK>> CUSTOMER_TYPE: INT <<FK>> PRODUCT_TYPE: INT <<FK>> MATERIAL_TYPE: INT <<FK>> DATE: INT <<FK>> PRICE: DOUBLE DIM_CUSTOMER_TYPE DIM_CUSTOMER_TYPE_ID: INT <<PK>> CUSTOMER_TYPE: VARCHAR <<UNIQUE>> DIM_PRODUCT_TYPE DIM_PRODUCT_TYPE_ID: INT <<PK>> PRODUCT_TYPE: VARCHAR <<UNIQUE>> Na schématu vidíme čtyři dimenze: sdílené DIM_DATE a DIM_CUSTOMER_TYPE a nesdílené DIM_MATERIAL_TYPE a DIM_PRODUCT TYPE. Dimenze nesou informace o datu vytvoření objednávky, typu objednávajícího zákazníka, typu položky a typu materiálu, na nějž bude nanesena výšivka. Každá z tabulek obsahuje kromě umělého (surrogate) primárního klíče ještě i unikátní klíč se samotnou hodnotou, což při aktualizaci tabulek dimenzí při denním loadu zabraňuje vzniku duplicit. Faktové tabulky jsou dvě: FACT_ORDER a FACT_ORDER_ITEM, odráží jednotlivé objednávky a jejich položky. Tabulka FACT_ORDER obsahuje navíc agregované údaje o celkovém počtu položek v objednávce a jejích celkové ceně. Pro tabulky faktů využijeme MySQL engine MyISAM, který vykazuje 57

58 větší rychlost při čtení velkých objemů dat než výchozí InnoDB (podrobněji viz kapitola 3.2.1). Načtení dat do datamartu se skládá ze dvou kroků. Nejprve je potřeba aktualizovat tabulky dimenzí (vždy nové datum, případně nový typ materiálu či zákazníka) a teprve potom vložit nové záznamy do tabulek faktů. Data pro obě operace se získávají z Data Staging Area, kde je již máme částečně přizpůsobená tak, aby operace byly snadnější. Operace jsou opět implementovány jako joby v Talend Open Studiu UpdateDatamartDimensions pro aktualizaci dimenzí a dva joby pro plnění tabulek faktů, LoadFactOrder a LoadFactOrderItems. Obrázek 7 - Job UpdateDatamartDimensions V prvním kroku je z tabulky objednávek pomocí SQL operátoru DISTINCT načten seznam unikátních datumů vzniku objednávek (v případě denního každodenního běhu jobu byl měl result set obsahovat pouze jedno včerejší datum, nicméně nic nebrání pustit všechny joby se vstupními parametry tak, aby spočítaly data za delší časové období). Datum je převedeno 58

59 na řetězec a rozděleno zvlášť na den, měsíc a rok a takto uloženo do tabulky dimenze DIM_DATE. Insert operace je nastavena tak, aby ignorovala případné duplicity. Dále, opět pomocí DISTINCT, načítáme typy zákazníků a obdobným způsobem aktualizujeme tabulku DIM_CUSTOMER_TYPE. Nakonec z tabulky s položkami objednávek načítáme informace o typech položek a typech materiálu a opět aktualizujeme příslušné tabulky dimenzí. Teď, když jsou tabulky dimenzí aktualizované, přikročíme k naplnění tabulek faktů. Obrázek 8 - Job LoadFactOrder Načtení záznamů do faktové tabulky objednávek probíhá následovně. Nejprve se spojí údaje o objednávkách a jejich položkách, za účelem výpočtu agregovaných údajů celkové ceny objednávky a počtu položek v každé objednávce. Tyto údaje jsou spočteny ve speciální agregační komponentě pojmenované count stats. K výsledku připojíme informaci o typu zákazníka, abychom tuto informaci mohli z tabulky faktů referencovat. Nový řádek do tabulky FACT_ORDER je nakonec spočten v mapovací komponentě, která dohledá hodnoty klíčů v příslušných tabulkách dimenzí. Vytvoření řádku do tabulky FACT_ORDER_ITEM probíhá velmi podobně, jen s tím rozdílem, že se neprovádí žádné agregované výpočty a klíče se dohledávají ze čtyř tabulek dimenzí, nikoli ze dvou: 59

60 Obrázek 9 - Job LoadFactOrderItems Na závěr vytvoříme jeden orchestrační job, jehož úkolem bude spouštět dílčí joby ve správném pořadí a se správným kontextem. V našem případě kontext slouží k předání jobům dvou parametrů datestart a dateend vymezujících období, pro které celý výpočet provádíme. Parametry jsou vhodné ve chvíli, kdy úlohu spouštíme ručně (například kvůli předchozímu výpadku systému) a chceme přepočítat období delší než jeden den. Do jobu navíc přidáme komponentu notifikující administrátora při selhání některého z dílčích jobů: 60

61 Obrázek 10 - DailyLoadMasterJob Export jobů a vytvoření pravidelné systémové úlohy Navržené joby nejprve exportujeme z Talend Open Studia do samostatně spustitelné podoby. Ta představuje balíček Java.jar knihoven, konfiguračních souborů a dále vygenerovaný skript pro spuštění (.bat v případě Windows,.sh v případě Linux/Unix) celého jobu. Vzhledem k tomu, že jsme vytvořili jeden master job, který volá dílčí joby, postačí nám export pouze tohoto jobu. Talend automaticky zahrnuje všechny dílčí joby do exportovaného balíčku. Talend nenabízí v komunitní edici žádný server, na kterém by bylo možné joby spouštět a plánovat, musíme proto k pravidelnému spouštění využít prostředků operačního systému. V OS Windows slouží k tomuto účelu systémová komponenta Naplánované úlohy, v Linux a Unix systémech nástroj Cron. Použití je v obou případech stejné, nástroj nakonfigurujeme tak, 61

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

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

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

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

Integrace podnikových Open Source aplikací v praxi. RNDr. Petr Novák, Open Source Conference Praha, 19. duben 2011

Integrace podnikových Open Source aplikací v praxi. RNDr. Petr Novák, Open Source Conference Praha, 19. duben 2011 Integrace podnikových Open Source aplikací v praxi RNDr. Petr Novák, Open Source Conference Praha, 19. duben 2011 Partneři řešení Business Systems, a.s. www.bsys.cz MULTIMAGE, s.r.o. www.multimageweb.com

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

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

O Apache Derby detailněji. Hynek Mlnařík

O Apache Derby detailněji. Hynek Mlnařík O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila

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

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD 1. Příprava k instalaci SQL Serveru 2. Instalace SQL Serveru 3. Základní konfigurace SQL Serveru Vychází ze Sybase SQL Server Verze Rok Název Codename 7.0 1998

Více

Novell Identity Management. Jaromír Látal Datron, a.s.

Novell Identity Management. Jaromír Látal Datron, a.s. Novell Identity Management Jaromír Látal Datron, a.s. 19.4.2012 1 Identity management základní vlastnosti Jednoduché a rychlé poskytování uživatelských účtů Samoobslužné funkce pro uživatele Snadný návrh

Více

Srovnání SQL serverů. Škálovatelnost a výkon. Express Workgroup Standard Enterprise Poznámky. Počet CPU 1 2 4 bez limitu Obsahuje podporu

Srovnání SQL serverů. Škálovatelnost a výkon. Express Workgroup Standard Enterprise Poznámky. Počet CPU 1 2 4 bez limitu Obsahuje podporu Srovnání SQL serverů Škálovatelnost a výkon Počet CPU 1 2 4 bez limitu Obsahuje podporu RAM 1 GB 3 GB bez limitu bez limitu vícejádrových (multicore) procesorů 64-bit podpora Windows on Windows (WOW) WOW

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

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

QAD Business Intelligence

QAD Business Intelligence QAD Business Intelligence Vladimír Bartoš, Pavel Němec Konzultanti 13.6.2012 Komponenty QAD BI Analytické tabule pro podporu rozhodování Spolupráce uživatelů nad analyzovanými daty Reporty Generátor analytických

Více

Microsoft Access tvorba databáze jednoduše

Microsoft Access tvorba databáze jednoduše Microsoft Access tvorba databáze jednoduše Časový rozsah: 2 dny (9:00-16:00) Cena: 3300 Kč + DPH Úvod do relačních databází. Funkce databázových objektů Microsoft Access. Návrh tabulek, definice základních

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

BIG DATA je oveľa viac ako Hadoop. Martin Pavlík

BIG DATA je oveľa viac ako Hadoop. Martin Pavlík BIG DATA je oveľa viac ako Hadoop Martin Pavlík Analýza všech dostupných dat? Big data =? = Buzzword? = Hadoop? Hadoop Jen ke zpracování nestrukturovaných dat? Mentální posun něco za něco 2 Big data =

Více

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

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) Marketingová komunikace Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) 2. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Minulé soustředění úvod

Více

Statistica, kdo je kdo?

Statistica, kdo je kdo? Statistica, kdo je kdo? Newsletter Statistica ACADEMY Téma: Typy instalací Typ článku: Teorie Někteří z vás používají univerzitní licence, někteří síťové, podnikové atd. V tomto článku Vám představíme,

Více

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY JAVA - ZÁKLADY PROGRAMOVACÍHO JAZYKA ZÁKLADY PROGRAMOVACÍHO JAZYKA Komplexní školení zaměřené na získání znalostí uplatnitelných při vývoji aplikací v programovacím jazyce JAVA. Účastník získá ucelené

Více

Stěhování aplikací. Michal Tomek, Sales Manager

Stěhování aplikací. Michal Tomek, Sales Manager Stěhování aplikací Michal Tomek, Sales Manager Agenda Co míníme stěhováním Typické situace Role InterSystems Příležitosti Migrace Stěhování informačního systému Nová budova. HW a OS Získáme nové vlastnosti

Více

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných

Více

Nové jazykové brány do Caché. Daniel Kutáč

Nové jazykové brány do Caché. Daniel Kutáč Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM

Více

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation TSM for Virtual Environments Data Protection for VMware v6.3 Ondřej Bláha CEE+R Tivoli Storage Team Leader TSM architektura 2012 IBM Corporation Tradiční zálohování a obnova dat ze strany virtuálního stroje

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

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

Příručka pro nasazení a správu výukového systému edu-learning

Příručka pro nasazení a správu výukového systému edu-learning Příručka pro nasazení a správu výukového systému edu-learning Obsah: Edu-learning pro firmy a organizace... 2 Varianty nasazení... 2 A. Systém umístěný v lokální síti zákazníka... 3 B. Systém umístěný

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

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již

Více

Prezentace CRMplus. Téma: CRMplus jako nástroj pro kontrolu a vyhodnocení rozpracovanosti dílů na zakázkách

Prezentace CRMplus. Téma: CRMplus jako nástroj pro kontrolu a vyhodnocení rozpracovanosti dílů na zakázkách Prezentace CRMplus Téma: CRMplus jako nástroj pro kontrolu a vyhodnocení rozpracovanosti dílů na zakázkách Obsah prezentace Představení společnosti Technodat Develop, s.r.o. CRMplus základní charakteristika

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

PŘÍLOHA C Požadavky na Dokumentaci

PŘÍLOHA C Požadavky na Dokumentaci PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé

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

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka. MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) IT SYSTEMS a.s. Mnoho společností má implementovány aplikace, které byly vyvíjeny (případně

Více

Compatibility List. GORDIC spol. s r. o. Verze 3.60.5 8.4.2009

Compatibility List. GORDIC spol. s r. o. Verze 3.60.5 8.4.2009 Compatibility List Verze 3.60.5 8.4.2009 GORDIC spol. s r. o. Copyright 1993-2009 1 Obsah Obsah 1 2 3 4 5 6 7 8 9 3.1 3.2 Úvodní informace Podporované databázové systémy Klientské prostředí Tlustý klient...

Více

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1 IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1 Reporting a Monitoring Ondřej Bláha CEE+R CoP Team / Tivoli Storage Team Leader Září 2010 2010 IBM Corporation TSM 6: Reporting

Více

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Vývoj SW pro mobilní zařízení s ios Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Perspektiva 3 roky zkušeností s vývojem aplikací pro ios 1 rok vývoj pro Android desítky aplikací Obsah

Více

PostgreSQL jako platforma pro datové sklady

PostgreSQL jako platforma pro datové sklady PostgreSQL jako platforma pro datové sklady Vratislav Beneš benes@optisolutions.cz 1. Co to jsou datové sklady? 2. Požadavky na datový sklady 3. Technické řešení datového skladu 4. PostgreSQL a datové

Více

Business Intelligence nástroje a plánování

Business Intelligence nástroje a plánování Business Intelligence nástroje a plánování pro snadné reportování a vizualizaci Petr Mlejnský Business Intelligence pro reporting, analýzy a vizualizaci Business Intelligence eporting Dashboardy a vizualizace

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

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Microsoft SharePoint Portal Server 2003 Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Přehled Země: Česká republika Odvětví: Velkoobchod Profil zákazníka

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 1 4 5 Oracle průvodce správou,

Více

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Č. 3. Zadavatel: Název veřejné zakázky: Česká republika Ministerstvo zemědělství

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Č. 3. Zadavatel: Název veřejné zakázky: Česká republika Ministerstvo zemědělství Zadavatel: Česká republika Ministerstvo zemědělství Název veřejné zakázky: Vytvoření nového informačního systému MZe pro výzkum a vývoj - "VÝZKUM-AGRI" Sídlem: Těšnov 65/17, 110 00 Praha 1 Nové Město Evidenční

Více

Znalostní systém nad ontologií ve formátu Topic Maps

Znalostní systém nad ontologií ve formátu Topic Maps Znalostní systém nad ontologií ve formátu Topic Maps Ladislav Buřita, Petr Do ladislav.burita@unob.cz; petr.do@unob.cz Univerzita obrany, Fakulta vojenských technologií Kounicova 65, 662 10 Brno Abstrakt:

Více

Ukládání a vyhledávání XML dat

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná

Více

Metadata. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu

Metadata. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu Metadata MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu Co to jsou metadata Chybějící metadata Doplněná metadata Co o metadatech říkají autority Řízení metadata je nepochybně nejdůležitější

Více

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

X36SIN: Softwarové inženýrství. Životní cyklus a plánování X36SIN: Softwarové inženýrství Životní cyklus a plánování 1 Kontext Minule jsme si řekli, co to je deklarace záměru, odborný článek, katalog požadavků, seznam aktérů a seznam událostí. Seznam aktérů a

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

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

CSPUG 2011-květen. GridSQL a pg-pool II. Vratislav Beneš benes@optisolutions.cz GridSQL a pg-pool II Vratislav Beneš benes@optisolutions.cz Agenda 1. Datové sklady a datová tržiště 2. pg-pool II 1. Infrastrukutra 2. Využití pro datové sklady 3. GridSQL 1. Infrastuktura 2. Vytvoření

Více

Sísyfos Systém evidence činností

Sísyfos Systém evidence činností Sísyfos Systém evidence Sísyfos : Evidence pracovních Systém Sísyfos je firemní aplikace zaměřená na sledování pracovních úkonů jednotlivých zaměstnanců firmy. Umožňuje sledovat pracovní činnosti na různých

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

O projektu Nasazení OpenOffice.org v praxi

O projektu Nasazení OpenOffice.org v praxi O projektu Nasazení OpenOffice.org v praxi Filip Molčan molcanf@openoffice.org Konference EurOpen Hotel Relax, Moninec - 18. 5. 2005 Obsah prezentace Minulost a současnost OpenOffice.org Představení projektu

Více

DOCUMENT MANAGEMENT TOOLKIT

DOCUMENT MANAGEMENT TOOLKIT DOCUMENT MANAGEMENT TOOLKIT SPRÁVA DOKUMENTŮ V MODERNÍM PODNIKOVÉM PROSTŘEDÍ Zpracování dokumentů prochází v dnešním firemním světě významnými změnami. Firmy jsou nuceny řešit řadu problémů, které s sebou

Více

Vzdálený přístup k počítačům

Vzdálený přístup k počítačům Vzdálený přístup k počítačům jedna z nejstarších služeb vzdálený přístup k sálovým počítačům nejprve vzdálené terminály později terminálová emulace jako jedna ze služeb počítačové sítě současnost využíváno

Více

Telelogic Focal Point využití pro řízení a optimalizaci projektového portfolia Verze 1.0

Telelogic Focal Point využití pro řízení a optimalizaci projektového portfolia Verze 1.0 DISTRIBUTOR White Paper Verze 1.0 Ing. Jiří Gryc 26.4.2007 Tento dokument ve stručnosti představuje možnost využití špičkového Telelogic Focal Point pro řízení a optimalizaci projektového portfolia. Další

Více

Wonderware InTouch 2012 R2 Co je nového

Wonderware InTouch 2012 R2 Co je nového Wonderware InTouch 2012 R2 Co je nového Ivan Picek Pantek (CS) s.r.o. Strana 2 Úvod Wonderware InTouch je oblíbený software pro vizualizaci, sběr dat a supervizní řízení technologických procesů kategorie

Více

Karel Bittner bittner@humusoft.com. HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Karel Bittner bittner@humusoft.com. HUMUSOFT s.r.o. HUMUSOFT s.r.o. Karel Bittner bittner@humusoft.com COMSOL Multiphysics Co je COMSOL Multiphysics? - sw určený k simulaci fyzikálních modelů, na něž působí jeden nebo několik fyzikálních vlivů - sw úlohy řeší metodou konečných

Více

Nápověda k aplikaci EA Script Engine

Nápověda k aplikaci EA Script Engine Nápověda k aplikaci EA Script Engine Object Consulting s.r.o. 2006 Obsah Nápověda k aplikaci EA Script Engine...1 1. Co je EA Script Engine...2 2. Důležité upozornění pro uživatele aplikace EA Script Engine...3

Více

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

Technologie Sharepoint

Technologie Sharepoint Jan Salajka 25. 3. 2010 ČVUT FEL Technologie Sharepoint Letem světem Sharepoint - Co to je??? Je to technologie Slouží především k řízené tvorbě a správě informací ve webovém prostředí Slouží jako podklad

Více

Možnosti reportingu v produktech řady EPM

Možnosti reportingu v produktech řady EPM Možnosti reportingu v produktech řady EPM Martin Répal Senior konzultant/manager EPM MCITP, MCP, MOS, MCTS, vtsp, Prince II martin.repal@autocont.cz 1 Jak je to s reportingem? Má SW produkt reporty? Tak

Více

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

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19 3 Obsah Novinky v tomto vydání 10 Význam základních principů 11 Výuka principů nezávisle na databázových produktech 12 Klíčové pojmy, kontrolní otázky, cvičení, případové studie a projekty 12 Software,

Více

Aplikační programové vybavení

Aplikační programové vybavení Aplikační software Aplikační software Programy z nejrůznějších oblastí využití počítače. Dnes existují stovky programů a u každého druhu pak často desítky konkrétních programů, které s větším nebo menším

Více

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

Tomáš Kantůrek. IT Evangelist, Microsoft

Tomáš Kantůrek. IT Evangelist, Microsoft Tomáš Kantůrek IT Evangelist, Microsoft Správa a zabezpečení PC kdekoliv Jednoduchá webová konzole pro správu Správa mobilních pracovníků To nejlepší z Windows Windows7 Enterprise a další nástroje Cena

Více

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. Tomáš Petránek tomas@petranek.eu Karviná, 21. 10. 2011 Obsah prezentace 1. Okolnosti

Více

Software programové vybavení. 1. část

Software programové vybavení. 1. část Software programové vybavení 1. část Software Vše co není HW je SW = pojem se někdy vztahuje jak na programy, tak na data Oživuje hardware (zdaleka ne jen počítače) Je-li přítomen procesor, musí být i

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_33_02 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal

Více

Možnosti aplikace: Copyright 2001, COM PLUS CZ, Praha

Možnosti aplikace: Copyright 2001, COM PLUS CZ, Praha Vyhodnocovací program CP TARIF 2001 umožňuje rychlé a podrobné sledování telefonního provozu pobočkových ústředen. Uživatel programu tak získává všechny potřebné údaje o odchozích telefonních hovorech,

Více

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source Univerzální datové rozhraní UDS for ELO UDS pro ELO je univerzální datové rozhraní, schopné napojit systém pro archivaci a správu dokumentů ELO na libovolný datový zdroj a to bez nutnosti programování.

Více

O projektu OpenOffice.org a IBM OS/2 OS/2 a Open Source

O projektu OpenOffice.org a IBM OS/2 OS/2 a Open Source O projektu OpenOffice.org a IBM OS/2 OS/2 a Open Source Filip Molčan molcanf@openoffice.org Konference Warpstock Czech Republic 2005 Liberec - 16. 7. 2005 Obsah prezentace Minulost a současnost OpenOffice.org

Více

Systémy pro tvorbu digitálních knihoven

Systémy pro tvorbu digitálních knihoven Systémy pro tvorbu digitálních knihoven Vlastimil Krejčíř, krejcir@ics.muni.cz Ústav výpočetní techniky, Masarykova univerzita, Brno INFORUM 2006, Praha Obsah přednášky Úvod Fedora DSpace EPrints CDSware

Více

Příprava dat v softwaru Statistica

Příprava dat v softwaru Statistica Příprava dat v softwaru Statistica Software Statistica obsahuje pokročilé nástroje pro přípravu dat a tvorbu nových proměnných. Tyto funkcionality přinášejí značnou úsporu času při přípravě datového souboru,

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

Úvod do programovacího jazyka Python

Úvod do programovacího jazyka Python Úvod do programovacího jazyka Python Co je to Python? Python je objektově orientovaný programovací jazyk, který se může využít v mnoha oblastech vývoje softwaru. Nabízí významnou podporu k integraci s

Více

Využití identity managementu v prostředí veřejné správy

Využití identity managementu v prostředí veřejné správy Využití identity managementu v prostředí veřejné správy Tomáš Král Account Technology Strategist, Public Sector Microsoft ČR Realita dneška: Rostoucí počet provozovaných či používaných, často heterogenních

Více

Dobrý SHOP Popis produktu a jeho rozšíření

Dobrý SHOP Popis produktu a jeho rozšíření Dobrý SHOP Popis produktu a jeho rozšíření 501M012.N01 11/11/2011 www.dlaex.cz info@dlaex.cz OBSAH 1 Úvod...3 2 Účel produktu...3 3 Vlastnosti produktu...3 3.1 Koncepce...3 3.2 Základní y...3 3.3 Doplňkové

Více

TM1 vs Planning & Reporting

TM1 vs Planning & Reporting R TM1 vs Planning & Reporting AUDITOVATELNOST? ZABEZPEČENÍ? SDÍLENÍ? KONSOLIDACE? PROPOJITELNOST???? TM1?? COGNOS PLANNING IBM COGNOS 8 PLANNING Cognos Planning Podpora plánovacího cyklu Jednoduchá tvorba

Více

POŽADAVKY NA INSTALACI

POŽADAVKY NA INSTALACI DATAPOINT POŽADAVKY NA INSTALACI Verze 1.0 Status: Rozpracováno Konica Minolta BCZ Jana Babáčková OBSAH OBSAH... 2 1. ÚVOD... 2 2. Hardwarové požadavky, operační systém... 3 3. SharePoint... 6 4. servisní

Více

Dodatečné informace č. 7

Dodatečné informace č. 7 Dodatečné informace č. 7 V souladu s ustanoveními 49 zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů, poskytuje zadavatel dodatečné informace č. 7 k zadávacím podmínkám veřejné

Více

Wonderware Historian 10.0

Wonderware Historian 10.0 Wonderware Historian 10.0 Příklady vícevrstvých architektur Jiří Nikl Pantek (CS) s.r.o. Strana 2 Wonderware Historian 10.0 využití vícevrstvé architektury Nová verze historizační databáze Wonderware Historian

Více

Možnosti propojení Lotus Notes/Domino a jiných systémů. Ondřej Fuxa Your System spol. s r.o.

Možnosti propojení Lotus Notes/Domino a jiných systémů. Ondřej Fuxa Your System spol. s r.o. Možnosti propojení Lotus Notes/Domino a jiných systémů Ondřej Fuxa Your System spol. s r.o. Lotus Symposium 2010 Agenda Integrace proč o ní uvažujeme? Možnosti integrace Lotus Notes/Domino a jiných systémů

Více

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Č. 4

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Č. 4 Zadavatel: Sídlem: Česká republika Ministerstvo zemědělství Těšnov 17, 117 05 Praha 1 Česká republika Název veřejné zakázky: OBNOVA CENTRÁLNÍ HW INFRASTRUKTURY V DATOVÉM CENTRU Evidenční číslo veřejné

Více

Stručný obsah. K2118.indd 3 19.6.2013 9:15:27

Stručný obsah. K2118.indd 3 19.6.2013 9:15:27 Stručný obsah 1. Stručný obsah 3 2. Úvod 11 3. Seznamy a databáze v Excelu 13 4. Excel a externí data 45 5. Vytvoření kontingenční tabulky 65 6. Využití kontingenčních tabulek 81 7. Kontingenční grafy

Více

Úvod do programovacího jazyka Python

Úvod do programovacího jazyka Python Úvod do programovacího jazyka Python Co je to Python? Python je objektově-orientovaný programovací jazyk. Tento programovací jazyk je velice výkonný, čitelný a dá se snadno naučit. Jeho použití je velice

Více

Analýza dat skoro zadarmo možnosti rozborů pro malé organizace

Analýza dat skoro zadarmo možnosti rozborů pro malé organizace Analýza dat skoro zadarmo možnosti rozborů pro malé organizace Martin Hess Microsoft Office Specialist Master Certification katedra informačních technologií VŠE Praha hess@vse.cz Abstrakt Článek se zabývá

Více

Korporátní identita - nejcennější aktivum

Korporátní identita - nejcennější aktivum Korporátní identita - nejcennější aktivum Luděk Šafář Services Team Leader lsafar@novell.cz 03/13/2006 Standardní prostředí IT prostředí je diverzifikované a komplexní Administrativní činnosti jsou manuální

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

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Nová dimenze rozhodovacího procesu

Nová dimenze rozhodovacího procesu Nová dimenze rozhodovacího procesu Marek Matoušek Pavel Mašek Data, nebo INFORMACE Využití dostupných firemních dat Několik systémů, mnoho různých dat Různé divize, různé potřeby Potřeba integrace dat

Více

Business Intelligence 2015. Hlavní témata, která budou v roce 2015 určovat vývoj business intelligence řešení a služeb.

Business Intelligence 2015. Hlavní témata, která budou v roce 2015 určovat vývoj business intelligence řešení a služeb. Business Intelligence 2015 Hlavní témata, která budou v roce 2015 určovat vývoj business intelligence řešení a služeb. Leden 2015 Téma č. 1: Cloudové služby budou využívat lokální data V roce 2015 se zvýší

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ

INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ Michal Brožek, Dominik Svěch, Jaroslav Štefaník MEDIUM SOFT a.s., Cihelní 14, 702 00 Ostrava, ČR Abstrakt Neustále rostoucí význam sběru dat, možnost

Více

Databáze s tisíci uložených procedur. Pavel Bláhovec, DiS www.blahovec.cz pavel@blahovec.cz

Databáze s tisíci uložených procedur. Pavel Bláhovec, DiS www.blahovec.cz pavel@blahovec.cz Databáze s tisíci uložených procedur Pavel Bláhovec, DiS www.blahovec.cz pavel@blahovec.cz Kdo jsem 1/2 Vývojem software se zabývám přes 15 let Mobilní aplikace pro obchodníky Wella PageMaker plug in pro

Více

Wonderware Historian. Příklady vícevrstvých architektur. Jiří Nikl, Tomáš Mandys Pantek (CS) s.r.o.

Wonderware Historian. Příklady vícevrstvých architektur. Jiří Nikl, Tomáš Mandys Pantek (CS) s.r.o. Wonderware Historian Příklady vícevrstvých architektur Jiří Nikl, Tomáš Mandys Pantek (CS) s.r.o. Strana 2 Wonderware Historian Server využití vícevrstvé architektury Historizační databáze Wonderware Historian

Více