Delfíni na vlnách: O přínosu datové virtualizace firmám

Datová virtualizace nabízí jednoduchou práci s daty, aniž by uživatelé museli řešit jejich fyzické uložení. Co tato flexibilita přinese firmám? To se dozvíte v další epizodě podcastu delfíni na vlnách.

Jakub Holubec: Dobrý den, dámy a pánové, vítám vás u dalšího dílu našeho podcastu delfíni na vlnách, ve kterém se věnujeme tématům ze světa datové analytiky. Já jsem Jakub Holubec ze společnosti dolphin consulting a mým dnešním hostem je Michal Machata. Michal pracuje v dolphin consulting jako BI architekt a zároveň je zodpovědný za sledování novinek na trhu, ať už jde o nové přístupy nebo technologie.

Michal Machata: Dobrý den.

Jakub Holubec: Michale, troufám si říct, že není příliš časté, aby nás něco opravdu nadchlo a řekli bychom si: „Tohle je fakt zajímavé!“ Často jsou to spíše obměny toho, co jsme již viděli v minulosti. Nicméně, odvážím se tvrdit, že v poslední době nás docela nadchla datová virtualizace. Můžeš prosím přiblížit posluchačům, co to datová virtualizace je?

Michal Machata: Budu se snažit to říct trošičku lidsky, takže pokud to nebude úplně přesně podle odborných termínů, předem se omlouvám. V podstatě datová virtualizace představuje nadstavbu nad daty, které už máme ve firmě. Je to jakýsi logický model nad existujícími daty. Někteří by to mohli znát také jako sémantický model.

Datová virtualizace slouží k vytvoření jedné logické vrstvy dat z různorodých a různých typů dat. Tato vrstva je poté přístupná pro všechny uživatele ve firmě a může být také přístupná pro aplikace nebo pro další účely. Hlavní výhoda spočívá v tom, že standardně známe různé architektonické koncepty, kde data v různých formátech přesunujeme z místa A do místa B a tam je nějakým způsobem opravujeme a češeme, aby byla hezká.

Datová virtualizace toto nedělá. Místo toho vytváří logickou vrstvu nad existujícími daty a umožňuje uživatelům přistupovat k nim přímo z datových zdrojů, aniž by byla nutná jejich přesunutí.

Jakub Holubec: Takže jestli to správně chápu, pak místo toho, aby uživatel přistupoval k pěti různým databázím a případně dalším zdrojům dat, přistupuje k jedné logické vrstvě, která se pro něho tváří jako jedna databáze?

Michal Machata: Přesně tak. Uživatel se připojuje k jednomu místu ve firmě, kde jsou data, a vlastně už neví, co je za tím schováno. To ho nemusí zajímat, což je super, protože běžný uživatel se nechce zajímat, zda data leží v data laku nebo v data warehouse nebo jsou někde nějaké soubory uložené na filesystému. Zajímá ho, jestli jsou data k dispozici a může je použít. Takže přesně tak, je to jeden logický přístup k datům i fyzicky, v podstatě jeden fyzický přístup k datům pro ty uživatele.

Jakub Holubec: Mluvil jsem o databázích a o tom, že člověk přes tu logickou vrstvu přistupuje k různým databázím, ale ty jsi zmínil ještě nějaké další zdroje, že může přistupovat i k souborům a tak. Jak to funguje? Jakým zdrojům dat člověk může přistupovat přes tu logickou vrstvu?

Michal Machata: V podstatě ke všemu, co existuje. Dneska už jsou virtualizační systémy tak rozvinuté, že konektor existuje téměř na všechno. Říkám téměř, protože IT svět se vyvíjí velmi rychle. Když vyjmenuji ty základní, tak databáze jsou základ, pak třeba data lake úložiště, file system klasický, takže to umí pracovat se soubory klasickými strukturovanými i nestrukturovanými. Jsou to webové aplikace, které poskytují data pouze přes API. Mohou to být webové stránky, které poskytují data třeba ve formě nějaké HTML tabulky. Ten virtualizační tool se k tomu umí připojit přímo k té webové stránce a umí z toho udělat virtuální relační tabulku. A co to je? K čemu vlastně datová virtualizace umí přistupovat, co umí číst? To bych mohl vyjmenovávat dál a dál… Ale co je důležité, je ten výstup. Výstup je formou relačních tabulek a uživatel používá k dotazování do těch datových zdrojů SQL jazyk, který dnes už umí téměř každý.

Jakub Holubec: Kromě SQL, se k tomu tedy dá přistupovat i dalšími způsoby, třeba přes Python nebo podobně?

Michal Machata: Co se týká napojení na virtualizační systémy, o tom se budeme bavit asi později. Ono jich je víc, ale většina z nich pracuje na stejném konceptu. Ten výstup není jen ve formě databáze. Na ten nástroj se může napojit cokoliv, buď přes ODBC driver, JDC driver, což jsou víc databázové věci, nebo přes REST API, GraphQL connector, GeoJSON connector v určitých případech, nebo přes SOAP. Takže je to vhodné nejenom pro běžné uživatele, ale i jako zdroj pro aplikace.

Jakub Holubec: Pokud ta virtuální vrstva překrývá tabulku, API a ještě nějaký soubor, z pohledu uživatele, on pozná, co pod tím je, nebo se mu to prostě tváří jako tabulka, kterou si dotazuje a vůbec neřeší, co je pod tím?

Michal Machata: On to vůbec neřeší, nepozná. Pro něj se to tváří jako tabulka v relační databázi. Co je schováno za tím, to je odděleno. To je jedna z hlavních výhod, že to je pro uživatele odděleno od fyzické vrstvy. On se nestará o to, co je na pozadí.

Jakub Holubec: Technicky jsme si popsali, co to virtualizace je. Pojďme se podívat, k čemu se to dá využít. Proč by firma něco jako datovou virtualizaci měla používat, když má datový sklad?

Michal Machata: Výhoda je v tom, že datová virtualizace umožňuje rychlý přístup k datům z různých zdrojů bez nutnosti jejich přesunu nebo kopírování. Firmy, které mají datový sklad, mohou využít datovou virtualizaci k integraci různorodých dat v reálném čase, což je výhodné pro analýzy a reporting. Například když potřebujete spojit data z datového skladu s daty z API služby, můžete s daty pracovat společně bez čekání na jejich nahrání. Tlak na rychlost a potřeba propojení dat v reálném čase roste, a proto je datová virtualizace v poslední době stále populárnější.

Jakub Holubec: A pokud ta virtuální vrstva překrývá tabulku, API a ještě nějaký soubor, tak z pohledu uživatele, on pozná, co je pod tím, nebo se mu to prostě tváří jako tabulka, kterou si dotazuje a vůbec neřeší, co je pod tím?

Michal Machata: Vůbec to neřeší, on to nepozná. Pro něj se to tváří jako tabulka v relační databázi a to, co je schováno za tím, je odděleno. To je jedna z hlavních výhod, že to je pro uživatele odděleno od té fyzické vrstvy. On se nestará o to, co je na pozadí.

Jakub Holubec: Takže technicky jsme si plus mínus popsali, co to virtualizace je, tak se pojďme podívat na to, k čemu se to dá vlastně využít. Proč by firma něco jako datovou virtualizaci měla používat, když má datový sklad?

Michal Machata: Já bych asi začal tím nejjednodušším konceptem, který zná každý, což je datový sklad. My se budeme dneska bavit o logickém datovém skladu, což je v podstatě také datový sklad z pohledu uživatele, ale na pozadí je toho mnohem víc než běžný datový sklad. Dříve firmy centralizovaly svá data do datových skladů, to byla ta centralizace dat. Potom přišel koncept data laku, který je velmi oblíbený dodnes. Firmy začaly ukládat data, která nepotřebují okamžitě zpracovávat. Z pohledu data laku to bylo velmi oblíbené téma, a je to i dnes velmi oblíbené téma, ale často vázne správná aplikace nebo využití toho data laku. Statistiky říkají, že skoro 80 % implementací data laků ve firmách nedosáhne svého cíle – data se pouze uloží, ale zůstávají tam ležet a nic se s nimi neděje. Pro nás je důležité, aby se data využívala, to je ten základ. Proto ta data ukládáme. Z pohledu uživatele je velmi těžké, když pracoval předtím s databází nebo jenom s Excelem, pracovat s daty z data laku. Ta data jsou tam uložena v jiném formátu, třeba jenom v textových souborech a ve špatné kvalitě. Logický datový sklad je, jak už jsme říkali, nadstavba – logická nadstavba nad těmi daty. To znamená, může obsahovat data z existujícího datového skladu, ale zároveň i z data laku. Ta data se na virtuální sémantické vrstvě mohou velmi rychle pospojovat, protože se nic nekopíruje ani netransformuje. Pouze se data propojí, udělá se lehká úprava a uživatel může zároveň používat data jak z datového skladu, tak z data laku. To je jeden jednoduchý příklad, kde se spojují data na pozadí a uživatel má ta data k dispozici přes jeden bod.

Jakub Holubec: Samozřejmě. Já jsem to teď zaměřil právě na data laky, což je vlastně asi jeden z nejběžnějších typů uložení dat ve firmě, tak na data warehouse. Logický datový sklad nenahrazuje datový sklad, aby si lidé nemysleli, že vyhodí fyzický datový sklad a nahradí ho virtualizačním nástrojem. Ten virtualizační nástroj používá datový sklad, takže to není náhrada za datový sklad.

Kdybych ale nechtěl historizaci a nezajímala by mě, tak by to v zásadě šlo, ne? Vytvořil bych ze vstupních dat datový sklad, který by akorát nesahal přímo do zdrojových aplikací, protože by to mohlo ohrozit výkonnost, ale třeba do data laku.

Michal Machata: Ano, teoreticky ano. Technicky je to možné. Pokud bys nepotřeboval historizaci, tak samozřejmě je to možné tímto způsobem – čtení dat a čištění dat a další věci, které se dějí.

Virtualizační nástroje samozřejmě nejsou tak hloupé, že by dokázaly jen přeposílat data. Jsou tam možnosti základních transformací, úpravy dat, čištění dat, náhrady hodnot nebo doplnění defaultních hodnot. To všechno je možné. To není tak, že by nástroj jen spojoval data na pozadí a poskytl je dál. Má samozřejmě i další funkčnosti.

Jakub Holubec: Data laky bývají uživatelsky trochu nepřátelské, třeba pojmenováním tabulek nebo sloupců. Dá se to na té virtuální vrstvě nějakým způsobem řešit, nebo to vypadá úplně stejně jako v té zdrojové databázi, která je pod tím?

Michal Machata: Stoprocentně se to dá řešit. Jedna z možností, co dělat s těmi daty, je pospojovat je. My vlastně můžeme i na úrovni toho virtuálního datového virtualizačního toolu provádět joiny, spojovat více tabulek dohromady, přejmenovat sloupce, pojmenovat tu cílovou tabulku tak, jak potřebujeme. Můžeme vytvořit virtuální primární klíč, můžeme vytvořit různé kontroly, jako je unikátnost, a takové věci. Dá se s tím pracovat a umí to spoustu užitečných věcí.

Jakub Holubec: Takže se to dá použít tak, že když si chci udělat nějakou analýzu a 80 % dat mám v datovém skladu a 20 % v data laku, protože to kvůli časové náročnosti zatím do datového skladu nikdo nedal. Přistoupím k té virtuální vrstvě, která se tváří jako jedna databáze a normálně to spojím.

Ovšem jak to bude vypadat, když nad tím začnu používat nějaký report? Ono to asi nebude tak rychlé, vzhledem k tomu, že část dat bude tahat z data laku… Po nějaké době si řeknu, že bych chtěl ta data přesunout do datového skladu, vyčistit a formátovat, takže si dám požadavek a další tři měsíce se to bude dít. Mezitím stále přistupuji ke své virtuální vrstvě. A potom dojde k tomu, že se data přesunou do datového skladu. Budu muset změnit reporty, aby sahaly do nových objektů v té virtuální vrstvě, nebo jak to bude?

Michal Machata: Nebudeš muset. To je kouzlo datové virtualizace. V podstatě se přepojí ten virtuální objekt, ta virtuální tabulka na nový zdroj dat, takže koncový uživatel vůbec nic nepozná. Když bych to přirovnal ke klasické relační databázi, tak bych to přirovnal k pohledu, který má na pozadí nějaký select, jenž spojuje data nebo je nějakým způsobem upravuje. Ale koncový uživatel využívá ten pohled a nevidí do logiky toho pohledu, takže bychom jenom přepsali kód a ono by se to dotazovalo na jiný zdroj.

Jakub Holubec: Takže je to vlastně extrémně agilní způsob práce?

Michal Machata: Přesně tak. Možná bych na to navázal, protože na to je krásný use case, na který jsi mě navedl a určitě by ses na něj stejně zeptal. A to je migrace do cloudu. Dnes se firmy přesouvají do cloudu, už i velké korporátní firmy, které se dříve cloudu vyhýbaly, dnes pochopily, že cloud je bezpečný a mnohdy i levnější než držet řešení on-premise.

Stále ale fungují hybridně, což znamená, že některé firmy si drží data u sebe, ale část dat, která nejsou kritická, přesouvají do cloudu. Při migraci nějakého řešení do cloudu musíme počítat s tím, že se firma nějakým způsobem adaptuje. Musí být připravená na přechod, kdy se řešení migruje a přepojí na cloudovou vrstvu místo on-premise.

Virtualizace je v tomto ohledu velký pomocník. Pomáhá bezproblémovému přechodu aplikace z on-premise na cloud a dělá to velmi elegantně, protože mezi cílovou aplikaci nebo transformaci a uživatele vloží logickou vrstvu, která oddělí uživatele od zdrojových dat. Vloží tam virtuální vrstvu, která napojí uživatele na původní datový zdroj, zatímco na pozadí probíhá migrace do cloudu, přesun dat, testování, kontrola kvality dat a tak dále. To může trvat klidně půl roku nebo déle. Pak se na virtuální vrstvě vytvoří nový pohled, který se kouká už do nových dat. Přepojení starého pohledu na nový je otázkou milisekund, takže přepojení datového zdroje z on-premise do cloudu je bez odstávky a okamžité. Cílová aplikace a uživatel to vůbec nepoznají. A má to další výhodu: pokud by došlo k nějakému problému, který nebyl odstraněn při testování, například výkonnostní problém, můžeme zatáhnout ruční brzdu, zařadit zpátečku a přepojit zpět na on-premise řešení. Ti, kdo už dělali datovou migraci do cloudu, vědí, že řešení většinou běží nějaký čas paralelně, jednak kvůli případným problémům s novým řešením a také kvůli kontrole dat. Kontroluje se, zda nový systém funguje stejně jako starý. Takže to byl jeden hezký use case migrace do cloudu.

Jakub Holubec: Takže do toho cloudu lze migrovat postupně, že? Nemusím zavřít datový sklad na dva roky a migrovat všechno najednou. Můžu přecházet kousek po kousku a ve virtuální vrstvě pak můžu stará data odhazovat. A uživatel ani nepozná, jestli přistupuje do cloudu nebo on-premise.

Michal Machata: Ano. Přesně tak.

Jakub Holubec: Napadá mě, že jsme možná nezmínili, a měli bychom zmínit, co to vlastně je ta virtuální vrstva. Je to nějaký software nebo aplikace, kterou si nainstaluji? Jak to funguje?

Michal Machata: Ano, virtualizační nástroje jsou opravdu software, jak jsi zmínil. Musí se někam nainstalovat. Buď je nainstalujeme lokálně, nebo některé z nich fungují jako cloudová služba, tedy jako SaaS. Takže to je ta iniciální fáze. Musí se to někam nainstalovat, běží to na nějakém serveru. Dále je potřeba nastavit přístupy, aby se k tomu dostali administrátoři, kteří definují tu virtuální vrstvu. Ti pak pracují s daty, napojují zdrojové systémy a nad nimi vytváří virtuální tabulky. A pak jsou koncoví uživatelé, kteří se k řešení připojují a využívají to, co implementátoři vytvořili. Celý koncept je postaven na tom, že se neukládají data, ale poskytují se přes virtuální vrstvu. Jediná data, která tyto systémy ukládají, jsou metadata.

Jakub Holubec: Šlo mi hlavně o to, že jsme nezmínili, že je to aplikace. Posluchači by se mohli divit, jak vznikne virtuální vrstva v nějaké aplikaci, která je k tomu určena.

Michal Machata: Je to aplikace, ano. Je pravda, že občas mluvíme o datových konceptech, které nejsou aplikace, ale toto je opravdu fyzická aplikace.

Jakub Holubec: Ano, a já bych se možná vrátil k těm use caseům, protože mi připadá, že je tam obrovská spousta možností. Další věc, co mě napadá, je umělá inteligence, což je teď velké téma. Existuje spousta šikovných datových vědců, kteří mívají problém se dostat k datům. Když už je mají, dokážou je velmi dobře zpracovat, ale mají menší schopnosti získat ta data. V tomto případě může virtualizace dat pomoci.

Michal Machata: Je to tak, umělá inteligence je velké téma posledních dvou let a bude ještě minimálně další dva roky. Mění pohled lidí na to, co dnes známe.

Víceméně se to začne používat čím dál tím víc v běžném životě. Uživatelé začnou místo vyhledávacích řádků používat chatboty a podobné věci. Když už se bavíme o umělé inteligenci, tak mnoho lidí se s ní nejvíce seznámilo, když vznikl ChatGPT.

ChatGPT je nový model, který umí komunikovat s lidmi normálně lidskou řečí. Na pozadí je to vytrénovaný machine learningový model, který funguje na základě několika fází. Nejprve jsou data, ze kterých se model učí. Pak je příprava dat, kdy musíme data získat, upravit a připravit pro trénovací mechanismus.

Následuje trénování a testování modelu. To dělají datoví vědci, kteří testují a trénují model, a když jsou spokojení, nasadí ho do produkce. Běžní lidé nebo aplikace pak ten model využívají. ChatGPT je jen jeden z příkladů; dnes to funguje v mnoha dalších scénářích a oblastech.

Když se vrátíme k datové virtualizaci, příprava dat je pro trénování modelů velmi důležitá. Data jsou často rozházená všude možně, v různých formách. Data scientist musí umět získat data z různých zdrojů a formátů, což vyžaduje mnoho dovedností.

Proč mu neulehčit práci a neposkytnout data v jednotném formátu? Tady vstupuje na scénu datová virtualizace, která umožňuje data scientistovi přistupovat k datům pomocí relačních tabulek a SQL jazyka, aniž by se musel zabývat různými formáty a způsoby získávání dat.

Datová virtualizace tedy určitě dokáže pomoci.

Jakub Holubec: Mluvíme o datové virtualizaci už dvacet pět minut a připadá mi, že jsme pořád na začátku. Navrhuji, abychom téma rozdělili do dvou podcastů. Abychom posluchače trošku namlsali, mohl bys prosím vyjmenovat další 3-4 use casy, které bychom mohli probrat příště?

Michal Machata: Určitě bychom neměli vynechat mesh, data fabric, integraci cloudových služeb a self-service analytiku.

Jakub Holubec: Navrhuji, abychom nezapomněli na další přidané hodnoty datové virtualizace, jako je třeba datový katalog a data governance, které s tím souvisí. Děkuji, Michale, a budu se těšit na příště.

DALŠÍ PODCASTY SI MŮŽETE POSLECHNOUT ZDE!

Mohlo by vás zajímat

Tibco Spotfire je nástroj, který dává šikovnému vývojáři prakticky neomezené možnosti. Dejte mu šanci a vyzkoušejte si zdarma, co všechno dokáže.

2 min
Číst

Jaká je pravděpodobnost, že nový student dokončí své studium? Přečtěte si článek o projektu Virtuální univerzita, který se blíže zabývá faktory,…

2 min
Číst
Číst další

Chcete nás kontaktovat?

Drop files here or
Max. file size: 2 MB.