Data Vault – přehled

Foto: Markus Spiske na Unsplash

Data Vault je inovativní metodika modelování dat pro rozsáhlé platformy Data Warehouse. Data Vault, který vynalezl Dan Linstedt, je navržen tak, aby poskytoval podnikový datový sklad a zároveň odstraňoval nevýhody normalizované (3. normální forma) a techniky dimenzionálního modelování. Kombinuje centralizované úložiště surových dat přístupu Inmon s výhodami inkrementálního sestavování přístupu Kimball.

Tento článek shrnuje nevýhody přístupu 3NF a Dimenzionálního modelování a uvádí výhody a nevýhody přístupu Data Vault. Nakonec obsahuje odkazy na užitečnou základní literaturu a jeho cílem je odpovědět na otázku:

Měl bych na svém projektu datového skladu použít Data Vault?

Jaký problém se Data Vault snaží řešit?

Před shrnutím problémů, které se Data Vault snaží řešit, stojí za to zvážit alternativní přístup k modelování dat a odpovídající datové architektury. Níže uvedený diagram ukazuje potenciální podnikovou datovou architekturu.

Podnikový datový sklad

Podnikový datový sklad

Při přístupu EDW se data načítají do přechodné oblasti Landing Area, poté se pomocí řady procesů ETL načítají data do podnikového datového skladu 3. normální formy. Data jsou následně extrahována do dimenzionálních datových skladů pro analýzu a reporting.

Mezi nejvýznamnější nevýhody tohoto přístupu patří:

  1. Doba uvedení na trh: Podnikový datový sklad musí nejprve integrovat data z jednotlivých zdrojových systémů do centrálního datového úložiště, než jsou k dispozici pro reporting, což zvyšuje časovou náročnost projektu.
  2. Složitost a dovednosti:
  3. Nedostatek flexibility:
  4. Datový sklad může potřebovat integrovat data ze stovky zdrojů a návrh celopodnikového datového modelu pro podporu složitého obchodního prostředí je značnou výzvou, která vyžaduje vysoce kvalifikované odborníky na datové modelování: Třetí normální forma modelu má tendenci modelovat stávající datové vztahy, což může vést k relativně nepružnému řešení, které je třeba při přidávání dalších zdrojů výrazně přepracovat. Ještě horší je, že příliš horliví odborníci na modelování dat se to často snaží překonat tím, že dodávají příliš složité obecné modely, kterým je téměř nemožné porozumět.

Přístup dimenzionálního návrhu

Následující diagram znázorňuje potenciální datovou architekturu pro klasický návrh dimenzionálního datového skladu.

Dimenzionální návrh

Výše uvedený přístup se obejde bez EDW, aby bylo možné rychle dodat výsledky koncovým uživatelům. Tuto techniku jsem použil v roce 2008 v londýnské investiční bance první úrovně, abych poskytl podnikovým uživatelům hodnocení úvěrového rizika během několika týdnů od zahájení projektu. Kdybychom čekali na vybudování tradičního datového skladu, zkrachovali bychom dřív, než bychom dodali něco užitečného.

Zpočátku byli obchodní uživatelé rychlostí dodání nadšeni; časem jsme však narazili na mnoho problémů, jejichž řešení bylo stále bolestivější. Mezi ně patřilo:

1. Rostoucí složitost kódu: Kód ETL (Extract, Transform, and Load) se stával tak složitým, že již nebyl zvládnutelný. Nahrazení nástroje ETL (Informatica) skripty Oracle pomohlo (protože jsme řešení postupně zjednodušovali), ale to nebylo jádrem problému. Snažili jsme se restrukturalizovat příchozí data, deduplikovat, čistit a přizpůsobovat data a aplikovat měnící se obchodní pravidla v čase. Provést všechny tyto kroky v jediné kódové základně bylo skutečně velmi obtížné.

2. Nedostatek surových dat: Vzhledem k tomu, že přistávací plocha byla čistě přechodná (pokaždé se smazala a znovu načetla), neměli jsme k dispozici žádné historické záznamy surových dat. To ztěžovalo analytikům objevování nových cenných datových vztahů a rostoucí význam datové vědy, která (především) potřebuje surová data, byl jednoduše ignorován.

3. Správa historie: Protože jsme neměli žádnou historii surových dat a načítali jsme pouze atributy potřebné pro analýzu, bylo obtížné zpětně doplňovat další datové kanály.

4. Řazení bylo náročné: Vzhledem k tomu, že technická i obchodní logika byla implementována ve stále se zvětšujících sedimentárních vrstvách zdrojového kódu, bylo téměř nemožné sledovat linearitu datové položky z reportu zpět do zdrojového systému.

Podnikům se líbila počáteční rychlost dodání. S postupem času však bylo stále obtížnější udržet tempo, protože řešení bylo stále složitější a obchodní pravidla se časem měnila.

Architektura datového trezoru

Níže uvedený diagram ukazuje možnou datovou architekturu používanou metodikou datového trezoru.

Architektura datového trezoru

Ačkoli na první pohled vypadá velmi podobně jako výše uvedená architektura podnikového datového skladu, má několik významných rozdílů a podobností, mezi které patří:

  • Načítání dat: Při načítání dat z oblasti Landing Area do datového skladu Raw Data Vault se jedná výhradně o restrukturalizaci formátu (nikoliv obsahu) dat. Zdrojová data nejsou čištěna ani upravována a mohla by být bez problémů zcela rekonstruována.
  • Oddělení odpovědnosti: V surovém trezoru jsou uložena nezměněná surová data a jediné zpracování je zcela technické, aby se data fyzicky restrukturalizovala. Obchodní pravidla dodávají další tabulky a řádky pro rozšíření surového trezoru o obchodní trezor. To znamená, že obchodní pravidla jsou odvozena i uložena odděleně od surových dat. Toto oddělení odpovědnosti usnadňuje správu změn obchodních pravidel v čase a snižuje celkovou složitost systému.
  • Obchodní pravidla: Výsledky obchodních pravidel, včetně deduplikace, shodných výsledků a dokonce i výpočtů, jsou uloženy centrálně v obchodním trezoru. To pomáhá vyhnout se duplicitním výpočtům a potenciálním nekonzistencím, pokud jsou výsledky počítány pro dva nebo více datových skladů.
  • Datové sklady: Na rozdíl od Kimballovy metody, při níž jsou vypočtené výsledky uloženy v tabulkách Fact a Dimension v datových martech, jsou při použití přístupu Data Vault datové marty často efemérní a mohou být implementovány jako pohledy přímo nad Business a Raw Vault. To znamená, že se jednak snadněji upravují v průběhu času, jednak se zamezí riziku nekonzistentních výsledků. Pokud pohledy neposkytují potřebnou úroveň výkonu, existuje možnost ukládat výsledky do tabulky.

Výhody datového skladu

Datový sklad řeší potíže spojené jak s přístupem podnikového datového skladu 3. normální formy, tak s přístupem dimenzionálního návrhu tím, že kombinuje nejlepší aspekty obou v jediném hybridním přístupu. Mezi výhody patří:

1. Přírůstkové poskytování: Přestože je rozumné budovat jakýkoli datový sklad v kontextu celkového podnikového modelu, Data Vault podporuje zcela inkrementální dodávku. Stejně jako u Kimballova přístupu Dimensional Design můžete začít v malém a časem postupně přidávat další zdroje.

2. Flexibilita: Na rozdíl od přístupu modelování ve 3. normálním tvaru, který může být nepružný, Data Vault nevyžaduje při přidávání dalších zdrojů žádné přepracování. Protože Data Vault ukládá surová a odvozená obchodní data odděleně, snadno podporuje změny obchodních pravidel.

3. Snížení složitosti: Vzhledem k tomu, že Data Vault je sestaven ve dvou krocích, odděluje technickou restrukturalizaci dat od aplikace obchodních pravidel, což pomáhá tyto potenciálně složité fáze izolovat. Stejně tak čištění dat je považováno za obchodní pravidlo a může být řízeno nezávisle na počátečním úsilí o načtení dat.

4. Včetně surových dat: Zaznamenání nezpracovaných dat do datového trezoru znamená, že je možné zpětně doplnit oblast prezentace o historické atributy, které nebyly původně zpřístupněny. Pokud jsou Data Marty implementovány jako pohledy, může to být stejně jednoduché jako přidání dalšího sloupce do existujícího pohledu.

5. Elegantně podporuje změny v čase: Podobně jako pomalu se měnící dimenze v Kimballově přístupu Data Vault elegantně podporuje změny v čase. Na rozdíl od čistého dimenzionálního návrhu však Data Vault odděluje surová a odvozená obchodní data a podporuje změny vyplývající jak ze zdrojového systému, tak z obchodních pravidel.

6. Lineage a audit: Jelikož Data Vault obsahuje metadata identifikující zdrojové systémy, usnadňuje podporu linearity dat. Na rozdíl od přístupu Dimensional Design, při kterém se data před načtením čistí, jsou změny v Data Vault vždy přírůstkové a výsledky se nikdy neztrácejí, což poskytuje automatickou auditní stopu.

7. Vysoce výkonné paralelní načítání:

8. Možnost automatizace: Díky zavedení klíčů Hash ve verzi Data Vault 2.0 jsou odstraněny závislosti na načítání dat, což znamená, že kromě paralelního načítání terabajtů až petabajtů dat je možné načítat data téměř v reálném čase:

Nevýhody Data Vault

Data Vault není dokonalé univerzální řešení pro každý datový sklad a má několik nevýhod, které je třeba vzít v úvahu. Mezi ně patří:

1. Křivka učení: Stejně jako jsou 3. normální forma, modelování vztahů entit a dimenzionální návrh specifickými dovednostmi, jejichž zvládnutí vyžaduje čas, existuje i u Data Vaultu křivka učení. Pustit se do projektu transformace datového skladu s sebou nese značná rizika a přidání služby Data Vault může toto riziko zvýšit, zejména pokud tento tým nemá zkušenosti se službou Data Vault. Kromě školení klíčových osob se ujistěte, že máte k dispozici odborné poradenství a podporu.

2. Hodně spojů: Špatně navržený návrh Data Vault vytvoří obrovské množství zdrojových tabulek odvozených od systému, ale i dobře navržené řešení znásobí počet zdrojových tabulek dvojnásobně nebo trojnásobně. Počet tabulek, a tedy i spojů, se může jevit jako nepřehledný a vést ke složitým podmínkám spojování. To však lze vyřešit správným použitím překlenovacích tabulek v Business Vaultu a jako u každého řešení jde o kompromis zdánlivé složitosti a flexibility.

Kde použít Data Vault?

Data Vault vyžaduje určitou přísnost při poskytování dobrého návrhu a dodržování zásad Data Vault 2.0. V případě, že se jedná o řešení, které je v rozporu se zásadami Data Vault 2.0, je třeba se zaměřit na to, aby bylo možné použít Data Vault. Stejně jako Enterprise Data Warehouse je navržen pro integraci dat z několika datových zdrojů, a proto může být v některých situacích nadbytečný.

Shrnem lze říci, že pokud máte malý až středně velký analytický požadavek s malým (do 10) týmem architektů, návrhářů a inženýrů, kteří dodávají řešení s daty pocházejícími z několika systémů, pak může být Data Vault pro vaše potřeby nevhodný.

Pokud však máte velký projekt s 30 a více zdrojovými systémy vedoucími k obrovské výzvě v oblasti integrace dat a jste připraveni převzít dovednosti a přísnost nové metodiky, pak Data Vault může potenciálně přinést projektu obrovskou přidanou hodnotu.

Další zdroje a nástroje

Následující zdroje mohou pomoci vyhodnotit a pochopit metodu Data Vault:

  • Kent Graziano (certifikovaný mistr Data Vault) má shrnutí Data Vault, které stojí za přečtení.
  • Genesee Academy (školení) poskytuje dobrý úvod do hlavních principů Data Vault.
  • Britská konzultační společnost Data Vault poskytuje informativní shrnutí často kladených otázek, které řeší mnoho bezprostředních problémů.
  • Dan Linstedt má obrovské množství podrobných článků o detailech kolem Data Vault.
  • Building a Scalable Data Warehouse with Data Vault 2.0 – je referenční kniha Dana Linstedta.
  • The Elephant in the Fridge – je přístupný úvod do Data Vault.

Ačkoli by neměly být v žádném případě považovány za doporučení, zde je krátký seznam nástrojů, které mohou pomoci automatizovat poskytování služby Data Vault.

  • dbtvault
  • Wherescape
  • VaultSpeed
  • Data Vault Builder
  • Joyn – lehký open source automatizační framework

Závěr

Při přesunu on-premise projektů datových skladů do cloudu, stále více podniků přehodnocuje způsob architektury datového skladu. Přechod od několika nezávislých on-premise datových sil k modernímu cloudovému řešení je jedinečnou příležitostí, jak integrovat data z celého podniku do jediného konzistentního úložiště.

Pokud je to výzva, které čelíte, pak vám Data Vault může pomoci poskytnout řešení.

Pokud vám tento článek pomohl, možná vás bude zajímat můj osobní blogový web (absolutně bez reklamy) na adrese www.Analytics.Today.

Odmítnutí odpovědnosti: Názory vyjádřené v mých článcích jsou mé vlastní a nemusí nutně odrážet názory mého zaměstnavatele (minulého nebo současného) nebo dokonce jakéhokoli klienta, se kterým jsem pracoval.

Leave a Reply