• Nebyly nalezeny žádné výsledky

Realizace datové virtualizace v Denodo

4 Tvorba datových skladů

4.4 Realizace datové virtualizace v Denodo

V této části proběhne konkrétní realizace výše popsaného datového skladu do datové virtualizace pomocí Denodo Express, což je zkušební bezplatná verze Denodo Platform, která má ovšem určitá omezení v podobě menšího počtu možných datových zdrojů, menší počet vracených řádků (pouze do 10.000 řádků) a maximálně 3 souběžné běžící dotazy. Další omezení se této práce již nedotýkají a není tudíž potřebné je zmínit.

Hlavní rozhraní pro správu serverů a nástrojů datové virtualizace je Denodo Platform Control Center, ve které můžeme vidět, zda běží server pro datovou virtualizaci. Přes ní pak také spouštíme hlavní rozhraní pro práci s datovou virtualizací – Virtual DataPort Administration.

Na následujícím obrázku vidíme, že nám běží server na portu 9999, a můžeme tedy spustit Virtual DataPort.

57

Obrázek 15 Hlavní rozhraní Denodo (vlastní zpracování)

Před spuštěním Virtual DataPortu musíme také mít zajištěné, že nám firewall neblokuje přístup na daný port, ze kterého Denodo pouštíme.

Poté, co nástroj pro administraci spustíme, můžeme vidět různé databáze, které máme vytvořené a můžeme v nich začít vytvářet pohledy na datové zdroje. U jednotlivých databází máme možnost konfigurovat různá nastavení, ať už týkající se identifikace charsetu (pokud má databáze být case sensitive nebo case insensitive), automatické simplifikace dotazů (ve výchozím stavu zapnutá) nebo typ autentifikace (LDAP / interní uživatel / Kerberos). Primární databáze použitá pro tvorbu všech virtuálních pohledů bude databáze „masterdatabase“.

58

Obrázek 16 Management databází ve Virtual DataPort (vlastní zpracování)

Kromě databází můžeme konfigurovat i samotný server, kde máme široké množství konfiguračních možností, ať už využívání cachingu, konfigurace Kerberosu, využití paměti, využití vláken, připojení na proxy aj.

Obrázek 17 Konfigurace serverů ve Virtual DataPort (vlastní zpracování)

Různé pohledy v databázi můžeme rozdělovat do vlastních složek, a v této práci rozdělujeme databázové objekty do 3 složek – ‚Data Sources‘, ‚Base Views‘ a ‚Stock Market DW‘. Do složky

‚Data Sources‘ budeme skladovat jednotlivá spojení s datovými zdroji, které jsou samy o sobě

„nedotazovatelné“ a slouží pouze jako bod spojení datového zdroje s Denodo platformou.

Denodo také jednotlivým zdrojům přiřazuje speciální ikonku pro jednodušší rozeznání datového zdroje. V rámci tvorby logického datového skladu v této platformě se budou používat následující datové zdroje, které budou obsahovat výše popsaná data:

• Azure SQL Database

59

• Oracle Database 18c

• Snowflake

• SOAP webová služba

• XML

• CSV

• Excel

Do databázových systémů Azure, Oracle a Snowflake byla data předem převedena a upravena do požadované podoby. Průběh úpravy dat v daných databázích v této práci popisovaný nebude.

Obrázek 18 Nastavení datových zdrojů ve Virtual DataPort (vlastní zpracování)

Denodo umožňuje také samotné nasazení REST nebo SOAP webových služeb. V této práci byla nasazena SOAP webová služba obsahující data ohledně denního vývoje cen zlata, která byla vytvořena přes Denodo připojením do konkrétního CSV souboru v počítači obsahujícího celou cenovou historii zlata v dolarech. I při nasazení webových služeb máme možnosti nastavení autentifikace.

Kromě nasazení webové služby nám Denodo umožňuje také vytvoření tzv. „remote“ tabulky, což v podstatě znamená, že přímo v Denodo můžeme vytvořit tabulku, která ovšem bude fyzicky pobývat na datovém zdroji. Datový zdroj musí také mít schopnost uchovávat tabulky, tudíž nemůžeme tabulky vytvářet jinde, než v databázových systémech (v našem případě v Azure, Oracle nebo Snowflake). Tyto tabulky vytváříme pomocí VQL dotazu, se kterým můžeme vytvořit SELECT z jakéhokoliv pohledu vytvořeném v Denodo, a použít v něm i různé filtrovací podmínky, či vytvářet nové agregované sloupce.

60

Obrázek 19 Vytváření vzdálených tabulek ve Virtual DataPort (vlastní zpracování)

Pokud máme připravené datové zdroje, tak může následovat tvorba pohledů do daných zdrojů.

Ty budeme skladovat do složky ‚Base Views‘. Tyto objekty jsou již dotazovatelné, a můžeme díky nim vidět všechna data, která jsme vytáhli z datového zdroje, a přidávat k nim i různé filtrovací podmínky. I zde máme u každého základního pohledu možnost data publikovat přes webovou službu SOAP/REST.

Obrázek 20 Nastavení pohledu ve Virtual DataPort (vlastní zpracování)

Všechny pohledy mají přímo ve své definici možnost otevření ‚Execution panel‘, což je panel, který nám umožňuje rychlé dotazování na daný pohled. Dotazy jsou tvořené automaticky Denodem, a nemusíme sami nic psát, pouze definovat podmínky dotazu a možnosti vrácení dotazu. V panelu máme také možnost vidět exekuční plán, který nám ukazuje, jak byl výsledek postupně získán a díky tomu pak můžeme řešit případné výkonnostní či jiné nedostatky.

61

Obrázek 21 Exekuční panel Virtual DataPortu (vlastní zpracování)

Všechny virtuální pohledy mají automaticky vygenerovaný VQL příkaz pro tvorbu daného základního pohledu, který můžeme zkopírovat do integrovaného VQL Shellu, což je příkazový řádek, ve kterém můžeme sami psát různé VQL příkazy, stejně jako v jiných databázových systémech. VQL Shell obsahuje také exekuční log, který ukazuje všechny VQL příkazy, které byly na serveru puštěné. Obsahuje také data o době trvání dotazu, počtu vracených řádků, výsledku dotazu a u úspěšných dotazů je také možné vidět exekuční plán, který byl použit pro vracení dotazu.

Obrázek 22 VQL Shell ve Virtual DataPort (vlastní zpracování)

Poté, co máme vytvořené všechny potřebné základní pohledy (neboli obaly), můžeme se pustit do vytváření finálních (případně před-finálních) verzí pohledů, které se v datové virtualizaci nazývají derived views (česky odvozené pohledy). Tyto pohledy by měly primárně vycházet z vytvořených základních pohledů, pokud to ale okolnosti vyžadují, tak můžeme základní pohled přímo převzít a nedělat další změny. V této práci budeme tyto pohledy skladovat ve složce ‚Stock Market DW‘, ve kterém budeme mít další složky reprezentující dané faktové

62

tabulky, ve kterých budou odvozené pohledy obsahující data faktových tabulek a dimenze, které se vztahují k faktovým tabulkám. Dimenze času bude ve své vlastní složce jakožto individuální a spojující entita.

Denodo umožňuje tvorbu následujících typů odvozených pohledů:

• Union views – stejně jako SQL příkaz UNION, tak i tento proces spojuje řádky dvou pohledů, které mají stejnou strukturu sloupců, a vytváří tak jeden spojený pohled.

• Join views – tento způsob spojení je také totožný s SQL příkazem INNER JOIN, a tudíž také spojuje dva pohledy na základě daných join podmínek.

• Selection views – zde se selektuje jeden pohled, který poté můžeme na základě různých transformačních procesů měnit.

• Flatten views – vzhledem k tomu, že Denodo podporuje komplexnější struktury (jako jsou např. pole), tak umožňuje také převedení do klasické tabulkové struktury pomocí procesu „zploštění“.

• Intersect views – případ stejný jako u výše zmíněného UNION, kdy ale INTERSECT vrací pouze řádky, které jsou v obou spojovaných pohledech totožné.

• Minus views – protiklad k INTERSECT, kdy Minus vrací pouze řádky, které se vyskytují v prvním pohledu, ale nevyskytují se ve druhém pohledu

• Interface views – tyto pohledy jsou zvláštním typem pohledů, které obsahují pouze definici atributů pohledu a jeho spojení s jiným pohledem.

Vzhledem k tomu, že většinu faktových i dimenzionálních tabulek jsme měli ve formátu, ve kterém jsme je vyžadovali, tak budeme využívat především Selection views, přes které budeme také do pohledů, které pocházejí z databázových zdrojů, přidávat sloupec s klíčem, který bude vytvořený přes funkci ROW_NUMBER. Tento proces ovšem nejde z pochopitelných důvodů použít i na pohledy, které pocházejí z „nedatabázových“ zdrojů (jako jsou XML, CSV aj.), jelikož není možné do původních zdrojů nějakým způsobem dopsat další sloupec. Řešením by mohlo být vytvoření vzdálených tabulek v Denodo, a tím bychom vytvořili další pohled, který by už pocházel z databázového zdroje, ovšem pro tuto práci není potřeba povinně mít ve faktových tabulkách zakomponované klíčové sloupce, tudíž se tento problém řešit nebude.

63

Obrázek 23 Vytvořené faktové a dimenzionální tabulky (vlastní zpracování)

Pokud je struktura všech pohledů už finalizována, můžeme se začít soustředit na základní analytiku a přenos dat do analytických nástrojů. V této práci bude použita ukázka základní analýzy dat v programech Microsoft Excel pro Office 365 a Tableau Desktop.

V Excelu je prvním problémem samotné napojení na Denodo. Excel ve své nabídce konektorů neobsahuje specializovaný pro Denodo, musíme jej tedy přidat manuálně sami. Kvůli tomu musíme nainstalovat do počítače ODBC driver, který nám zpřístupní přístup do Denodo.

Musíme také dbát na to, že verze Excelu musí být totožná s verzí ODBC driveru Denoda (tj. 32-bitová/64-bitová). Poté, co budeme mít driver nainstalovaný, můžeme v Excelu přes Microsoft Query přenést pohledy z Denodo a data analyzovat.

64

Obrázek 24 Graf zobrazující denní vývoj ceny akcií společnosti Microsoft (vlastní zpracování)

Obrázek 25 Graf zobrazující celkový dluh a HDP USA v milionech dolarů (vlastní zpracování)

Obrázek 26 Graf zobrazující celkový počet žádostí o nezaměstnanecké pojištění proti průměrné hodinové mzdě všech zaměstnanců v USA (vlastní zpracování)

65

Dle potřeby můžeme také různé metriky akciového trhu USA kombinovat mezi sebou a sledovat tím různé trendy.

V Tableau Desktop je import Denodo pohledů výrazně jednodušší, jelikož Tableau má v sobě již zakomponovanou možnost připojení přímo ke zdroji Denodo. Je zde ovšem problém ve výkonnosti, kdy v některých případech je při odeslání velkého počtu řádků z Denodo Tableau silně zpomalené. Denodo tento problém adresuje přímo na svých stránkách (42), kde

doporučuje zvýšení tzv. „fetch size“, což je velikost zasílaných síťových paket, která je v případě konexe Tableau-Denodo 2048 bytů dlouhá. Nedoporučuje se ovšem zvýšit „fetch size“ příliš mnoho, jelikož by to mohlo mít opačný dopad a konexi dále zpomalit, jelikož při zasílání menšího počtu řádku Denodo bude čekat na doplnění síťových paket daty před zasláním do Tableau. V případě zasílání stovek až tisíce řádků se tedy doporučuje „fetch size“

zanechat v defaultní hodnotě.

Obrázek 27 Společnosti s detailními informacemi (vlastní zpracování)

Obrázek 28 Graf zobrazující průměrné ceny ropy a benzínu v různých letech (vlastní zpracování)

66

Obrázek 29 Graf zobrazující ceny dolaru proti euru a celkové korporátní tržby po zdanění v USA od roku 1999 (vlastní zpracování)

4.4.1 Zhodnocení realizace v Denodo

Celkově je možné Denodo zhodnotit jako kvalitní nástroj. Má široké spektrum konektivity s dalšími datovými zdroji, a může se v tomto ohledu srovnávat i se známějšími značkami v oblasti datové virtualizace. Je možné se pomocí ní napojit na většinu nejpopulárnějších zdrojů dat, neměl by tudíž v tomhle ohledu být nedostatečný pro potřeby jakékoliv organizace.

Transformace dat ať už pomocí integrovaného jazyka VQL či jednotlivými UI prvky uvnitř rozhraní jsou omezené možnostmi datového zdroje, ovšem stále nabízí nejdůležitější prvky datových transformací. Velkým pozitivem je ovšem možnost transformace dat v komplexnějších strukturách.

U konektivity s reportovacími nástroji bylo v této práci prezentovány nejpopulárnější reportovací nástroje Microsoft Excel a Tablaeu a jejich propojení s Denodo, které dostupné bylo, ovšem Denodo se umí propojit i s dalšími populárními reportovacími nástroji BI – Qlik a PowerBI. Ani v tomto ohledu konektivity by tudíž neměl zaostávat.

Nástroj jako takový má vcelku jednoduché uživatelské prostředí, ve kterém je jednoduché se orientovat. V určitých částech je ovšem rozhraní nástroje místy zastaralé a nemá různé objekty designované „moderně“. Rozhraní má také různá nastavení nepřehledně sestavená a obsahuje mnoho základních designovaných nedostatků.

Denodo v oblasti user supportu má vlastní Q&A sekci, ve kterém zaměstnanci Denodo odpovídají na různé dotazy uživatelů (většinou do 3 dnů). Dokumentace Denoda je také velice

67

podrobné a přehledně sepsané, a je v něm lehké se orientovat a nalézt řešení na různé problémy. Denodo také pravidelně zveřejňuje „how-to“ na známém portálu YouTube, ve kterém popisuje různé případy užití jejich platformy. Díky těmto videím je jednoduché se rychle naučit s Denodo Platform pracovat a začít produktivně využívat.

Co se týče výkonnosti, tak zde byl problém při konektivitě jak k datovým zdrojům, tak i s reportovacími nástroji. Nástroj slibuje zrychlení pomocí technologie cachingu, ovšem i tak neumí vracet výsledky dostatečně rychle a toto znevýhodnění by mohlo výrazným způsobem odradit potenciální zájemce. Nástroj ovšem umožňuje přehled určitého exekučního plánu, pomocí které je možné dělat určité optimalizace a proces zisku dat zrychlit, i např. pomocí posunutí procesování dat na samotný zdroj. Co se ovšem optimalizuje hůře je výkonnost dotazování se přes Excel, ve kterém Denodo silně zaostává a spojení s Excel přes ODBC konektor není pro rychlé analýzy dat dostatečný. Stejný problém je pak i u rychlosti propojení s Tableau, který adresuje v dokumentaci samotné Denodo a doporučuje změny v konfiguraci.

U nadstandardních služeb pak ale Denodo nabízí zajímavé možnosti, jako jsou např. dříve probíraný datový katalog a její vlastní diagnosticko-monitorovací nástroj. Denodo jako takové má také zakomponováno širokou škálu možností konfigurace, ať už bezpečnostních prvků nebo samotných propojení. Je znatelné, že chce tímto být hráčem nejen na trhu datové virtualizace, ale celkově na trhu datové integrace.

Zkušební verzi Denodo nabízí, a dokonce jej nabízí až na 1 celý rok, a i přes určitá omezení je možné si vyzkoušet mnoho možností datové virtualizace, omezení tudíž nemusíme brát negativně.

Tabulka 5 Celkové výsledky hodnocení nástroje Denodo Express (vlastní zpracování)

# Kritérium Váha Hodnocení

1 Rozsah podpory konektivity s dalšími datovými zdroji 0,167 5

2 Možnosti transformace dat 0,139 3

3 Rozsah konektivity s reportovacími nástroji 0,028 5

4 Přehlednost práce s nástrojem 0,111 4

5 Kvalita dokumentace a user support 0,028 4

6 Možnosti nastavení bezpečnostních prvků 0,222 4

7 Výkonnost 0,194 2

8 Nadstandardní služby v nástroji 0,083 4

9 Dostupnost zkušební verze 0,028 5

Celkové vážené hodnocení 3,7 z 5

68