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

Top 9 data science algoritmů | Mňamka #188

Top 9 data science algoritmů | Mňamka #188

Data science je pro spoustu lidí „raketová věda“. Co se za tímto názvem skrývá? Zkušený data scientist nás nechá nahlédnou do svého ToolBoxu. Bez jakých algoritmů se neobejde? Mrkněte na stručné a výstižné vysvětlení devíti základních algoritmů, které datoví vědci používají, aby z dat dostali co nejvíce!

ETL vs. ELT: jak mění ELT datový trh? | Mňamka #187

ETL vs. ELT: jak mění ELT datový trh? | Mňamka #187

Podíl cloudových technologií na trhu narůstá. Nyní je celosvětově zhruba 50% všech obchodních dat uložených v cloudu. Ve snaze držet krok s digitální transformací a datovými trendy se stále častěji uplatňuje ELT přístup. ELT mění dynamiku datového světa. Je navržen tak, aby pomohl týmům opustit tradiční vrstvy zpracování dat. Zjednodušuje architekturu, nabízí agilní, vylepšený výkon. Pojďme se podívat na ELT a jeho srovnání s ETL. Proč ELT představuje rušivou sílu na datovém trhu?

A jak mám teda vybrat tu BI firmu? | Mňamka #186

A jak mám teda vybrat tu BI firmu? | Mňamka #186

Sháníte někoho, kdo nabuší SQL, nebo potřebujete pomoct s architekturou? Chcete postavit komplet řešení a technologie máte koupené, nebo se vám hodí pomocná ruka s výběrem nástrojů? Máte ujasněné požadavky a nebo bude potřeba nejdřív zmapovat potřeby businessu? Nebo prostě jen tušíte, že ty data by Vám fakt mohly pomoct? BI je běh na dlouhou trať, v podstatě se jedná o nikdy nekončící proces. A parťáky na takový projekt je dobré vybírat opravdu pečlivě. Jirka stavbu firemního BI trefně přirovnává ke stavbě domu. Mrkněte, jak dobře vybrat!