Panoramica delle best practice in Dataform

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

Best practice per le dimensioni del repository

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

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

Dataform applica quote e limiti delle API sulle risorse di compilazione. Se il repository è di grandi dimensioni, potrà superare questi limiti. Ciò può causare la mancata compilazione e l'esecuzione del flusso di lavoro SQL.

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

Questo approccio consente di rispettare le quote e i limiti di Dataform, nonché i processi e le autorizzazioni granulari e migliorare la leggibilità e la collaborazione del codebase. Tuttavia, gestire repository suddivisi può essere più difficile che gestire un singolo repository.

Per saperne di più sull'impatto delle dimensioni del repository in Dataform e sulle best practice per la suddivisione dei 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 flusso di lavoro. Ricorda che puoi adottare una struttura personalizzata che meglio si adatta alle tue esigenze.

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

  • sources, archiviazione delle dichiarazioni delle origini dati
  • intermediate, archiviazione della logica di trasformazione dei dati
  • output, archiviazione delle 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. È consigliabile che i nomi dei file nella directory definitions in un repository Dataform riflettano la struttura della sottodirectory.

Per scoprire di più sulle best practice per strutturare e assegnare un nome ai 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 conservare i tuoi ambienti di esecuzione in un singolo 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 delle compilazioni delle aree di lavoro e configurazioni di release.

Puoi creare ambienti di esecuzione isolati nei seguenti modi:

  • Suddividi le tabelle di sviluppo e produzione per schema
  • Suddividi le tabelle di sviluppo e produzione per schema e progetto Google Cloud
  • Suddividi le tabelle di sviluppo, gestione temporanea e produzione per progetto Google Cloud

Quindi, puoi pianificare le esecuzioni in ambienti di gestione temporanea e produzione con le configurazioni dei flussi 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 Gestione del ciclo di vita del codice.

Ciclo di vita del codice in più repository

Per personalizzare le autorizzazioni di Identity and Access Management per ogni fase del ciclo di vita del codice, puoi creare più copie di un repository e archiviarle in diversi progetti Google Cloud.

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

Con questo approccio, consigliamo di mantenere lo stesso codebase del repository in tutti i progetti Google Cloud. Per personalizzare la compilazione e l'esecuzione in ogni copia del repository, utilizza gli override delle compilazioni delle aree di lavoro, le configurazioni della release e le configurazioni dei flussi di lavoro.

Passaggi successivi