Dataform

    Nástroj Google Cloudu, který mění SQL transformace nad BigQuery na verzovaný a testovatelný kód, ne na skript, který v sešitu upravuje jeden člověk a nikdo jiný neví, co přesně dělá. Princip podobný nástroji dbt, jen nativně zabudovaný do BigQuery.

    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ů.