Transformace jako verzovaný kód, ne jednorázový skript
dbt (Data Build Tool) je open-source nástroj, kterým se transformují data, která už jsou uložená v datovém skladu, tedy krok „T“ v ELT (viz pojem ETL vs. ELT). Místo jednorázových SQL skriptů, které si upravuje jeden člověk lokálně, definuje transformace jako modely v SQL, verzované, testovatelné a zdokumentované.
Modely místo skriptů
Každá transformace je SQL soubor (model), který popisuje, jak se má výsledná tabulka spočítat. dbt podle vazeb mezi modely pozná, v jakém pořadí je má spouštět, podobně jako to u BigQuery řeší Dataform.
Testy nad výstupem
Ke každému modelu lze přidat test, třeba že klíčový sloupec není prázdný nebo že hodnoty spadají do očekávaného rozsahu. Chyba se tak odhalí dřív, než se dostane do reportu.
Dokumentace, která nezastarává sama od sebe
dbt umí z definic modelů vygenerovat dokumentaci a graf závislostí mezi tabulkami, takže je vidět, co na co navazuje, aniž by to někdo musel ručně kreslit a udržovat mimo kód.
Kde firmy pálí peníze
Problém obvykle nevzniká z dbt samotného, ale z toho, že firma transformace řeší jinak, bez verzování a testů, které dbt jako standard vynucuje.
Transformace jen v hlavě jednoho člověka
SQL skript, který spouští a rozumí mu jeden analytik, je riziko. Když odejde nebo je nedostupný, nikdo jiný neví, co skript přesně dělá ani proč je napsaný zrovna takhle.
Tichá selhání navazujících tabulek
Změna v jedné tabulce rozbije výpočet, který na ni navazuje o několik kroků dál, a nic na to bez testů neupozorní. Chyba se odhalí, až si někdo všimne, že čísla v reportu nesedí.
dbt zavedený, ale bez testů a review
Firma nasadí dbt kvůli verzování, ale testy modelů nikdo nepíše a změny nikdo nekontroluje. Nástroj tím ztrácí většinu důvodu, proč se zavádí, výsledek se od netestovaného skriptu moc neliší.
dbt a Dataform: stejný princip, jiná platforma
dbt a Dataform (viz pojem Dataform) řeší stejný problém, verzované a testovatelné SQL transformace, jen z jiné pozice.
dbt jako platformově nezávislá volba
dbt funguje nad řadou skladů, BigQuery, Snowflake, Databricks nebo Redshift, a je dnes nejrozšířenější nástroj svého druhu. Dává smysl tam, kde firma nechce být vázaná na jednu cloudovou platformu, nebo kde tým už dbt zná z předchozí práce.
Dataform jako nativní řešení pro BigQuery
Dataform dělá v principu totéž, ale je součástí Google Cloudu a nativně zabudovaný do BigQuery, bez nutnosti spravovat další samostatnou službu vedle skladu.
Který nástroj u Datimo
Protože Datimo standardně staví na BigQuery, transformační vrstva u nových zákazníků obvykle jede přes Dataform, ne přes dbt. Princip verzovaných a testovaných transformací je ale stejný, ať firma přijde s existujícím dbt projektem, nebo staví od nuly.
