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

Cirkulární graf co rozbil twitter | Mňamka #279

Cirkulární graf co rozbil twitter | Mňamka #279

V této mňamce se podíváme na trochu vizualizačního masakru, co udělal velký rozruch na Twitteru. Jde o graf, který vytvořili v New York Times a někteří ho už sedmí den roku 2022 nazvali nejhorší vizualizací tohoto roku. Jakožto každá trochu kontroverzní věc má i tento graf svoje obhájce. Co myslíte? Je to super způsob, jak ukázat timeline dat anebo to vypadá otřesně a někomu by měli sebrat licenci k vizuálním nástrojům?

Co je to Data Security? | Mňamka #278

Co je to Data Security? | Mňamka #278

V tomto článku se podíváme na základy toho, co je Data security neboli datová bezpečnost. V bizztreatu nám na security záleží, a myslíme si, že toto bude jedno z „hot“ témat roku 2022. Pojďme is tedy připomenout co se pod tímto výrazem skrývá. Pod odkazem se skrývá článek z dataversity, který vás navede na velké množství zdrojů o datové bezpečnosti například od MIT. Tak se pojďte podívat co je v bezpečnosti nového a proč je to tak důležité.

Ze života datového detektiva 4: Designér, architekt a konzultant #277

Ze života datového detektiva 4: Designér, architekt a konzultant #277

Je to tady, další článek ze seriálu „Ze života datového detektiva“, tentokrát se budeme bavit o tom co dělá architekt, designér a konzultant v Bizztreatu. Naše Verča vám to pěkně sepsala a je to fakt zajímavý čtení s hromadou prokliků na další zajímavý kontent od nás. Zajímá vás, jak to v bizztreatu s architekturou děláme? Jaký je postup pro architekta samotného? Nebo jak na architekturu navazuje datová kvalita a data governance? Pokud jste na jednu z těchto otázek odpověděli „ano“ tak šup na link a pusťte se do toho.