Verzované transformace místo skriptu v sešitu
Dataform je nástroj Google Cloudu, kterým se SQL transformace nad BigQuery píšou a spravují jako kód, ne jako skript, který si jeden člověk upravuje lokálně nebo v nesdíleném sešitu. Princip je podobný nástroji dbt, jen nativně zabudovaný do BigQuery, bez potřeby spravovat další samostatnou službu.
SQL jako verzovaný kód, ne soubor na sdíleném disku
Transformační logika se ukládá ve verzovaném repozitáři. Každá změna má historii a autora, takže je vždy jasné, kdo a kdy tabulku upravil a proč.
Graf závislostí mezi kroky
Dataform sleduje, které tabulky vycházejí z kterých zdrojů, a podle toho určuje pořadí, v jakém se transformace spouštějí. Není to jedna dlouhá fronta příkazů, kde nikdo neví, co přesně na co navazuje.
Testovatelné, ne jen spustitelné
Ke každé transformaci lze přidat test, který ověří, jestli výstup odpovídá očekávání, dřív než se dostane dál do reportu nebo segmentace.
Kde firmy pálí peníze
Transformační logika, která žije jen mimo verzovaný systém, se dřív nebo později prodraží, obvykle až ve chvíli, kdy je pozdě.
Logika jen v hlavě jednoho analytika
Transformace existuje jako netestovaný SQL skript, který se spouští ručně a rozumí mu jeden člověk. Když odejde nebo je na dovolené, nikdo jiný neví, co skript přesně dělá ani proč.
Tichá selhání navazujících reportů
Změna v jedné tabulce rozbije report, který na ni navazuje o tři kroky dál, a nic na to neupozorní. Chyba se odhalí až ve chvíli, kdy si někdo všimne, že čísla nesedí.
Bez verzování se nedá vrátit zpátky
Když se chybná úprava dostane do produkce, bez historie změn nejde snadno zjistit, která verze byla poslední funkční, kdo logiku upravil a proč.
Verzování, testy a řízené spouštění v praxi
Dobře postavená transformační vrstva obvykle stojí na čtyřech věcech, ne na jedné.
Verzovaná historie změn
Každá úprava prochází verzovacím systémem. Je vidět, kdo a proč tabulku změnil, a chybnou verzi lze vrátit zpět.
Testy nad daty, ne jen nad kódem
Assertions ověří kvalitu výstupu, třeba že klíčový sloupec není prázdný nebo že hodnoty odpovídají očekávanému rozsahu, dřív než se chybná data dostanou do reportu.
Plánované spouštění
Transformace běží podle rozvrhu, ne na to, jestli si na ně někdo v daný den vzpomene.
Stejný princip v transformační vrstvě Datimo
Vrstva, která u Datimo mění syrová extrahovaná data na čisté, report-ready tabulky, staví na stejném principu, verzovaně a testovatelně, ne jako sada ručně spouštěných SQL skriptů.
