Přejdi na obsah Přejdi na navigaci

ÚvodBlogCo je to Datalake

Co je to Datalake

V posledních letech se setkáváme s různými názory co je to Datalake. Protože datalake je dnes moderní slovo, dokáží o něm diskutovat IT specialisté stejně tak jako management firmy. Představy o tom, co to znamená, ale mohou být diametrálně odlišné. Od názoru, že datalake je jen chytřejší úložiště, až po názor, že datalake je moderní náhrada datového skladu. O datalaku toho bylo napsáno mnoho, pojďme tedy shrnout fakta.

Tvůrce výrazu datalake je technický ředitel společnosti Pentaho James Dixon. Tento pojem prezentoval na svém blogu v říjnu 2010*, kdy při svém výzkumu okolo Hadoopu poukázal na nedostatky tradiční datové architektury okolo datových skladů a datamartů. Tyto nedostatky formuloval v několika bodech.

If you think of a datamart as a store of bottled wat​​​​​​​er – cleansed and packaged and structured for easy consumption – the data lake is​​​​​​​ a large body of water in a more natural state. The contents of the data lake stream in from a source to fill the lake, and various users of the lake can come to examine, dive in, or take samples.
Pokud budete uvažovat o datamartu jako o skladu balené vody - vyčištěné, zabalené a přizpůsobené pro snadnou spotřebu - datatalake je velká vodní plocha v přirozenějším stavu. Obsah datového jezera proudí ze zdrojů, aby naplnil jezero, a různí uživatelé jezera se mohou přijít podívat, ponořit se nebo odebrat vzorky.

* James Dixon, CTO, Pentaho (Blog, 2010)

Z původní myšlenky konceptu datalake tedy vyplývá, že filozofie datalake je odlišná od konceptu datového skladu. Do datalaku ukládáme data v originální formě a v nejnižším možném detailu. Datalake podporuje všechny formy dat - strukturovaná, semistrukturovaná i nestrukturovaná. Uložení dat je ekonomicky výhodné. Datalake je založen na Hadoop filozofii a nástrojích.  Může sloužit jako zdroj dat pro tradiční datový sklad a vedle datového skladu umožňuje provádění nových typů analytických úloh. Tato definice jasně určovala co to je datalake a jak má být použit.

James Dixon přišel v roce 2015 na svém blogu s případovou studií pro datalake, kde staví datalake do úplně jiné pozice. Základní myšlenka je shromažďování dat ze všech podnikových systémů a všech změn provedených v průběhu času. Tím by vznikla možnost získat stav každého pole (potenciálně) každé obchodní aplikace v podniku napříč časem. Tento stav nazval “Union of the State”. Služba nebo stroj, který by zajišťovali výše zmíněné by se nazýval "Enterprise time machine". Z toho samozřejmě vyplývají benefity, které můžeme zúročit při trendových, historických, případně prediktivních analýzách, protože máme k dispozici všechny atributy, i ty na první pohled nedůležité. Zároveň zmínil architektonický návrh, jak se tohoto cíle dá dosáhnout.

Návrh je volně přeložen asi takto:

* James Dixon, CTO, Pentaho (Blog, 2015)

Touto myšlenkou tak vlastně řekl, že to co dnes běžně děláme v datových skladech, operačních databázích a datahubech by se dalo nahradit novým konceptem využívajícím datalake jako základ. Data bychom nehistorizovali v datových skladech v dimenzionálních modelech. Real time obraz zdrojových databází by nebyl replikován do datahubů a datalake by převzal i funkci operačních databází. Vše by bylo obslouženo masivním paralelním procesingem logů nad datalakem. Tato myšlenka je hodně revoluční, ale řeší jen získání informace pro všechny možné atributy napříč časem, nikoliv však mnoho praktických problémů, které jsou řešeny již řadu let v ověřených konceptech jako jsou ODS, DWH, DATAHUB. Naopak staví IT techniky před stejný, mnohdy vyřešený, problém, který budou muset řešit znovu pomocí nových technologií a nového konceptu. V průběhu času se ukázalo, že mnoho IT architektů dalo průchod své fantazii a začalo datalake implementovat do svých řešení velmi rozdílnými způsoby a začali datalakem nazývat i to, co je spíše "koncept postavený nad datalakem". Kdybychom se totiž do detailu zaměřili na slova Jamese Dixona, tak do roku 2015 je datalake výkonné analytické úložiště postavené na hadoopu, do kterého ukládáme všechny možné formáty dat. Od 2015 je to navíc úložiště, které je součástí konceptu "Enterprise time machine", kam ukládáme logy změn ERP systémů. Dokonce do datalaku neukládáme ani iniciální snímek ERP systému, ten by podle jeho návrhu měl být uložen v klasické relační databázi. Je to tedy pořád jen staré známé úložiště postavené na hadoopu, nebo je to už něco víc, co je součástí nových inovativních konceptů? V úvodu článku jsem se zmiňoval, že datalake je někdy chápán jako moderní náhrada datového skladu.

databricksV roce 2020 firma Databricks představila nový koncept architektury postavený na jejích produktech a současně na datalaku. Tento koncept je nazván datalakehouse. Vychází ze spojení konceptu datového skladu, datalaku a částečně i operační databáze. Celá architektura je postavena na techologiích jako jsou Spark, Hadoop a kobinaci dalších cloudových nástrojů. Všecha data jsou uložena a zprocesována na jednom místě v datalaku. Takto postavený koncept trochu připomíná dříve zmíňený "Enterprise time machine", tedy možností analýz napříč časem a v reálném čase a zároveň přidává vrstvy podobné klasickému datovému skladu a datamartům. Pojem datalakehouse je dnes napříč firmami marketingově prezentován jako moderní náhrada za datový sklad.

 

Datalake dnes

Definice datalaku stále není přesně specifikována. Různé konzultační firmy a různé společnosti mají na svých stránkách různé definice. Datalake je také velmi často spojen s interním marketingem a je prezentován jako příležitost začít tam, kde například selhal projekt DWH. Přesto budou mít koncepty jako je DWH či ODS stále místo vedle datalaku a budou plnit svou funkci. Občas je také pojem datalake používán mylně ve smyslu "pojďme zmigrovat na cloud". To může být spojeno s tím, že dnes máme více možností implementace. Technicky můžeme postavit datalake buď na Apachee Hadoop nebo můžeme zvolit jednu z dostupných cloudových služeb jako jsou například Microsof Azure Data Lake, AWS S3 nebo Google Cloud Storage.

Uvěďme tedy nejběžnější použití datalaku v praxi:

Možná se během budoucích let dočkáme nějaké přesnější specifikace, aby hned všem bylo jasné co je to datalake a jaký je rozdíl mezi datalakem a konceptem postaveným nad datalakem. Možná se tento pojem specifikuje sám, právě nejběžnějším užitím datalaku v praxi. Do doby, než to nastane, bude vždy nutné si ujasnit, jak je v konkrétním projektu datalake použit a jakou hraje roli, aby zúčastněné osoby měly na konkrétní datalake stejný náhled. Ať už je to jen hloupé úložiště, nebo datový sklad postavený nad datalakem.

Zdroje:

autor: Michal Machata

Michal

 

Zpět na výpis rubriky