Lineage metadata: Nástroj pro správu kvality dat

3. 12. 2019 ǀ 8 minut

NEJLEPŠÍM ZPŮSOBEM PRO DOSAŽENÍ KVALITY DAT JE KOMBINACE NEBO PROLNUTÍ NÁSLEDUJÍCÍCH TŘÍ TECHNIK: DEKÓDOVANÁ (DECODED) LINEAGE, LINEAGE PODOBNOSTI DAT (DATA SIMILARITY LINEAGE) A LINEAGE RUČNÍHO MAPOVÁNÍ (MANUAL LINEAGE MAPPING).

Lineage metadata: Nástroj pro správu kvality dat

3. 12. 2019 ǀ 8 minut

NEJLEPŠÍM ZPŮSOBEM PRO DOSAŽENÍ KVALITY DAT JE KOMBINACE NEBO PROLNUTÍ NÁSLEDUJÍCÍCH TŘÍ TECHNIK: DEKÓDOVANÁ (DECODED) LINEAGE, LINEAGE PODOBNOSTI DAT (DATA SIMILARITY LINEAGE) A LINEAGE RUČNÍHO MAPOVÁNÍ (MANUAL LINEAGE MAPPING).

Firmy se snaží o získání poznatků z dat, které by jim zajistily konkurenční výhodu. Nejčastější překážkou pro dosažení uvedeného cíle je nízká kvalita dat. Pokud jsou do prediktivního algoritmu zadávána data tzv. špinavá (s chybějícími nebo neplatnými hodnotami), nelze zcela důvěřovat poznatku vytvořenému takovým algoritmem.

K dosažení kvality dat nestačí jen vyčistit historická data. Je nutno zajistit, aby byla čistá všechna nově generovaná data, a to zavedením sady funkcí a procesů pro správu kvality dat označovaných jako data governance (proces správy dat).

V prostředí spravovaných dat má každý typ dat datového správce (stevarda), který odpovídá za definování a prosazování kritérií pro čistotu dat. A každá datová hodnota má jasně definovanou lineage: víme, odkud pochází, jakými proměnami cestou prošla a jaké další datové položky jsou od této datové hodnoty odvozeny.

Lineage dat poskytuje společnostem řadu výhod

  • schopnost provádět dopadovou analýzu nebo analýzu kořenových příčin sledováním lineage dané datové položky směrem zpět (nalezení veškerých dat, která ovlivnila data posuzovaná) nebo vpřed (identifikovat všechna další data, která jsou posuzovanými daty ovlivněna);
  • standardizaci obchodního slovníku a terminologii usnadňující jasnou komunikaci mezi obchodními jednotkami;
  • vlastnictví, odpovědnost a sledovatelnost jakýchkoli změn provedených v datech díky rozsáhlému lineage záznamu o tom, kdo a kdy příslušné změny provedl.

Data Lineage = rodokmen dat, resp. zdokumentovaný původ dat

Zní to skvěle, ale kde informace o lineage dat vzít? Podíváme-li se na konkrétní datovou položku v databázi, zjistíme její aktuální hodnotu, ale už nikoliv informace o tom, jak se data vyvinula do své aktuální podoby. Co chybí, jsou data o datech (lineage metadata), která si automaticky uchovávají čas a zdroj každé změny provedené u každé datové položky, ať už byla změna provedena pomocí softwaru, nebo lidským správcem databáze.

Existují 3 techniky pro sběr lineage metadat

Každá má své silné a slabé stránky

1. Dekódovaná lineage

Spíše než na zkoumání datových hodnot jednotlivých databází a hledání vzájemných podobností se tento přístup zaměřuje výhradně na kód, který data zpracovává. Nástroje v této kategorii (MANTA, Octopai, Spline) snímají veškerou logiku za účelem jejího porozumění a případné zpětné rekonstrukce, a následně pro pochopení, jak jsou data měněna a která data jsou vstupy pro výpočet jiných dat. Tento přístup poskytuje nejpřesnější, nejúplnější a nejpodrobnější lineage metadata, protože je zpracovávána každá jednotlivá část logiky. Zároveň však má některé slabiny:

  • Může být obtížné vyvinout dostatečnou podporu pro tucty programovacích jazyků, které je třeba analyzovat, aby pokryly základy vašeho prostředí. Může vám to také zabránit v nasazení nové technologie, protože váš nástroj pro dekódovánou lineage ji dosud nepodporuje.
  • Verze kódu se v čase mění, takže při analýze datové linie aktuálního kódu může chybět důležitý tok, který byl v minulosti nahrazen.
  • Pokud se jedná o kód dynamický (kód je vytvářen za chodu na základě vstupů programu, dat v tabulkách, proměnných prostředí atd.), je potřeba nalézt způsob, jak tento dynamický kód zpracovat.
  • Všechny změny dat nejsou prováděny kódem. Předpokládejme například, že se na vašem webu vyskytne mimořádný výpadek, který správce databáze opraví ručně provedením posloupnosti příkazů SQL přímo v produkční databázi. Uvedené změny nebudou nikdy nástroji pro dekódovanou lineage detekovány, protože byly generovány správcem databáze, a nikoliv kódem.
  • Kód může s daty i nevhodně zacházet. Předpokládejme například, že váš kód v rozporu s GDPR ukládá osobní identifikační údaje, i přes jasné požadavky produktového manažera, aby se tak nedělo. Nástroj dekódované lineage věrně zachytí, co kód dělá, bez jakéhokoli varování.
  • Předpokládejme, že dvě části kódu ve dvou samostatných procesech provádějí shodné výpočty a vytvářejí stejná duplicitní data v databázi. Analýza kódu nedokáže tuto situaci zjistit, protože každý kus kódu se chová správně. Pouze prozkoumáním vlastních dat lze zdvojení zjistit a odstranit.

2. Lineage na základě podobnosti dat

Tento přístup vytváří informace o lineage zkoumáním dat v databázi bez přístupu k vlastnímu kódu. Nástroje této kategorie (Tamr, Paxata, Trifacta) profilují data ve vašich tabulkách a čtou databázová metadata o tabulkách, sloupcích atd., a následně všechny uvedené informace použijí k vytvoření lineage na základě podobností dat. Na jedné straně bude tento přístup vždy fungovat nezávisle na technologii kódování, protože analyzuje výsledná data bez ohledu na to, která technologie data vygenerovala. Má však několik evidentních slabin:

  • Zjišťování podobností dat v rozsáhlé databázi může zabrat spoustu času a výpočetní kapacity.
  • Ve výsledných metadatech chybí mnoho podrobností, např. transformační logika.

Nelze zjistit lineage metadata o datech, která dosud nebyla zpracována. Předpokládejme například, že existuje účetní proces roční závěrky, který upravuje výnosy nebo stav zásob. Dokud tento proces nebude spuštěn 31. prosince, nebudeme o něm mít k dispozici žádná lineage metadata.

3. Lineage ručního mapování

Tento přístup vytváří lineage metadata mapováním a dokumentováním obchodních znalostí lidí (například rozhovory s vlastníky aplikací, datovými stevardy a specialisty na integraci dat). Výhodou tohoto přístupu je, že poskytuje předepsaný lineage dat (jak by měla data plynout na rozdíl od toho, jak plynou po implementačních chybách). Protože jsou však metadata založena na lidských znalostech, mohou si vzájemně odporovat (protože různí lidé se neshodnou na požadovaném toku dat), nebo být neúplná (pokud o existenci datového souboru nevíte, nikoho se na něj nezeptáte).

Jak vidíte, neexistuje jeden univerzální prostředek, každý přístup má své silné i slabé stránky. Nejlepší řešení kombinuje všechny tři přístupy.

  • Začněte s dekódovanou lineage pomocí nástrojů jako MANTA, Octopai nebo Spline.
  • Přidejte o lineage podobnosti dat s profilací dat a nalezením vzorů v databázi pomocí nástrojů jako Tamr, Paxata nebo Trifacta.
  • Doplňte o lineage ručního mapování za účelem zachycení předepsaných pravidel lineage (například jak se měly implementovat datové toky).

Jakmile tyto techniky úspěšně zkombinujete, získáte komplexní lineage metadata a výhody spravovaných dat.

Moshe Kranc, CTO Ness Digital Engineering

Firmy se snaží o získání poznatků z dat, které by jim zajistily konkurenční výhodu. Nejčastější překážkou pro dosažení uvedeného cíle je nízká kvalita dat. Pokud jsou do prediktivního algoritmu zadávána data tzv. špinavá (s chybějícími nebo neplatnými hodnotami), nelze zcela důvěřovat poznatku vytvořenému takovým algoritmem.

K dosažení kvality dat nestačí jen vyčistit historická data. Je nutno zajistit, aby byla čistá všechna nově generovaná data, a to zavedením sady funkcí a procesů pro správu kvality dat označovaných jako data governance (proces správy dat).

V prostředí spravovaných dat má každý typ dat datového správce (stevarda), který odpovídá za definování a prosazování kritérií pro čistotu dat. A každá datová hodnota má jasně definovanou lineage: víme, odkud pochází, jakými proměnami cestou prošla a jaké další datové položky jsou od této datové hodnoty odvozeny.

Lineage dat poskytuje společnostem řadu výhod

  • schopnost provádět dopadovou analýzu nebo analýzu kořenových příčin sledováním lineage dané datové položky směrem zpět (nalezení veškerých dat, která ovlivnila data posuzovaná) nebo vpřed (identifikovat všechna další data, která jsou posuzovanými daty ovlivněna);
  • standardizaci obchodního slovníku a terminologii usnadňující jasnou komunikaci mezi obchodními jednotkami;
  • vlastnictví, odpovědnost a sledovatelnost jakýchkoli změn provedených v datech díky rozsáhlému lineage záznamu o tom, kdo a kdy příslušné změny provedl.

Data Lineage = rodokmen dat, resp. zdokumentovaný původ dat

Zní to skvěle, ale kde informace o lineage dat vzít? Podíváme-li se na konkrétní datovou položku v databázi, zjistíme její aktuální hodnotu, ale už nikoliv informace o tom, jak se data vyvinula do své aktuální podoby. Co chybí, jsou data o datech (lineage metadata), která si automaticky uchovávají čas a zdroj každé změny provedené u každé datové položky, ať už byla změna provedena pomocí softwaru, nebo lidským správcem databáze.

Existují 3 techniky pro sběr lineage metadat

Každá má své silné a slabé stránky

1. Dekódovaná lineage

Spíše než na zkoumání datových hodnot jednotlivých databází a hledání vzájemných podobností se tento přístup zaměřuje výhradně na kód, který data zpracovává. Nástroje v této kategorii (MANTA, Octopai, Spline) snímají veškerou logiku za účelem jejího porozumění a případné zpětné rekonstrukce, a následně pro pochopení, jak jsou data měněna a která data jsou vstupy pro výpočet jiných dat. Tento přístup poskytuje nejpřesnější, nejúplnější a nejpodrobnější lineage metadata, protože je zpracovávána každá jednotlivá část logiky. Zároveň však má některé slabiny:

  • Může být obtížné vyvinout dostatečnou podporu pro tucty programovacích jazyků, které je třeba analyzovat, aby pokryly základy vašeho prostředí. Může vám to také zabránit v nasazení nové technologie, protože váš nástroj pro dekódovánou lineage ji dosud nepodporuje.
  • Verze kódu se v čase mění, takže při analýze datové linie aktuálního kódu může chybět důležitý tok, který byl v minulosti nahrazen.
  • Pokud se jedná o kód dynamický (kód je vytvářen za chodu na základě vstupů programu, dat v tabulkách, proměnných prostředí atd.), je potřeba nalézt způsob, jak tento dynamický kód zpracovat.
  • Všechny změny dat nejsou prováděny kódem. Předpokládejme například, že se na vašem webu vyskytne mimořádný výpadek, který správce databáze opraví ručně provedením posloupnosti příkazů SQL přímo v produkční databázi. Uvedené změny nebudou nikdy nástroji pro dekódovanou lineage detekovány, protože byly generovány správcem databáze, a nikoliv kódem.
  • Kód může s daty i nevhodně zacházet. Předpokládejme například, že váš kód v rozporu s GDPR ukládá osobní identifikační údaje, i přes jasné požadavky produktového manažera, aby se tak nedělo. Nástroj dekódované lineage věrně zachytí, co kód dělá, bez jakéhokoli varování.
  • Předpokládejme, že dvě části kódu ve dvou samostatných procesech provádějí shodné výpočty a vytvářejí stejná duplicitní data v databázi. Analýza kódu nedokáže tuto situaci zjistit, protože každý kus kódu se chová správně. Pouze prozkoumáním vlastních dat lze zdvojení zjistit a odstranit.

2. Lineage na základě podobnosti dat

Tento přístup vytváří informace o lineage zkoumáním dat v databázi bez přístupu k vlastnímu kódu. Nástroje této kategorie (Tamr, Paxata, Trifacta) profilují data ve vašich tabulkách a čtou databázová metadata o tabulkách, sloupcích atd., a následně všechny uvedené informace použijí k vytvoření lineage na základě podobností dat. Na jedné straně bude tento přístup vždy fungovat nezávisle na technologii kódování, protože analyzuje výsledná data bez ohledu na to, která technologie data vygenerovala. Má však několik evidentních slabin:

  • Zjišťování podobností dat v rozsáhlé databázi může zabrat spoustu času a výpočetní kapacity.
  • Ve výsledných metadatech chybí mnoho podrobností, např. transformační logika.

Nelze zjistit lineage metadata o datech, která dosud nebyla zpracována. Předpokládejme například, že existuje účetní proces roční závěrky, který upravuje výnosy nebo stav zásob. Dokud tento proces nebude spuštěn 31. prosince, nebudeme o něm mít k dispozici žádná lineage metadata.

3. Lineage ručního mapování

Tento přístup vytváří lineage metadata mapováním a dokumentováním obchodních znalostí lidí (například rozhovory s vlastníky aplikací, datovými stevardy a specialisty na integraci dat). Výhodou tohoto přístupu je, že poskytuje předepsaný lineage dat (jak by měla data plynout na rozdíl od toho, jak plynou po implementačních chybách). Protože jsou však metadata založena na lidských znalostech, mohou si vzájemně odporovat (protože různí lidé se neshodnou na požadovaném toku dat), nebo být neúplná (pokud o existenci datového souboru nevíte, nikoho se na něj nezeptáte).

Jak vidíte, neexistuje jeden univerzální prostředek, každý přístup má své silné i slabé stránky. Nejlepší řešení kombinuje všechny tři přístupy.

  • Začněte s dekódovanou lineage pomocí nástrojů jako MANTA, Octopai nebo Spline.
  • Přidejte o lineage podobnosti dat s profilací dat a nalezením vzorů v databázi pomocí nástrojů jako Tamr, Paxata nebo Trifacta.
  • Doplňte o lineage ručního mapování za účelem zachycení předepsaných pravidel lineage (například jak se měly implementovat datové toky).

Jakmile tyto techniky úspěšně zkombinujete, získáte komplexní lineage metadata a výhody spravovaných dat.

Moshe Kranc, CTO Ness Digital Engineering

Přečtěte si také

Lineage metadata: Nástroj pro správu kvality dat

Nejlepším způsobem pro dosažení kvality dat je kombinace 3 technik. Jakých?

Rozhovor o datové analytice a jejích trendech

Proč se datové analytice věnovat a kam se bude její vývoj v budoucnu ubírat

Jak na průmyslový internet věcí?

Praktické využití průmyslového internetu věcí a co zvážit před implementací

Přečtěte si také

Lineage metadata: Nástroj pro správu kvality dat

Nejlepším způsobem pro dosažení kvality dat je kombinace 3 technik. Jakých?

Rozhovor o datové analytice a jejích trendech

Proč se datové analytice věnovat a kam se bude její vývoj v budoucnu ubírat

Jak na průmyslový internet věcí?

Praktické využití průmyslového internetu věcí a co zvážit před implementací