DBT vs. Dataform | Mňamka #177

To, že máme v Bizztreatu rádi dbt, už víte. CTomča se o tom rozpovídal třeba v tomhle videu.

Nedávno se ale na trhu udála další zajímavá věc - do Google Cloud rodinky se přidal Dataform. A Dataform je produkt hodně podobný dbt (oba “dělaj to T v ELT”), takže jsme se rozhodli si na to trochu posvítit a oba produkty srovnat.

Co mají společného? 

Tak hlavně “dělaj to T v ELT”, což znamená, že umožňují vytvořit transformační vrstvu nad vaším DWH - umí materializované tabulky, ale také umí viewčka a to tak, že ty viewčka dokáží zorchestrovat, jinými slovy vytvořit strom závislostí (dependency tree) pomocí ref funkce a sami tak vyhodnotí, ve kterém pořadí mají příkazy běžet. Na extrakci dat do svého DWH nebo posílání dat ven z DWH musíte využít jiný nástroj, “E” ani “L” se tady neřeší.

Oba produkty podporují version control, tj. gitování a v Bizztreat platí, že co nejde zagitovat, to letí z okna ven :) Kdyby to šlo, gitujeme i sami sebe.

Dále se oba produkty samo dokumentují (to zní blbě... prostě self-dokumentují), což znamená, že v cloudovém prostředí si z metadat lehce vygenerujete nebo zobrazíte dokumentaci včetně datové lineage a možnosti vyhledávat (data discovery). Oba tooly navíc umožňují napsat popisky tabulek a sloupců velmi blízko SQL kódu (dbt v yamlu vedle, Dataform v tzv. SQLX přímo nad SQL kódem) a to je prostě lepší než to (ne)psát někam do Confluence.

No a pak jsou tu data testy! Oba nástroje umí otestovat datovou kvalitu, dbt toho umí trochu víc a trochu líp (viz níže), ale i Dataform nabízí testovat tzv. assertions a proaktivně si tak hlídat datovou kvalitu. V bizztreat je to mimochodem důležitou součástí našeho DQA frameworku (mrkněte na DQA ebook). V obouch nástrojích se testy definují tam, kam píšete popisky tabulek a sloupců, všechno je zkrátka pěkně po ruce.

V čem vede dbt

Asi neexistuje projekt, kde by nesnapshotovalo. A v tomhle je dbt trochu dál než Dataform, protože má implentovanou pomalu se měnící dimenzi (to zní ještě hůř... prostě type-2 Slowly Changing Dimension). Další vychytávku, kterou zatím umí jen dbt, je možnosti si nadefinovat svoje vlastní globální testy datové kvality, které jsou 100% konfigurovatelné pro jakkouliv tabulku (je to tedy takové makro, které napíšete jednou, a pak ho můžete pouštět na jakékoliv tabulce/sloupci). No a v neposlední řadě dbt je kombinace SQL a Jinja, to znamená Pythonu a Python nemáme rádi jen my, ale i poměrně rozsáhlá komunita lidí kolem dbt.

A ještě jedna důležitá věc: dbt pustíte nad všemi nejběžnějšími DWH, u Dataform se už brzy  budete muset spokojit jen s BigQuery, protože produkt bude integrován do Google Cloud platformy. Na stránkách Dataform se aktuálně dočtete: “We plan to turn down the legacy Dataform product within 3 months of integration completion. If you are an existing Dataform customer using a non-BigQuery warehouse and won’t be able to migrate over to the new product inside BigQuery then you will have 3 months to migrate to a non-Dataform solution once integration is complete.”

V čem vede Dataform

Online prostředí Dataform je velmi intuitivní a setup projektu má zmáknutý opravdu skvěle - je to doslova na 2 kliknutí - a očekáváme, že i po integraci do BigQuery to nebude o nic složitější. No a pokud jste nejen milovníci Google Cloud, ale i JavaScriptu, tak to může být zajímavá alternativa dbt.

Pricing

Cloud/Web prostředí
Dbt Cloud je zdarma pro jednoho developera, pro týmy začíná od $50 na měsíc per developer, viz. dbt pricing. Dataform je zatím zcela zdarma, viz. Dataform pricing, ale momentálně probíhá integrace do BigQuery.

CLI
My si dbt jedeme v CLI, protože ho integrujeme s Bizzflow (jazyk samotný je open source, takže zcela zdarma). Instalace je jednoduchá - poté, co mi CTomča pomohl zapnout počítač, jsem to “pip install dbt” zvládla pustit i já. Jak na instalaci můžete mrknout zde

I Dataform můžete pouštět lokálně a integrovat, mrkněte na návod na instalaci. Místo pip zde musíte sáhnout po npm a customizaci si místo v Pythonu jedete v JavaScriptu.

Shrnutí

U nás vede dbt, protože je zkrátka dál, můžeme toho s ním více vyvádět a integrovat do Bizzflow na všech platformách. Ale i na ten Dataform v BigQuery se těšíme, to né, že ne!

Zapomněla jsem na něco? Chcete se na něco zeptat? Napište mi. 

Verča

Veronika Špryslová
datový detektiv
LinkedIn

UI/UX case study v analýze sentimentu | Mňamka #341

UI/UX case study v analýze sentimentu | Mňamka #341

Už jste se někdy zajímali o to jak lidé vaši značku vnímají? A pokud ano, využili jste k tomu data a postavili si na to dashboard? Že ne? Tak se pojďte podívat na případovku z Indonésie na nejmenované zdravotní organizaci. Autor nás provede celým procesem od výzkumu po realizaci.

Proč mít datový katalog? | Mňamka #340

Proč mít datový katalog? | Mňamka #340

Slovní spojení jako Datová kultura, datová inteligence atd. buď od nás anebo někde z internetů dávno znáte. Jak je ve společnosti co nejjednodušeji etablovat? Pomoci s tímto problémem by mohl takzvaný datový katalog. Pojďte se dozvědět co to je a proč je tak důležitou součástí datové infrastruktury mnoha firem.

Multi-barevné vizualizace a jak na ně | Mňamka #339

Multi-barevné vizualizace a jak na ně | Mňamka #339

Před barvami už jsme párkrát varovali, to ale neznamená, že občas nenarazíme na report (třeba v e-commerce), který se tváří jako firemní logo v červnu. To může vést k mentální únavě a vizuálnímu přetížení publika, což žádný datový detektiv nechce. V článku se dozvíte na co si dávat pozor a jakou alternativu u různých typů grafů zvolit.