Panoramica delle best practice in Dataform

Questo documento mostra una panoramica delle best practice per la gestione delle dimensioni e della struttura del repository, nonché del ciclo di vita del codice in Dataform.

Best practice per le dimensioni del repository

Le dimensioni del repository influiscono su più aspetti dello sviluppo in Dataform, ad esempio:

  • Collaborazione
  • Leggibilità del codebase
  • Processi di sviluppo
  • Compilazione del flusso di lavoro
  • Esecuzione workflow

Dataform applica quote e limiti delle API alle risorse di compilazione. Le dimensioni elevate del repository possono causare il superamento di queste quote e di questi limiti. Ciò può comportare la mancata compilazione ed esecuzione del flusso di lavoro SQL.

Per ridurre questo rischio, ti consigliamo di suddividere i repository di grandi dimensioni. Quando dividi un repository di grandi dimensioni, suddividi un flusso di lavoro SQL di grandi dimensioni in un numero di flussi di lavoro SQL più piccoli ospitati in repository diversi e collegati da dipendenze tra repository.

Questo approccio ti consente di rispettare le quote e i limiti di Dataform, le autorizzazioni e le procedure granulari e di migliorare la leggibilità e la collaborazione del codice base. Tuttavia, la gestione dei repository suddivisi può essere più complessa rispetto alla gestione di un singolo repository.

Per scoprire di più sull'impatto delle dimensioni del repository in Dataform e sulle best practice per suddividere i repository, consulta Suddivisione dei repository.

Best practice per la struttura del repository

Ti consigliamo di strutturare i file nella directory definitions in modo che riflettano le fasi del tuo flusso di lavoro. Tieni presente che puoi adottare una struttura personalizzata che si adatti meglio alle tue esigenze.

La seguente struttura consigliata delle sottodirectory definitions riflette le fasi chiave della maggior parte dei flussi di lavoro SQL:

  • sources, memorizzando le dichiarazioni delle origini dati
  • intermediate, per memorizzare la logica di trasformazione dei dati
  • output, per memorizzare le definizioni delle tabelle di output
  • (Facoltativo) extras, archiviazione di file aggiuntivi

I nomi di tutti i file in Dataform devono essere conformi alle linee guida per la denominazione delle tabelle BigQuery. Consigliamo che i nomi dei file nella directory definitions di un repository Dataform riflettano la struttura delle sottodirectory.

Per scoprire di più sulle best practice per la strutturazione e la denominazione dei file in un repository, consulta Strutturare il codice in un repository.

Best practice per il ciclo di vita del codice

Il ciclo di vita del codice predefinito in Dataform è costituito dalle seguenti fasi:

Per gestire il ciclo di vita del codice in Dataform, puoi creare ambienti di esecuzione, ad esempio sviluppo, gestione temporanea e produzione.

Per scoprire di più sul ciclo di vita del codice in Dataform, consulta Introduzione al ciclo di vita del codice in Dataform.

Puoi scegliere di mantenere gli ambienti di esecuzione in un unico repository o in più repository.

Ambienti di esecuzione in un unico repository

Puoi creare ambienti di esecuzione isolati come sviluppo, gestione temporanea e produzione in un unico repository Dataform con override di compilazione dell'area di lavoro e configurazioni di release.

Puoi creare ambienti di esecuzione isolati nei seguenti modi:

  • Suddividere le tabelle di sviluppo e produzione per schema
  • Suddividi le tabelle di sviluppo e di produzione in base allo schema e al progetto Google Cloud
  • Suddividi le tabelle di sviluppo, gestione temporanea e produzione per progetto Google Cloud

Successivamente, puoi pianificare le esecuzioni negli ambienti di staging e di produzione con le configurazioni del flusso di lavoro. Ti consigliamo di attivare le esecuzioni manualmente nell'ambiente di sviluppo.

Per scoprire di più sulle best practice per la gestione del ciclo di vita del codice in Dataform, consulta la sezione Gestire il ciclo di vita del codice.

Ciclo di vita del codice in più repository

Per personalizzare le autorizzazioni IAM (Gestione di identità e accessi) in base a ogni fase del ciclo di vita del codice, puoi creare più copie di un repository e archiviarle in progettiGoogle Cloud diversi.

Ogni progetto Google Cloud funge da ambiente di esecuzione corrispondente a una fase del ciclo di vita del codice, ad esempio sviluppo e produzione.

In questo approccio, ti consigliamo di mantenere invariata la base di codice del repository in tutti i progetti Google Cloud. Per personalizzare la compilazione e l'esecuzione in ogni copia del repository, utilizza gli override di compilazione dell'area di lavoro, le configurazioni delle release e le configurazioni dei flussi di lavoro.

Passaggi successivi