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:
- 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.
- Orchestrace za použití vlastního custom scriptu. Zde to může být velice dobré i velice špatné řešení.
- 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á.
- 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.
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í.