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íčů.
Zní vám to povědomě?
- Tabulka objednávek nese jen interní systémové ID zákazníka a číslo zákazníka je v jiné tabulce.
- Každý zdroj dostal vlastní hub zákazníků a data se nikdy nespojila.
- Joiny ve stagingu dohledávají business klíče ve zdroji a nikdo už nedokáže doložit, co zdroj skutečně dodal.
Data Vault staví na business klíčích: jsou stabilní, sdílí je více systémů a přečkají migrace. Potíže začínají, když se podíváte, jak zdrojové systémy vztahy skutečně ukládají.
Problém: vztahy běží přes technické klíče
Většina zdrojových systémů uchovává business klíč v entitě, kterou klíč definuje. Tabulka zákazníků obsahuje číslo zákazníka. Vztahy však používají vlastní technické klíče systému:
| Tabulka | Sloupce |
|---|---|
Customer |
customer_id = 10492, customer_number = CUST-9921, jméno, adresa |
Order |
order_id = 884102, order_number = SO-1018, customer_id = 10492 |
Objednávka zná svého zákazníka jen jako 10492. Aby se dala připojit k hubu zákazníků, jehož
klíčem je CUST-9921, musí se jedno přeložit na druhé.
Z pohledu klasického modelování: zdroj používá pro své cizí klíče náhradní klíče, kdežto Data Vault chce přirozený klíč. Otázkou je, kde se překlad odehraje.
Čtyři způsoby řešení
| Přístup | Jak funguje | Háček |
|---|---|---|
| 1. Zdrojový vault pro každý systém | Samostatné huby pro zákazníky z CRM a zákazníky z fakturace, s technickými ID jako klíči | Technicky proveditelné, ale data se nikdy neintegrují |
| 2. Zdrojová API s business klíči | Požádat každý zdroj, aby každý vztah dodával s business klíči | Velmi příjemné, pokud k tomu dojde, což bývá zřídka |
| 3a. Vlastní dohledávání během stagingu | Během stagingu nahradit technické klíče business klíči pomocí dotazů do zdroje | Funguje to a máte to pod kontrolou, ale data se upraví dřív, než se zapíší, takže už nejsou auditovatelná, a dohledávání zatěžuje produkční systémy, kam nepatří |
| 3b. Dohledávání po stagingu | Nahradit technické klíče joinem po stagingu, buď proti tabulkám stagingu, nebo proti vaultu | Join proti tabulkám stagingu znemožňuje inkrementální načítání, protože join potřebuje celé tabulky. Join proti vaultu funguje, ale data se stále upravují dřív, než se načtou |
| 4. PSA huby | Načíst technické klíče do vlastního hubu a namapovat je na hub business klíčů | Při dotazování o jeden vygenerovaný join navíc. Díky načítání do Business Vaultu může odpadnout. |
Vzor, který používáme: PSA huby
PSA hub je hub pro technické klíče zdrojových systémů. PSA znamená persistent staging area, ale ne tu, o které se mluví v souvislosti s data lakem, tedy plochou kopii zdrojových tabulek: tato je už ve formátu vaultu, s huby a linky a se satelity tam, kde jsou potřeba. V příkladu níže PSA neobsahuje vůbec žádné atributy, jen technické vztahy: popisná data jsou na hubu business klíčů.
Každý pojem dostane dva huby, nikdy ne jeden pro každý zdrojový systém:
- PSA hub uchovává technické klíče všech systémů, každý doplněný o
Business Key Prefix:
CRM|10492,ERP|80012. - Hub v Raw Vaultu uchovává business klíče bez prefixu:
CUST-9921.
Načítání pak nepotřebuje vůbec žádný překlad:
- Transakce se načítají tak, jak byly dodány. Objednávka
884102souvisí se zákazníkemCRM|10492přes link mezi PSA hubem objednávek a PSA hubem zákazníků, s technickými klíči přesně v té podobě, v jaké je má zdroj. - Mapování zajistí kmenové záznamy. Záznam zákazníka nese
10492iCUST-9921, takže spojuje klíč z PSA s business klíčem, n:1. Na stejného zákazníka mohou odkazovat technické klíče z několika systémů. - Satelity patří na hub business klíčů. Jméno a adresa zákazníka popisují
CUST-9921, ať je dodal kterýkoli systém.
Stejný vzor se opakuje u každého pojmu: objednávek, produktů, smluv.
Dotazování: jedna cesta a zkratka
Aby dotaz vrátil objednávky s integrovaným zákazníkem, prochází od objednávky k PSA hubu objednávek, po technickém vztahu k PSA hubu zákazníků a odtud k zákazníkovi:
Order → Order PSA → Customer PSA → Customer
To je surová, plně dohledatelná cesta. Tam, kde dotazy musí být rychlejší, nakonfigurujete načítání do Business Vaultu, které vytvoří exploration link: cestu vyhodnotí jednou a uloží přímý vztah mezi objednávkou a zákazníkem. Reporty čtou krátkou cestu, dlouhá zůstává jako auditní stopa.
Co získáte
- Nic se neupravuje dřív, než se zapíše. Technické klíče se načítají tak, jak je zdroj dodal, takže každý řádek zůstává auditovatelný.
- Žádné dohledávání v produkčních systémech. Překlad se odehrává uvnitř datového skladu.
- Rychlé zápisy. Načítání nepotřebuje vůbec žádné dohledávání, takže se každý zdroj načte tak rychle, jak dodává, a exploration link se vytvoří dodatečně a asynchronně.
- Integrovaný výstup. Každý zákazník je ve výstupu jen jednou, s business klíčem jako klíčem a s připojenými transakcemi ze všech systémů.
- Dopad migrací zůstane omezený. Když se zdrojový systém nahradí, jeho nové technické klíče se namapují na tytéž business klíče a historie stále na sebe navazuje.
Co se mění s Datavault Builderem
Datavault Builder podporuje PSA, Raw Vault i Business Vault a všechny tři tvoří jeden integrovaný model. Každou vrstvu lze vyvíjet v agilních krocích, podle potřeby: začněte PSA huby, přidejte mapování na business klíče a exploration link nakonfigurujte tam, kde si o něj dotaz řekne.
Business Key Prefix, který od sebe odděluje CRM|10492 a ERP|10492, je součástí modelu a
huby, linky a načítání tohoto vzoru se generují stejně jako všechny ostatní. Modelovací
rozhodnutí zůstává na vás: jaký pojem, jaký business klíč a kde se exploration link vyplatí.
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 od technických k business klíčům
-
Načíst Raw Vault jako obvykle
Huby business klíčů a jejich satelity, načtené z kmenových záznamů přesně tak, jak to popisuje literatura.
-
Přidat PSA huby pro technické klíče
PSA huby uchovávají technické klíče doplněné o Business Key Prefix a vztahy mezi nimi běží přes tyto klíče.
-
Zkrátit cestu, pokud se to vyplatí
Tam, kde dotaz skutečně potřebuje rychlost, exploration link jednorázově uloží přímý vztah.
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.
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
Sales Director
Skvělé, vyberte si vyhovující termín:
Další problémy, které tato série řeší
-
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.
-
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.
-
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.
-
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ů.
Otázky a odpovědi
- Dan Linstedt. Metodu vyvinul v 90. letech a zveřejnil ji kolem roku 2000. Data Vault 2.0, který k modelu přidává hash klíče, metodiku a architekturu, následoval v roce 2013.
- Standardní referencí je kniha Building a Scalable Data Warehouse with Data Vault 2.0 od Dana Linstedta a Michaela Olschimkeho (Morgan Kaufmann, 2015).
- Ne. Bill Inmon vidí v Data Vaultu další vývoj svého pojetí podnikového datového skladu ve třetí normální formě, nikoli konkurenční přístup.
- Ne. Dimenzionální výstup bývá součástí implementace Data Vaultu: vault uchovává integrovanou historii a nad ním se pro reporting stavějí hvězdicová schémata. Tentýž vault může dodávat i ploché tabulky nebo Unified Star Schema.
- Díky automatizaci lze pohled ve třetí normální formě nad Data Vaultem vygenerovat zcela deterministicky. Vault ukládá data jen jednou a vrstva 3NF se odvozuje z modelu. Jak to funguje.
- Pokusit se o něj bez automatizace. Data Vault stojí na malé sadě přísných, opakujících se vzorů. Právě proto je ruční psaní zdlouhavé a náchylné k chybám, kdežto generování je přímočaré. Proto byste měli používat Datavault Builder.
- Ano. Rozdělení klíčů, vztahů a historie do hubů, linků a satelitů znamená více tabulek než u normalizovaného nebo dimenzionálního modelu. Proto by fyzickou vrstvu měl odstínit přístup řízený modelem, jako je Datavault Builder: pracujete s modelem obchodních pojmů a tabulky se generují.
- Objednejte si demo a podívejte se, jak vzniká Data Vault nad vašimi vlastními zdroji, nebo si objednejte školicí prostředí a vyzkoušejte si to sami.
- Tady. Datavault Builder je řešení pro automatizaci Data Vaultu: podívejte se na ceny nebo si objednejte demo.
- Datavault Builder se licencuje ročně, formou předplatného práva na užívání softwaru. Trvalé licence jsou k dispozici na vyžádání. Edice a jejich obsah najdete na stránce s cenami.