DBT – Data Build Tool

DBT neboli data build tool je open source software který umožnil revoluci v transformaci v ETL (ELT) procesu, pokud se jedná o SQL

Proč používáme DBT u Digitálních architektů

Původně jsme měli dvě hlavní motivace:

  • zbytečnou složitost orchestrace modelů a
  • náročnost dokumentace jednotlivých modelů.

Orchestrace

Orchestrace datových modelů byl v minulosti složitější úkol, než bylo nutné.

Existuje mnoho možností jak k tomuto úkolu přistoupit:

  1. Orchestrace pomocí času 12:00 12:05 12:10 za chvilku zjistíte, že potřebujete něco mezi a máte modely po minutách. Pokud zjistíte, že potřebujete spustit něco mezi modely ve 12:01 a 12:02, jste ve fázi, kdy je třeba celou orchestraci předělat.
  2. Orchestrace za použití vlastního custom scriptu. Zde to může být velice dobré i velice špatné řešení.
  3. Použití pub/sub nebo jiných messageingových nástrojů. Jedná se o jedno z nejrobustnějších řešení. Bohužel náročnost jeho konstrukce je zbytečně vysoká.
  4. Existují další nástroje, které nám mohou s orchestrací pomoci, bohužel se většinou jedná buď o enterprice řešení typu Airflow nebo nástroj, který primárně slouží k jiným účelům.

Dokumentace

DBT nás vede k tomu vést dokumentaci jednotlivých modelů. Zároveň nám umožňuje Generovat dokumentaci, ve které se dokáže vyznat i business user. 

DBT bohužel neumí automaticky generovat dokumentaci. “Jen” generuje dokumentaci námi zadaných informací.

Další výhody DBT – Data Build Tool

DBT dokáže tvořit Data lineage (viz obrázek). Což nám pomáhá vyznat se v datových modelech, jak spolu souvisejí a jak na sebe navazují.

DBT umožňuje datovým profesionálům přistupovat k datům stylem principy devops. Což jsou principy, bez kterých by moderní vývoj softwaru nemohl existovat.

Umožňuje nám práci s gitem, verzování, testy kódů atd.

Zároveň nám DBT umožňuje alerting, že tvorba našich datových modelů proběhla v pořádku, nebo že nastal nějaký problém. 

DBT má velkou rostoucí komunitu. Jelikož DBT umožňuje práci s balíčky podobným principem jako javascript či python, je možné že objevíte balíček, který vám zásadně usnadní práci.

DBT - Data Build Tool, data lineage

Nevýhody

Jednou z mála nevýhod DBT je, že se jedná o relativně mladý nástroj, jehož stabilní první verze vyšla začátkem roku 2022. Znamená to tedy, že spoustu balíčků se nemusí chovat přesně tak, jak očekáváte.

Zároveň je samozřejmě nutné DBT někde hostovat. Můžeme zvolit DBT cloud nebo si DBT hostovat na vlastním cloudu či onprem řešení.

Přejít nahoru