Data mesh nebo data mess?
Přináší data mesh revoluci v Business Intelligence? Podívejte se na všechna pro a proti tohoto konceptu správy dat postaveném na decentralizované datové platformě.
Mluvit nebo psát o data mesh není jednoduchá věc, a to zejména z toho důvodu, že se jedná o poměrně nový přístup, který například v naší zemi ještě nemá společnost, která by jej úspěšně používala. Ze zahraničí jsou známy příklady firem, které takto fungovaly ještě dříve, než byl tento koncept vytvořen a pojmenován, ale není jich mnoho.
Proč je můj článek nazván tak zvláštně, až skoro neuctivě? Data mesh je něco, co si dnes nemůžete jednoduše koupit a nejspíš to nebude možné ani v budoucnu. Nejedná se o krabicový software, ani o známý koncept, který konzultační společnosti implementovaly mnohokrát. Nejedná se ani o metodiku, kterou nasadíte u zákazníka A, a pak ji stejným způsobem replikujete u zákazníka B. Že jste toto už někdy v minulosti slyšeli? Ano, podobným způsobem se chovají například implementace klíčových ukazatelů výkonnosti, které by v ideálním případě měly být navázány na strategické cíle firmy. Pokud jsou tyto strategické cíle u dvou firem rozdílné, tak jsou výsledkem různé klíčové ukazatele.
V kontrastu s předchozím odstavcem je data mess něco, co je široce dostupné a každá firma to má a zná, tu naši nevyjímaje. V zásadě stačí drobná chyba při zpracování dat a data mess je na světě. Ale tím se nikdo nechlubí, a naopak proti tomu bojujeme všemi prostředky, například použitím data mesh přístupu.
Důvody vzniku data mesh
Než si vysvětlíme, co to vlastně data mesh znamená, pojďme si říci něco o tom, jaké jsou okolnosti, které vyvolávají tlak na vznik nových přístupů k práci s daty. Tou hlavní motivací, kterou bych rád uvedl, je pomalý posun celkové koncepce ukládaní dat od centralistického pojetí k decentralizovanému. To v zásadě znamená, že dříve doporučované přístupy typu „nahrajeme data na jedno místo“, přestávají být za určitých okolností výhodné a je zde vyvíjen tlak na nalezení alternativních možností. Centralizované přístupy datového managementu zahrnují tradiční datové sklady (datawarehouse), novější data lake nebo lakehouse koncepce. Příklady argumentů proti centralizovanému přístupu mohou být následující:
- Pomalý proces implementace nových oblastí dat, který je závislý na kapacitách IT/BI oddělení a pokud kapacity nejsou, nezbývá nic jiného než čekat.
- Přesun znalostí dat od těch zaměstnanců, kteří data znají a pořizují (včetně procesů s tím spojených) směrem k IT/BI, kteří se pak stávají vlastníky těchto dat a dodávají je (nejen) do firmy. Tato znalost jednotlivých oblastí dat se postupně v IT/BI vytrácí s tím, jak odcházejí lidé, kteří se na dané oblasti dat implementačně podíleli.
- Oddělení IT/BI vytváří v organizaci to jediné oddělení, které může používat nástroje pro zpracování dat a blokují přístup k těmto technologiím lidem z ostatních oddělení, což nevytváří tolik potřebnou spolupráci a tvorbu komunity.
- Jen malá část odběratelů dat potřebuje přístup na všechna data najednou na centrálním úložišti, často potřebují jen menší výsek dat, což je řešeno pomocí data martů nebo oprávnění a tato režie může být nákladnější než decentralizované zpracování.
Decentralizovaný přístup v zásadě legalizuje vznik více center pro zpracování dat uvnitř jedné organizace, avšak i zde je velký důraz na to, aby diverzita nebyla technologicky příliš vysoká. Ten nejvyšší cíl, na kterém se napříč organizací pracuje, je ten, aby se data zpracovávala jednotným způsobem, tedy aby existovala governance, na jejímž vytváření a dodržování se podílí všichni, kteří data zpracovávají nebo tomu jinak přispívají. Mezi decentralizované přístupy řadíme právě data mesh nebo také data fabric, přičemž druhý zmíněný může být za určitých okolností také centralistický.
Definice data mesh
Za „zakladatelku“ se obecně považuje softwarová inženýrka Zhamak Dehghani, která v roce 2020 publikovala příspěvek na blogu pojednávající právě o decentralizovaném datovém vlastnictví a správě dat. Definovala také 4 základní principy, na kterých data mesh funguje, které si popíšeme později. Nicméně i před rokem 2020 existovaly firmy, které se podobným konceptem řídily, jen se tomu neříkalo data mesh a nebylo to tak populární.
Uveďme si některé definice data mesh konceptu:
Wikipedia:
Data mesh is a sociotechnical approach to building a decentralized data architecture by leveraging a domain-oriented, self-serve design (in a software development perspective), and borrows Eric Evans’ theory of domain-driven design and Manuel Pais’ and Matthew Skelton’s theory of team topologies. Data mesh mainly concerns itself with the data itself, taking the data lake and the pipelines as a secondary concern. The main proposition is scaling analytical data by domain-oriented decentralization. With data mesh, the responsibility for analytical data is shifted from the central data team to the domain nnov, supported by a data platform team that provides a domain-agnostic data platform.
ChatGPT:
DMAC – Data Management and Analytics Community:
Transition towards Data Mesh principles is no technology inovation project, but a complex, enterprise-level organizational change programme (and should be organized / steered / managed accordingly).
Každá z definic má svůj aspekt, který zdůrazňuje. Vybral jsem je záměrně tak, aby mezi nimi byl co největší rozdíl v pojetí celého konceptu a také proto, aby bylo zřejmé, že se nejedná o technologický přístup k datovému managementu, ale zejména o organizační změnu. Účelem této změny je decentralizace analytické zátěže při zpracování dat a její posun směrem tam, kde tato data vznikají, kde se ví, co ta data významově znamenají a proč a jak se transformují a kde se také očekává vlastnictví těchto dat. Toto místo se stává tzv. doménou a vznikají zde datové produkty. K tomu je ovšem potřeba také výpočetní infrastruktura, na které to celé vznikne. V neposlední řadě nesmí chybět také sada pravidel a metodik, která zajistí, aby produkty napříč organizací byly vzájemně kompatibilní a použitelné. Tato situace je krásně zachycena na obrázku od Zhamak Dehghani:
4 základní pilíře data mesh
Data mesh je tvořen čtyřmi vzájemně propojenými principy, které se navzájem podporují. Pojďme se na ně podívat blíže:
1. Datové domény
Jsou nezávislé jednotky, na kterých je postavena celá decentralizace data meshe. Tyto jednotky jsou tvořeny týmy, které sdílejí stejnou (doménovou) znalost určité oblasti dat, a to ze všech aspektů:
- Sdílí architekturu pro zpracování dat (infrastrukturu, datové pumpy, výpočetní výkon apod.)
- Jsou vlastníky dat této domény
- Jsou zodpovědní za datovou governance (tedy dodržování metodik pro práci s daty)
- Uplatňují datovou governance – tedy provádějí čištění dat, úpravu dat, historizaci, agregaci apod. v souladu s dohodnutými pravidly
- Vytvářejí a dodávají datové produkty do organizace prostřednictvím datového tržiště
- Mohou být odběrateli jiných datových produktů a pomocí nich vytvářet další datový produkt (např. doména objednávek může konzumovat data z domény zákazníků a domény produktů)
2. Datové produkty
V rámci datových domén vznikají datové produkty, které jsou nabízeny na jednom známém místě pro celou organizaci a jejich odběratelé ví, že si pro ně mají chodit zrovna tam.
- Reflektují způsoby použití dat
- Existuje místo pro jejich prezentaci a přihlášení se k jejich odběru (získání)
- Jsou velmi dobře zdokumentované, jednoduše získatelné a použitelné
- Za jejich kvalitu ručí datové domény (vlastníci)
- Jsou důvěryhodné a zabezpečené
- Jsou kompatibilní s ostatními datovými produkty (zajištěno přes governance)
3. Self-Service infrastruktura (datová platforma)
Pro datové domény bývá k dispozici infrastruktura pro zpracování dat tak, aby ji mohly domény samy používat bez nutnosti žádat o tuto službu jiné oddělení (self-service). Očekává se, že nebude k dispozici „vše, co trh nabízí“, ale spíše „vše, co se hodí použít“.
- Doménově orientovaný balík nástrojů pro zpracování a uchovávání dat
- Důraz na jednoduchost použití a nízkou potřebu údržby a podpory
- Ideálně včetně předpřipravených a popsaných návodů pro běžné scénáře čištění dat, transformací, automatizace, ukládání, zabezpečení, sdílení apod
4. Federated governance
Nástrojem, jak koordinovat celý data mesh a jednotlivé datové domény mezi sebou a zajistit si tak použitelnost datových produktů napříč organizací, je sdílená governance, na které se podílí zástupci všech domén, samozřejmě IT/BI a také management.
- Datová governance je globálně koordinována a zajišťuje vzájemnou součinnost a spolupráci mezi datovými doménami
- Koordinace pravidel pro přístup a použití datových produktů
- Společná tvorba standardů, metodik a pravidel, jež jsou uplatňovány v datových doménách
Co nám zatím data mesh přinesl
Technologie vs organizační přístup
Ačkoliv zatím máme velmi omezené možnosti k vyhodnocení, jak přínosný je data mesh pro organizace, které ho zavedly, některé zdroje už přeci jen existují. Můžeme uvést například výzkum již zmíněné DMAC (Data Management and Analytics Community), který byl publikován na University of St. Gallen pod názvem Data Mesh at Scale (Winter and Hackl 2023). V rámci tohoto výzkumu bylo dotazováno 10 korporátních organizací různých velikostí, které se rozhodly data mesh zavést a tyto dotazníky byly následně vyhodnoceny zejména z hlediska centralizace a decentralizace jak datové governance, tak z hlediska datového vlastnictví. Zjištěné tendence jsou velmi zajímavé, například čím větší organizace je, tím více tíhne k decentralizaci. Nicméně zatímco decentralizované vlastnictví dat je přístup, který je žádaný a přínosný, tak u datové governance decentralizace znamená naprostý opak, spíše hrozbu. U datové governance se jako ideální jeví vyvážený přístup mezi centralizací a decentralizací, což odpovídá v definici data mesh pojmu federated (=balanced) governance. Dalším zajímavým zjištěním z tohoto výzkumu je skutečnost, na kterou jsem již poukázal při definicích data mesh, který byl akademiky definován jako: „Transition towards data mesh principles is no technology innovation project, but a complex, enterprise-level organizational change programme (and should be organized / steered / managed accordingly).“
Pánové z DMAC se však nespokojili jen s tímto prohlášením na závěr svého výzkumu, nýbrž své zjištění komunikovali směrem k hype křivce přístupů datového managamentu publikovaného společností Gartner každý rok. V zásadě namítli, že data mesh nemá své oprávněné místo mezi technologickými přístupy, protože se jedná hlavně o přístup organizační. Společnost Gartner jejich námitku přijala, a tak naposledy můžete data mesh vidět na křivce z roku 2022:
Dostatečná zralost organizace na implementaci data mesh
Osobně souhlasím s tvrzením, že data mesh je spíše organizační změna než technologický přístup. Velkou paralelu vidím s postupným zaváděním agilního řízení, které vykazuje naprosto odlišné parametry jako data mesh a je všeobecně vnímáno jako organizační přístup, nikoliv technologie (ačkoliv i ty hrají svou roli). V souvislosti s tím bych poukázal na jeden důležitý aspekt při rozhodování, zda data mesh ano nebo ne – a to je odpověď na otázku, zda je naše organizace dostatečně zralá na to, aby takový přístup zavedla. Výzkumy uvádějí, že méně než 20 procent organizací je na zavádění data mesh opravdu připraveno a má dostatečnou podporu od vrcholového managementu k takové změně. V zásadě bych si dovolil tvrdit, že pokud firma nativně nepoužívá agilní řízení (tím opravdu nemyslím stav, kdy se to zavedlo, nic se nezměnilo, ale máme to), tak by o data mesh přístupu neměla vůbec uvažovat.
Spolupráce
Velmi důležitým aspektem, který je z mého pohledu v data mesh velmi málo akcentován, je spolupráce napříč celou organizací. To znamená, že ti, kteří data znají a vlastní (business) by měli spolupracovat s těmi, kteří mají nástroje pro jejich zpracování a ukládání (IT/BI) a také s těmi, kteří chtějí data používat (analytici, management) za nějakým strategickým účelem (top management). Skoro bych si dovolil říci, že pilíř „federated governance“, pod který toto spadá, by se měl přejmenovat tak, aby obsahoval slovo „collaboration“ a odkaz na vytvoření komunity pro zpracování dat v organizaci, která navzájem spolupracuje, a to je za mě důležitější přínos pro organizaci než nálepka „máme data mesh“.
Kolik stojí data
Jedním z velmi přínosných aspektů data mesh, který s sebou nese decentralizace dat a publikace datových produktů na datovém tržišti, je možnost alokace finančních nákladů na jednotlivé produkty (nebo aspoň domény), včetně statistik využívání datových produktů. Máme-li tedy vytvořené datové tržiště, můžeme vyhledávat datové produkty, které třeba celý rok nikdo nepoužil. Tam bychom měli vznést otázku, zda takové datové produkty potřebujeme a je nutné vynakládat prostředky na jejich pořízení a vlastnictví. Naopak ty nejpoužívanější datové produkty můžeme označit za kriticky důležitá data v organizaci a rozpočty domén pro zpracování dat navýšit. Decentralizované zpracování nám umožňuje lépe sledovat náklady na různé oblasti dat a jejich zpracování, které se v centralizovaném zpracování velmi těžko alokují. Přínosem data mesh tedy je, že se organizace stává nikoliv data driven, ale data value driven. To znamená, že přestává sbírat všechna data „co kdyby je někdo potřeboval“, ale ze svého provozu ví, která data (kdo a k čemu) opravdu potřebuje.
Datový vs analytický produkt
Jedním ze zajímavých postřehů, který je v rámci pilíře datového produktu velmi diskutován, je rozdělení na datový a analytický produkt. Oba se mohou prezentovat na datovém tržišti, ale důležité je, aby byly na první pohled rozeznatelné a aby mezi nimi uměl jejich konzument uměl rozlišovat. Jako datový produkt označujeme data, která mají nějakou strukturu, rozsah a jsou opatřena popisem a dokumentací, k čemu je můžeme používat. V zásadě se jedná o sdílený data set, když bychom použili reportingovou terminologii. S rozvojem virtualizačních technologií se může datový produkt prezentovat také jako (SQL) dotaz, který tyto technologie umí přeložit do jakéhokoliv zdroje. Co je to ale ten analytický produkt? Analytický produkt je vytvořen pomocí datového produktu, případně tento produkt tvoří (ale je oddělitelný od dat samotných). Mezi analytické produkty řadíme například reporty nebo dashboardy, které datové produkty vizualizují. Dále různé analytické modely (dodávané as-a-service), včetně použití AI rozhodovacích automatizačních procesů. Mohou to být také již zmíněné klíčové ukazatele výkonnosti, které se jako výpočtové funkce dodávají na bázi produktů. V neposlední řadě to mohou být také plány, které jsou řazeny spíše do analytických než do datových produktů, pokud jsou tvořeny funkcemi z aktuálních výsledků. V zásadě se tedy jedná o funkce, které si mohou jiné domény „nakoupit“ a aplikovat je (self-service) na svá data (datové produkty), aby získali další hodnotu.
Co nám data mesh ještě přinese?
Na závěr jsem si položil nejtěžší otázku, kterou jsem mohl. Ale pohledem do své křišťálové věštecké koule mohu s jistotou říci, že to, co data mesh čeká bude určité „vystřízlivění“ a zjištění, že to není nikterak převratný přístup, ale přístup, který převrátí celou organizaci a způsob práce v ní. V rámci vystřízlivění bude poukázáno na nedostatečně řešená témata v data mesh, což jsou:
- Metodika, jak a podle čeho nastavovat datové domény
- Metodika, jak zajistit konzistentnost napříč doménami
- Metodika, jak by měly vypadat datové produkty (tak aby byla pochopitelná pro business)
- Kdo a jak bude spravovat tzv. master data produkty, což jsou vlastně sdílené dimenze v organizaci, typicky organizační struktura, produktový číselník apod.
- Kdo a za jakých okolností řekne, že produkt má parametry, že může být publikován na tržišti
- Jaké jsou možné datové zdroje pro připravovaný zcela nový produkt (mohou to být existující produkty, ale co když je tam nějaký zdroj, který ještě nikdo nepoptával a my o něm nevíme)
- Kdo je vlastníkem dat, je to opravdu jejich hlavní pořizovatel nebo to může být i jejich hlavní odběratel
- Jak správně organizovat sdílení datových (a analytických) produktů a uřídit jejich modularitu, použitelnost a zároveň uřídit rychlost a kvalitu dodávky
- Jak vzdělávat a informovat celou organizaci o tom, co data mesh je, jak to funguje a co nám to přináší
- Jak vytvořit spolupracující datovou komunitu ve firmě, která sdílí své znalosti a principy zpracování dat, neustále se vzdělává a své znalosti si vzájemně předává a prohlubuje
Je toho hodně, co by v rámci data mesh mělo být vyřešeno a co bohužel nejde nastavit přístupem „one size fits all“. A to je konec konců důvod, proč jsem si dovolil v úvodu článku říci, že data mesh nelze jednoduše koupit a nainstalovat. Je zde několik dalších věcí, které jsem v článku pominul a jsou nedílnou součástí tohoto konceptu – jsou to určitě business slovníky, datové katalogy, sémantické vrstvy, modelovací principy a veškeré ostatní nástroje, jejichž použití je pro data mesh nepostradatelné. V dnešní době není problém, že by nějaký nástroj chyběl nebo nebyl jednoduše k získání. V dnešní době je problém vybrat ze všech možných nástrojů ten správný mix, který se navzájem doplňuje a je použitelný pro danou organizaci. A o tom ten data mesh je – nikoliv tedy o výběru nástrojů, ale o tom, jak v tomto případě organizovat procesy okolo, aby byl zajištěn budoucí růst jak v rámci procesů, tak v rámci technologií k nim navázaných s cílem vytvořit organizaci, která ví, jaká data se sbírají a proč se sbírají.
Data mesh není jediný přístup, který dnes nabývá na velké popularitě. Za velmi populární můžeme označit data fabric, který také využívá datové produkty. Zatímco data mesh je o organizaci a spolupráci, data fabric více akcentuje samotný přístup k datům (integraci). A aby toho nebylo málo, už se také objevily nápady, jak tyto přístupy zkombinovat. Ale o tom si povíme někdy příště…
Autor: Ondřej Gřešák, oddělení DWH development
ondrej.gresak@dolphinconsulting.cz