Co je hub v Data Vaultu?

Hub představuje jeden klíčový obchodní pojem, například zákazníka, produkt nebo účet, jako seznam jeho klíčů: všech, které datový sklad kdy obdržel, každého právě jednou. Ukládá identitu, ne stav, a právě díky této střídmosti v něm zanikají datová sila zdrojových systémů.

Co je hub v Data Vaultu?

Platforma pro automatizaci datových skladů, které důvěřují datové týmy napříč obory

Zní vám to povědomě?

  • Tentýž zákazník je v datovém skladu třikrát, jednou za každý zdrojový systém, a nikdo neumí říct, který záznam je správný.
  • Každý nový zdroj znamená znovu vyjednávat klíče a přepisovat joiny napříč celým modelem.
  • Zdrojový systém přečísloval své záznamy a polovina historie už nesedí.

Každý datový sklad musí ještě před vším ostatním odpovědět na jednu otázku: o jakých věcech tato firma mluví a jak je od sebe rozlišuje? V Data Vaultu je odpovědí hub.

Co je hub

Hub představuje jeden klíčový obchodní pojem: zákazníka, produkt, účet, smlouvu. Není to kopie tabulky ze zdrojového systému. Hub zákazníků obsahuje každý klíč zákazníka, který datový sklad kdy obdržel, z jakéhokoli zdroje, a každý právě jednou.

Hub ukládá identitu, ne stav. O zákazníkovi nic neříká: jméno, adresa a popisné atributy jsou uloženy v satelitech a objednávky a smlouvy zákazníka jsou připojeny přes linky. Hub pouze zaznamenává, že tento klíč existuje, kdy ho datový sklad poprvé obdržel a odkud přišel.

Pokud znáte klasické datové modelování, hub už znáte

Data Vault nenahrazuje to, co jste se o datovém modelování naučili. Využívá to. Vyjděte z konceptuálního modelu, který byste tak jako tak nakreslili: z obchodních pojmů a jejich vzájemných vztahů. Každý pojem, tedy každá entita ve vašem ER diagramu, se stane hubem.

Vezměme klasickou tabulku Customer ve třetí normální formě:

Klasický model Co to je V Data Vaultu
Entita Customer Pojem Hub
customer_number (přirozený primární klíč) Identita Business klíč v hubu
name, address, segment Popisné atributy Satelit
store_id (cizí klíč) Vztah k jinému pojmu Link

Nic se neztratí a nic nového se nevymýšlí. Entita se rozdělí podle hranic, které už znáte: co ji identifikuje, co ji popisuje a s čím souvisí. Hub je prvním z těchto tří prvků, a proto je hledání hubů stejná práce, jakou byste odvedli u každého dobrého konceptuálního modelu: shodnout se na obchodních pojmech a na tom, jak se každý z nich identifikuje.

Anatomie hubu

Hub má čtyři sloupce, nic víc:

  • Hash klíč. Primární klíč: deterministický náhradní klíč, vypočtený jako hash (MD5 nebo SHA-256) z business klíče, případně doplněný o kód kolize tam, kde by dva zdroje mohly stejný klíč používat pro různé věci. V Datavault Builderu se tento kód kolize nazývá Business Key Prefix. Každá tabulka, která na hub odkazuje, vypočte stejnou hodnotu bez vyhledávání.
  • Business klíč. Klíč, který entitu identifikuje v obchodním světě: číslo zákazníka, VIN, IBAN. Jeden sloupec, nebo několik u složeného klíče, například kód společnosti plus číslo zákazníka.
  • Load Date. Kdy byl business klíč poprvé zaregistrován v Data Vaultu.
  • Record Source. Který provozní systém klíč dodal jako první.

Business Key Prefix: stejné číslo, jiná objednávka

Švýcarská i německá dceřiná společnost provozují každá vlastní ERP systém a v obou existuje objednávka 1018. Jsou to dvě různé objednávky od různých zákazníků. Kdyby se hashovalo pouze číslo objednávky, skončily by obě na stejném řádku hubu a vše, co o nich oba systémy vědí, by se smíchalo.

Business Key Prefix je od sebe oddělí. Každý zdroj přidá před hashováním ke klíči svůj prefix, CH|1018 a DE|1018, takže hub objednávek obsahuje dva řádky, jak má. Používejte ho jen tam, kde stejný klíč skutečně může znamenat různé věci. Pokud dva systémy sdílejí klíč se stejným významem, například celoskupinové číslo zákazníka, mají se tyto klíče bez prefixu mapovat na stejný řádek hubu.

Proč u business klíče neodstraňujeme mezery ani ho nepřevádíme na velká písmena

Běžně se doporučuje u business klíče před hashováním odstranit okrajové mezery a převést ho na velká písmena. My to nedoporučujeme. Z c-10442 a C-10442 se tak stane tentýž zákazník a zmizí i mezera na konci, a to i tehdy, když je rozdíl překlepem ve zdroji. Vault pak bez povšimnutí sloučí dva záznamy a jejich vztahy do jednoho. Hub má uchovávat to, co zdroj dodal. Rozhodnutí, že dva klíče znamenají totéž, je obchodní pravidlo a patří na viditelné místo, například do same-as linku.

Jednou zapsat, nikdy neaktualizovat

Huby se pouze doplňují. Každé načtení porovná příchozí klíče s klíči, které už v hubu jsou, a vloží ty nové. Jakmile je business klíč jednou v hubu, zůstane tam navždy: žádné aktualizace, žádná mazání.

Toto pravidlo má dva důsledky. Načtení hubu nezávisí na ničem jiném v modelu, takže se všechny huby mohou načítat paralelně. A neúspěšné načtení lze jednoduše spustit znovu, protože vložit tytéž nové klíče dvakrát není možné.

Kde zanikají datová sila zdrojových systémů

Hub je integračním bodem modelu. Pokud CRM i ERP identifikují zákazníka stejným business klíčem z reálného světa, oba se mapují na stejný řádek hubu a vše, co o tomto zákazníkovi oba systémy vědí, se setká právě tam.

Proto je skutečným návrhovým rozhodnutím volba business klíče. Nejlepší volbou je klíč, který firma používá napříč systémy. Ne vždy je k dispozici v použitelné podobě: zdroj může nést jen své vlastní technické ID, nebo klíč, který se recykluje, je jinak formátovaný nebo u starších záznamů chybí. Jak s tím naložit, je tématem dalšího článku této série: technické versus business klíče. Pokud dva systémy používají pro stejného zákazníka různé klíče, same-as link zaznamená, že k sobě patří.

Co do hubu nikdy nepatří

  • Popisný kontext. Jména, adresy, stavy a částky patří do satelitů. Hub, který sbírá atributy, je převlečený satelit a přestává být stabilní.
  • Cizí klíče. Store_ID v hubu zákazníků je vztah a vztahy patří do linků.
  • Atributy vydávané za pojmy. Stav, kategorie nebo kód měny něco popisují, nejsou to samostatné obchodní pojmy. U transakcí je to jinak: v Datavault Builderu dostane řádek objednávky nebo platba vlastní grain hub, jak vysvětluje článek o linku.
  • Jeden hub pro každý zdroj. Tři huby zákazníků, po jednom pro CRM, ERP a e-shop, znovu vytvoří datová sila, která měl datový sklad odstranit.
  • Náhradní klíče zdrojových systémů, pokud se jim lze vyhnout. Hodnota IDENTITY nebo AUTO_INCREMENT z jedné databáze nemá v dalším systému žádný význam, takže ji vynechte, pokud existuje business klíč. Někdy je to však nejlepší klíč, jaký je k dispozici, například pro verze tabulky, kterou už zdroj historizoval, nebo pro nejnižší granularitu transakce, na kterou nic jiného neodkazuje. Tam může být správnou volbou. Kdy tomu tak je, rozebírá článek o technických versus business klíčích.

Co se mění s Datavault Builderem

V Datavault Builderu definujete obchodní pojem jednou a každý zdroj k němu přiřadíte tím, že určíte jeho business klíč. Tabulka, práce s klíči a načítací kód se z toho vygenerují a běží nativně na vaší databázi, ať už je to Snowflake, Databricks, BigQuery, SQL Server, Fabric, Oracle nebo PostgreSQL.

  • Klíč je rozhodnutím v modelu, ne vzorem v kódu. Vy rozhodujete, co identifikuje zákazníka. Psaní výpočtu hashe a logiky vkládání do tohoto rozhodnutí nepatří.
  • Nové zdroje se mapují na stejný hub. Přidat e-shop znamená namapovat jeho číslo zákazníka na existující hub zákazníků, ne stavět nový.
  • Vzor je pokaždé stejný. Ručně psané načítání hubu se s každým novým zdrojem kopíruje, upravuje a mírně mění. Vygenerované se od vzoru neodchyluje.

Co rozhodnout

Sepište pět až deset obchodních pojmů, o kterých vaše reporty skutečně mluví, a ke každému zapište klíč, kterým ho firma identifikuje. Tam, kde vám dvě oddělení dají různé odpovědi nebo kde zdroj nemá vůbec žádný použitelný klíč, jste našli nejcennější integrační práci celého projektu.

Podívejte se, jak to funguje na jednom z vašich zdrojů

Rezervujte si bezplatné demo a přineste konektor, který vás stojí nejvíce peněz nebo času.

Tři kroky k hubu

  1. Definovat pojem

    Pojmenujte klíčový obchodní pojem, například zákazníka, produkt nebo objednávku, a namodelujte pro něj jeden hub, bez ohledu na počet zdrojů.

  2. Získat data

    Připojte zdrojové systémy, které tento pojem znají, a načtěte jejich tabulky do stagingu.

  3. Namapovat business klíč

    Namapujte klíč každého zdroje na hub a tam, kde tentýž klíč znamená různé věci, použijte Business Key Prefix. Načítací procesy se vygenerují.

Jak Datavault Builder odstraňuje třecí plochy při ingestu dat

  • Ingest dat je integrovaný

    Dávkové, delta i CDC nahrávání z databází, souborů, REST API, NoSQL a Python zdrojů, přičemž proudy jako Kafka přicházejí v micro-batches. Stejná platforma, která generuje datový sklad, bez dalších faktur za licence.

  • Vaše schéma, nikoli schéma dodavatele

    Zdrojové tabulky jsou namapovány na model Data Vault 2.0, který jste sami navrhli. Nový sloupec nebo přejmenovaná tabulka mění pouhé mapování, nikoli řetězec post-load skriptů.

  • Přenášejí se pouze delty

    Huby, linky a satelity nahrávají jen to, co se skutečně změnilo. Plná přenačtení zůstávají ve stagingu, místo aby se každou noc přepočítávala v celém skladu.

  • Historie se uchovává automaticky návrhem

    Každá změna je zachycena tak, jak dorazí, takže historický reporting funguje i tam, kde zdrojový systém přepisuje vlastní záznamy.

  • Kód, který nikdy nemusíte psát ručně

    Nahrávání, historizace a lineage se generují z modelu v reálném čase a běží nativně na Snowflake, Databricks, BigQuery, SQL Serveru, Fabricu, Oracle nebo PostgreSQL.

  • Jedna platforma, až o devět nástrojů méně

    Modelování, ETL, CI/CD, dokumentace a lineage na jednom místě. Právě to umožňuje přejít od zadání požadavku do produkce za 14,7 minuty.

Oceněno společností BARC v The Data Fabric Survey 26

Seznamte se s naším expertem

Dvacet minut s naším obchodním ředitelem a upřímná odpověď, zda se to hodí pro váš technologický stack.

Matt Collett

Matt Collett

Sales Director

Co hledáte?

Odesláním souhlasíte s našimi Zásadami ochrany osobních údajů.

Další problémy, které tato série řeší

  • Technické vs. business klíče

    Technické klíče vs. business klíče v Data Vaultu

    Zdrojové systémy uchovávají business klíč v kmenovém záznamu, ale každý vztah běží přes technické klíče. Čtyři způsoby, jak s tím naložit, co který stojí, a vzor, který používáme my: PSA hub pro technické klíče, namapovaný na hub business klíčů.

  • Business klíč

    Co je business klíč v Data Vaultu?

    Business klíč je identifikátor, který vaši zaměstnanci a zákazníci skutečně používají: číslo zákazníka, číslo faktury, ID smlouvy. Je stabilní, sdílí ho více systémů a staví na něm každý hub v Data Vaultu.

  • Satelit

    Co je satelit v Data Vaultu?

    Satelit obsahuje vše, co popisuje hub: jména, stavy, částky a každou jejich změnu, která se připojí jako nový řádek a nikdy se nepřepisuje. Je to Slowly Changing Dimension typu 2 bez příkazu UPDATE, se zabudovanou úplnou auditní stopou.

  • Link

    Co je link v Data Vaultu?

    Link zaznamenává vztah mezi business klíči: tato objednávka patří tomuto zákazníkovi. Datavault Builder pokrývá klasický link Data Vaultu a přidává transakční link ukotvený na grain hubu, který určuje granularitu transakce a umožňuje vztahy mezi transakcemi.

Otázky a odpovědi