Co to je Data Mesh a kdy o něm uvažovat

Data Mesh je koncept tak nový, že nemá ještě svou stránku na Wikipedii (květen 2021). Přesto, a možná právě proto, je dobré vědět, k čemu slouží.

Data Mesh je přístup ke správě (data management) specifických datových úložišť. Zejména se hodí tam, kde více skupin, nejčastěji analytiků, pracuje agilně s velkým objemem dat. Data Mesh není univerzální přístup. V prostředí organizace bude vždy koexistovat s oblastmi s podstatně striktnější a centralizovanější správou dat.

Definice Data Mesh je jednoduchá. Spravované prostředí musí splňovat čtyři rysy:

  • Decentralizace na základě domén
  • Zaměření na datové produkty
  • Společná podpora Self-service
  • Federativní řízení

První rys, decentralizace na základě domén, znamená, že o data jednotlivých domén se starají ti, kteří s daty domény nejvíce pracují a nejlépe jim rozumí. Například u datových skladů často vzniká organizační jednotka, která je zodpovědná za všechna data ve skladu, jejich integraci a jejich datovou kvalitu. Je zodpovědná za jednu verzi pravdy společnou pro všechny. A to ať už se jedná o finanční data, obchodní data, marketingová data nebo data legislativního reportingu. Data Mesh předpokládá, že ti, kdo dané doméně nejlépe rozumějí, dokáží tak data nejlépe spravovat a upravovat je do nejužitečnější podoby.

Nejdůležitější rys Data Mesh prostředí je zaměření na prvotřídní datové produkty. Datový produkt je sada dat vytvořená a udržovaná za dobře definovaným účelem. Může to být tabulka, datové schéma, analytická hvězda nebo také jenom soubor v csv formátu.

Aby se datová sada dala považovat za produkt, musí být jasné, za jakým účelem vznikla a kdo je jejím autorem. Musí být jasné, co obsahuje a jakou má strukturu. Speciálně se neklade tak velký důraz na to, jakými transformacemi data vznikla, ale pouze na to, co byla zdrojová data. Předpokládá se, že autor připravil nejlepší data pro daný účel.

Prvotřídní datový produkt musí být důvěryhodný. Proto se klade důraz na znalosti jeho autora. Musí být snadno použitelný, dostupný a hodnotný pro uživatele. Proto se klade důraz na znalost účelu vzniku. V prostředí Data Mesh je přirozené, že podobné informace jsou obsaženy ve více datových produktech vytvořených pro různé účely.

Třetím rysem je zaměření na self-service. Uživatel musí být schopen sám nalézt ten nejvhodnější produkt vyhovující jeho potřebám a jednoduše jej použít. A musí být také schopný jednoduše existující datové produkty integrovat, přetvořit a vytvářet z nich produkty nové.

Poslední rys je federativní řízení. Spravované prostředí používá a upravuje nezávisle mnoho subjektů: správci jednotlivých domén, analytici využívající existující datové produkty a vytvářející nové, a také koncoví uživatelé, kteří existující datové produkty pouze konzumují. Přesto musí všichni dodržovat určité minimum pravidel zaručujících udržovatelnost prostředí. Tři nejdůležitější jsou:

  • Centrální katalog datových produktů umožňující všechny datové produkty nalézt.
  • Jednotný způsob popisu datových produktů: datová struktura, autor, účel vytvoření a zejména aktuálnost dat v datovém produktu.
  • Jednotné technologie řešení, zejména jednotná podpora self-service.

Kde přesně vést hranici mezi centralizovanými a decentralizovanými komponentami, nejde jednoznačně říci. Cílem je, aby jednotnost byla maximálně vynucována samotnou platformou. Například Centrální katalog může být řešen pouze jmennou konvencí v adresářové struktuře. Metadata o datovém produktu mohou být vyžadována ve formě json souboru v adresáři produktu. Datové schéma produktu může být uloženo také přímo v datovém produktu. Formáty jako avro nebo parquet obsahují popis datové struktury a podporují dokonce i změny schématu v čase. Jako technologie pro transformace dat lze s výhodou použít messaging nástroje. Vytváření datových produktů jako topiků umožňuje jednoduchý self-service získávání dat pouze přihlášením se k odběru. Zároveň vytvoření dalšího datového produktu je pouze vytvoření další pipeline, která zpracovává stávající topiky a publikuje svůj vlastní.

V porovnání s konceptem datových skladů, který se zaměřuje na jednotnou pravdu a excelentní datovou kvalitu vyhovující všem, Data Mesh dává větší volnost specifickým potřebám jednotlivých skupin a jednodušším modifikacím řešení. V porovnání s konceptem Data Lake, který se orientuje na technickou a procesní stránku zpracování dat, se Data Mesh více zaměřuje na stránku uživatelskou. To jsou důvody, proč se s tímto konceptem budeme čím dál více setkávat v dnešním agilním světě.

 

Autor: Ondřej Zýka

Information Management Principal Consultant