Sdílet prostřednictvím


Jaká je architektura jezera v medailiónu?

Architektura medailonu popisuje řadu datových vrstev, které označují kvalitu dat uložených v jezeře. Azure Databricks doporučuje použít vícevrstvý přístup k vytvoření jediného zdroje pravdivých informací pro podnikové datové produkty.

Tato architektura zaručuje atomicitu, konzistenci, izolaci a odolnost při průchodu dat několika vrstvami ověření a transformací před uložením v rozložení optimalizovaném pro efektivní analýzu. Termíny bronzová (nezpracovaná), stříbro (ověřeno) a zlato (obohacené) popisují kvalitu dat v každé z těchto vrstev.

Architektura Medallion jako vzor návrhu dat

Architektura medailonu je vzor návrhu dat používaný k logickému uspořádání dat. Jejím cílem je postupně zlepšovat strukturu a kvalitu dat při průchodu jednotlivými vrstvami architektury (od bronzové po stříbrnou až zlatou). Architektury medailonu se někdy označují také jako víceskokové architektury.

Díky postupu dat v těchto vrstvách můžou organizace přírůstkově zlepšit kvalitu a spolehlivost dat, což je vhodnější pro aplikace business intelligence a strojového učení.

Dodržování architektury medailonu je doporučenou osvědčenou praxí, ale není to požadavek.

Otázka Bronzový Stříbro Zlato
Co se stane v této vrstvě? Příjem nezpracovaných dat Čištění a ověřování dat Dimenzionální modelování a agregace
Kdo je zamýšlený uživatel?
  • Datoví inženýři
  • Operace s daty
  • Týmy pro dodržování předpisů a audit
  • Datoví inženýři
  • Datoví analytici (používají silverovou vrstvu pro upřesňující datovou sadu, která stále uchovává podrobné informace potřebné pro hloubkovou analýzu).
  • Datoví vědci (vytváření modelů a provádění pokročilých analýz)
  • Obchodní analytici a vývojáři BI
  • Datoví vědci a technici strojového učení (ML)
  • Vedoucí pracovníci a pracovníci s rozhodovací pravomocí
  • Provozní týmy

Příklad architektury medailiónu

Tento příklad medailonové architektury ukazuje bronzovou, stříbrnou a zlatou vrstvu pro použití týmem pro podnikové operace. Každá vrstva je uložena v jiném schématu katalogu operací.

Bronzové, stříbrné a zlaté vrstvy medailónové architektury

  • Bronzová vrstva (ops.bronze): Ingestuje nezpracovaná data z cloudového úložiště, Kafka a Salesforce. Tady se neprovádí žádné vyčištění nebo ověření dat.
  • Stříbrná vrstva (ops.silver): Vyčištění a ověření dat se provádí v této vrstvě.
    • Data o zákaznících a transakcích se vyčistí vyřazením hodnot null a kvazováním neplatných záznamů. Tyto datové sady jsou spojené s novou datovou sadou s názvem customer_transactions. Datoví vědci můžou tuto datovou sadu použít k prediktivní analýze.
    • Podobně se účty a datové sady příležitostí ze Salesforce připojují k vytvoření account_opportunities, což je rozšířené o informace o účtu.
    • Data leads_raw se vyčistí v datové sadě s názvem leads_cleaned.
  • Zlatá vrstva (ops.gold): Tato vrstva je určená pro firemní uživatele. Obsahuje méně datových sad než stříbro a zlato.
    • customer_spending: Průměrné a celkové útraty pro každého zákazníka.
    • account_performance: Denní výkon pro každý účet.
    • sales_pipeline_summary: Informace o prodejním procesu od začátku do konce.
    • business_summary: Vysoce agregované informace pro vedoucí pracovníky.

Příjem nezpracovaných dat do bronzové vrstvy

Bronzová vrstva obsahuje nezpracovaná a neaktuální data. Data přijatá v bronzové vrstvě mají obvykle následující vlastnosti:

  • Obsahuje a udržuje nezpracovaný stav zdroje dat v původních formátech.
  • Připojuje se postupně a roste v čase.
  • Je určena pro úlohy, které obohacují data pro stříbrné tabulky, nikoli pro přístup datových analytiků a vědců.
  • Slouží jako jediný zdroj pravdy a zachovává věrnost dat.
  • Umožňuje opětovné zpracování a auditování tím, že uchovává všechna historická data.
  • Může to být libovolná kombinace streamovaných a dávkových transakcí ze zdrojů, včetně cloudového úložiště objektů (například S3, GCS, ADLS), sběrnic zpráv (například Kafka, Kinesis atd.) a federovaných systémů (například Lakehouse Federation).

Omezení vyčištění nebo ověření dat

V bronzové vrstvě se provádí minimální ověření dat. Aby se zajistilo proti ztrátě dat, Azure Databricks doporučuje ukládat většinu polí jako řetězec, VARIANT nebo binární, aby se chránilo před neočekávanými změnami schématu. Sloupce metadat mohou být přidány, například provenience nebo zdroj dat (například _metadata.file_name ).

Ověření a odstranění duplicitních dat ve stříbrné vrstvě

Čištění a ověřování dat se provádí ve stříbrné vrstvě.

Vytvořte stříbrné stoly z bronzové vrstvy

Pokud chcete vytvořit stříbrnou vrstvu, načtěte data z jedné nebo více bronzových nebo stříbrných tabulek a zapište data do stříbrných tabulek.

Azure Databricks nedoporučuje ukládat data do stříbrných tabulek přímo během načítání. Pokud píšete přímo z příjmu dat, dojde k selháním kvůli změnám schématu nebo poškozeným záznamům ve zdrojích dat. Za předpokladu, že všechny zdroje jsou pouze pro přidávání, nakonfigurujte většinu čtení z bronzu jako streamingové čtení. Dávkové čtení by mělo být vyhrazeno pro malé datové sady (například malé dimenzionální tabulky).

Stříbrná vrstva představuje ověřené, vyčištěné a rozšířené verze dat. Stříbrná vrstva:

  • Měl by vždy obsahovat alespoň jednu ověřenou, neagregovanou reprezentaci každého záznamu. Pokud agregační reprezentace řídí mnoho podřízených úloh, můžou být tyto reprezentace ve stříbrné vrstvě, ale obvykle jsou ve zlaté vrstvě.
  • Je místo, kde provádíte čištění dat, odstranění duplicitních dat a normalizaci.
  • Vylepšuje kvalitu dat tím, že opraví chyby a nekonzistence.
  • Strukturuje data do vhodného formátu pro další zpracování.

Vynucení kvality dat

Ve stříbrných tabulkách se provádějí následující operace:

  • Vynucení schématu
  • Zpracování hodnot null a chybějících hodnot
  • Odstranění duplicitních dat
  • Řešení problémů se zastaralými a pozdními příchozími daty
  • Kontroly a vynucování kvality dat
  • Vývoj schématu
  • Přetypování
  • Spojení

Zahájení modelování dat

Je běžné začít provádět modelování dat ve stříbrné vrstvě, včetně výběru způsobu, jak znázorňovat silně vnořená nebo částečně strukturovaná data:

  • Použijte VARIANT datový typ.
  • Použijte JSON řetězce.
  • Vytváření struktur, map a polí
  • Zploštit schéma nebo normalizovat data do více tabulek.

Výkonná analytika se zlatou vrstvou

Zlatá vrstva představuje vysoce upřesňující zobrazení dat, která řídí podřízené analýzy, řídicí panely, ML a aplikace. Data ve zlaté vrstvě jsou často vysoce agregovaná a filtrovaná pro konkrétní časová období nebo geografické oblasti. Obsahuje sémanticky smysluplné datové sady, které odpovídají na podnikové funkce a potřeby.

Zlatá vrstva:

  • Skládá se z agregovaných dat přizpůsobených pro analýzy a reportování.
  • Odpovídá obchodní logice a požadavkům.
  • Je optimalizovaná pro výkon dotazů a řídicích panelů.

Sladění s obchodní logikou a požadavky

Ve zlaté vrstvě budete modelovat data pro vytváření sestav a analýzy pomocí dimenzionálního modelu navazováním relací a definováním měr. Analytici s přístupem k datům ve zlatě by měli být schopni najít data specifická pro doménu a odpovídat na otázky.

Protože zlaté vrstvy modelují obchodní doménu, někteří zákazníci vytvářejí několik zlatých vrstev, aby splnili různé obchodní potřeby, jako jsou personální oddělení, finance a IT.

Vytvořte agregace přizpůsobené pro analýzy a sestavování zpráv

Organizace často potřebují vytvářet agregační funkce pro míry, jako jsou průměry, počty, maximum a minimum. Pokud například vaše firma potřebuje odpovědět na otázky týkající se celkového týdenního prodeje, můžete vytvořit materializované zobrazení s názvem weekly_sales, které tato data předem odděluje, aby analytici a ostatní nemuseli znovu vytvářet často použitá materializovaná zobrazení.

CREATE OR REPLACE MATERIALIZED VIEW weekly_sales AS
SELECT week,
       prod_id,
       region,
       SUM(units) AS total_units,
       SUM(units * rate) AS total_sales
FROM orders
GROUP BY week, prod_id, region

Optimalizace výkonu v dotazech a řídicích panelech

Optimalizace tabulek zlaté vrstvy pro výkon je osvědčeným postupem, protože tyto datové sady jsou často dotazovány. Velké objemy historických dat jsou obvykle přístupné ve vrstvě sliver a nejsou materializovány ve zlaté vrstvě.

Řízení nákladů úpravou frekvence příjmu dat

Řízení nákladů určením četnosti příjmu dat

Frekvence příjmu dat Náklady Latence Deklarativní příklady Procedurální příklady
Průběžný přírůstkový příjem dat Vyšší Dolní
  • Streamovací tabulka využívající spark.readStream k příjmu z cloudového úložiště nebo sběrnice zpráv
  • Proces DLT, který aktualizuje tuto streamovanou tabulku, běží nepřetržitě.
  • Kód strukturovaného streamování pomocí spark.readStream v poznámkovém bloku pro příjem dat z cloudového úložiště nebo sběrnice zpráv do tabulky Delta.
  • Poznámkový blok je orchestrán pomocí úlohy Azure Databricks s nepřetržitým spouštěčem úloh.
Aktivovaný přírůstkový příjem dat Dolní Vyšší
  • Streamování tabulky přenosem dat z cloudového úložiště nebo zprávové sběrnice pomocí spark.readStream.
  • Kanál, který aktualizuje tuto streamovací tabulku, se aktivuje naplánovaným spouštěčem úlohy nebo spouštěčem přijetí souboru.
  • Kód strukturovaného streamování v poznámkovém bloku s triggerem Trigger.Available
  • Tento poznámkový blok se aktivuje buď naplánovaným triggerem úlohy, nebo triggerem přijetí souboru.
Dávkové příjem dat s ručním přírůstkovým příjmem dat Dolní Nejvyšší kvůli občasným spuštěním.
  • Streamování tabulek z cloudového úložiště pomocí spark.read.
  • Nepoužívá strukturované streamování. Místo toho použijte primitivy, jako je přepsání oddílu, k aktualizaci celého oddílu najednou.
  • K nastavení přírůstkového zpracování vyžaduje rozsáhlou upstreamovou architekturu, která umožňuje podobné náklady jako čtení a zápisy strukturovaného streamování.
  • Vyžaduje také rozdělení zdrojových dat podle pole datetime a následné zpracování všech záznamů z daného oddílu do cíle.