Rozdíly mezi Data Lake a Data Warehouse

Zatímco ještě před 5 lety byl Data Warehouse neotřesitelným vládcem firemních datacenter, dnes se musí o svoji pozici dělit s novým hráčem zvaným Data Lake, a občas se dokonce objevují názory, že jeho čas vypršel. To však není pravda, stejně jako je chybné tvrzení, že Data Warehouse a Data lake jsou v podstatě to stejné. Ve skutečnosti se jedná o dva koncepty ukládání a zpracování dat, které mají specifické vlastnosti a typické oblasti využití. Podobné zmatení pojmů nastává u souvisejích zkratek ETL a ELT. Pojďme si tedy výhody a nevýhody obou konceptů vysvětlit.

20. června 2018

Autor: Johnson Darkwah Rubrika: Blog

Co je to Data Warehouse?

Data Warehouse (dále jen DWH), také známý jako Enterprise Data Warehouse (EDW), je tradiční řešení sběru, zpracování a uložení dat s více než třicetiletou historií. DWH slouží jako centrální bod pro integraci různých datových zdrojů, v nichž se data čistí, spojují a trvale ukládají. Koncept DWH a většina v něm použitých technologií vznikl v době, kdy byla absolutní většina digitálních dat reprezentována tabulkami a relačními databázemi, jinak řečeno v době, kdy byla většina dat strukturovaná. Hlavní funkcí DHW je data uchovávat a zpětně z nich s určitou časovou periodou (dnů, týdnů, či měsíců) generovat reporty s důležitými informacemi o výkonu společnosti.

Nejčastějším typem „businessových“ dat v DWH jsou data finanční (obraty, zisky, atd.), prodejní (obrat a marže), skladová (kolik kusů čeho kde leží) a zákaznická (jména, adresy, fakturační údaje). Význam DWH vynikne právě při potřebě jejich nepřetržitého průběžného zpracování. Komplexní analytické úlohy vyžadují určitou míru konzistence dat, takže vyžadují dočasné "zmrazení" stavu databází až do dokončení výpočtu. Kromě toho, že takový přístup negativně ovlivňuje výpočetní výkon celého systému, je také zcela nedosažitelný u transakčních databází . DWH tento problém řeší, vykonává analytické úkony a neomezuje práci transakční databází. 

Do DWH lze samozřejmě nahrát i další datové zdroje (Google Analytics, CRM, logy ap.), které je potřeba nejdříve transformovat podle předem definované struktury. Tomuto procesu se říká ETL (Extract Transform Load).

A co je to Data Lake?

Koncept Data Laku vznikl v době, kdy firmy díky pokračující digitalizaci začaly pociťovat potřebu pracovat s novými typy dat různé struktury a formátů vznikajících, jak v rámci společnosti, tak i mimo ni. Narozdíl od minulého století, ve kterém dominovaly tabulky a jiná strukturovaná data, jsou nyní v převaze data nestrukturovaná, jako logy, obrázky, video, texty. Díky stále se zvyšujícímu se výpočetnímu výkonu s ním spojeným rozvojem umělé inteligence je dnes možné takové data zpracovávat a získávat z nich v reálném čase důležité informace. Data Lake tak firmám umožňuje kombinovat různé datové zdroje a nacházet v nich nové informace pro podporu rozhodování. 

Do Data Lake se strukturovaná i nestrukturovaná data ukládají v původní podobě, bez nutnosti předem definovat jejich strukturu či účel. Běžně se skládá z několika technologií jako například Hadoop, NoSQL databáze, Amazon Simple Storage Service (S3) či relační databáze. Při sběru dat se často upřednostňuje ELT (Extract Load Transform) proces, který se na rozdíl od ETL snaží data nejdříve uložit, a umožnit tak více způsobů zpracování (transformací) nezávisle na sobě.

Data Lake má následující vlastnosti:

  • Sbírá a ukládá surová data s možností rychlého škálování při velmi přijatelných nákladech.
  • Shromažďuje různé typy dat v jednom repozitáři.
  • Zpracovává data, často horizontálně distribuované.
  • Definuje strukturu dat v době, kdy jsou data využívána (schema-on-read).
  • Otevírá nové možnosti zpracování dat.
  • Výpočetní výkon lze přizpůsobit řešené úloze.

data warehouse vs. data lake

V čem se DWH liší od Data Lake

„Rozdíl mezi DWH a Data lake je podobný jako mezi hustým lesem a oddělením dřevěných profilů v místním hobbymarketu. Spoustu úkolů efektivně vyřešíme s použitím smrkových prkének několika přesně definovaných rozměrů, ale někdy si je prostě potřeba vybrat druh dřeva, jeho prakticky libovolný rozměr nebo z letokruhů zjistit, jaké bylo počasí v minulosti, o možnosti sběru lesních plodů a pozorování vysoké nemluvě. Stromy stále rostou, hromadí se v nich látky ze země, vody i vzduchu, čímž vzniká téměř neomezené množství různých kombinací. Do skladu hobbymarketu naproti tomu chodí prakticky pořád stejný sortiment srovnaný na paletách. Tomu odpovídá i potřeba lidských zdrojů. Zatímco v hobbymarketu potřebujete skladníky, v lese potřebujete lesníky i myslivce, kteří se jsou schopni vypořádat s širším spektrem situací,“ vysvětluje rozdíly Jan Janča, zakladatel a CEO Gauss Algorithmic.

Kdy které řešení používat 

Nastane někdy okamžik, kdy Data Lake plně zastoupí DWH? Nahradit DWH není snadné ani levné rozhodnutí. V některých případech dává přechod smysl a pomůže společnosti růst. Například zpracování dat v reálném čase je něco, čehož lze v DWH za rozumné náklady velmi obtížně docílit. Data Lake si naopak s velkým objemem dat v reálném čase poradí a společnosti mohou například začít komunikovat se zákazníky v době, kdy to má největší přínos.

DWH

  • Mám data, která se mění jen výjimečně.
  • Mám především strukturovaná data.
  • Zajímají mě spíše agregované informace.
  • Chci spolehlivě a rychle provádět business reporting.

Data Lake

  • Mám data, které mohou často měnit strukturu
  • Potřebuji informace v reálném čase
  • Mám velké objemy dat (TB/PB měsíčně)
  • Zajímají mě nové možnosti práce s daty (výzkum, strojové učení)

Rozdíly mezi DL a DWR

Jak to běžně chodí

Společnosti obvykle využívají obě řešení – oba systémy totiž navzájem spolupracují. Z pohledu DWH je výhodné mít k dispozici Data Lake pro některé náročnější zpracování, čímž lze přenechat více zdrojů koncovým uživatelům a jejich dotazům k obchodním datům. DWH může sloužit jako spolehlivý zdroj některých dat. Mezi ty patří například pečlivě ověřené informace o zákaznících, které již byly validovány, tudíž jejich správnost a kvalita může být lepší než u dat ze surových zdrojů.
 
S tímto úzce souvisí i zpracování dat: ETL vs. ELT, kde taktéž nefunguje jednoznačný přechod z jednoho na druhý. Zřejmé je, že metodou ELT pro napojení dat do DWH nelze použít. Data Lake pak preferuje převážně ELT, ale jsou i případy (například agregace v reálném čase), kdy může být způsob ETL výhodnější, protože vyžaduje méně výpočetního výkonu.
 
Nic ani nenasvědčuje tomu, že Data Lake nahradí DWH. Jedna věc se ale změnila zcela určitě, a to je pohled na to, jak naše datová řešení stavíme. DWH do architektury big data rozhodně patří, pouze je potřeba přesunout z něj operace, pro něž systém není uzpůsoben. Pokud jsou uživatelé s DWH spokojeni, nevidím důvod ke změně. Nesprávně postavený Data Lake se může stát chaotickým místem, kde se data hledají velmi těžko. Další cestou může být i DWH doplněný o relevantní informace zpracované v Data Lake. Možností existuje více a měli bychom mít stále na paměti, jak s daty chceme pracovat a co je naším cílem.
Sdílejte s přáteli
Anglicky