Visão geral das práticas recomendadas no Dataform

Neste documento, você terá uma visão geral das práticas recomendadas para gerenciar o tamanho e a estrutura do repositório e o ciclo de vida do código no Dataform.

Práticas recomendadas para o tamanho do repositório

O tamanho do repositório afeta vários aspectos de desenvolvimento no Dataform, como:

  • Colaboração
  • Legibilidade no codebase
  • Processos de desenvolvimento
  • Compilação de fluxo de trabalho
  • Execução do fluxo de trabalho

O Dataform aplica cotas e limites da API em recursos de compilação. Um repositório de tamanho grande pode fazer com que ele exceda essas cotas e limites. Isso pode causar falha na compilação e execução do fluxo de trabalho do SQL.

Para reduzir esse risco, recomendamos dividir repositórios grandes. Ao dividir um repositório grande, você divide um grande fluxo de trabalho SQL em vários fluxos de trabalho menores armazenados em repositórios diferentes e conectados por dependências entre repositórios.

Essa abordagem permite aderir às cotas e limites do Dataform, aos processos e permissões detalhados e melhorar a legibilidade e a colaboração do codebase. No entanto, gerenciar repositórios divididos pode ser mais desafiador do que gerenciar um único repositório.

Para saber mais sobre o impacto do tamanho do repositório no Dataform e práticas recomendadas para dividir repositórios, consulte Como dividir repositórios.

Práticas recomendadas para estrutura de repositório

Recomendamos estruturar arquivos no diretório definitions para refletir os estágios do fluxo de trabalho. É possível adotar uma estrutura personalizada que atenda melhor às suas necessidades.

A estrutura recomendada a seguir de subdiretórios definitions reflete os principais estágios da maioria dos fluxos de trabalho SQL:

  • sources, armazenando declarações da fonte de dados
  • intermediate, armazenamento da lógica de transformação de dados
  • output, armazenando definições de tabelas de saída
  • Opcional: extras, que armazena outros arquivos

Os nomes de todos os arquivos no Dataform precisam estar em conformidade com as diretrizes de nomenclatura de tabelas do BigQuery. Recomendamos que os nomes de arquivos no diretório definitions em um repositório do Dataform reflitam a estrutura de subdiretórios.

Para saber mais sobre as práticas recomendadas para estruturar e nomear arquivos em um repositório, consulte Como estruturar o código em um repositório.

Práticas recomendadas para o ciclo de vida do código

O ciclo de vida do código padrão no Dataform consiste nas seguintes fases:

Para gerenciar o ciclo de vida do código no Dataform, crie ambientes de execução, por exemplo, desenvolvimento, preparo e produção.

Para saber mais sobre o ciclo de vida do código no Dataform, consulte Introdução ao ciclo de vida do código no Dataform.

Você pode optar por manter seus ambientes de execução em um único repositório ou em vários repositórios.

Ambientes de execução em um único repositório

É possível criar ambientes de execução isolados, como desenvolvimento, preparo e produção, em um único repositório do Dataform com modificações de compilação do espaço de trabalho e configurações de versão.

É possível criar ambientes de execução isolados das seguintes maneiras:

  • Dividir tabelas de desenvolvimento e produção por esquema
  • Dividir tabelas de desenvolvimento e produção por esquema e projeto do Google Cloud
  • Dividir tabelas de desenvolvimento, preparo e produção por projeto do Google Cloud

Depois, é possível programar execuções em ambientes de teste e produção com as configurações do fluxo de trabalho. Recomendamos acionar manualmente as execuções no ambiente de desenvolvimento.

Para saber mais sobre as práticas recomendadas para gerenciar o ciclo de vida do código no Dataform, consulte Como gerenciar o ciclo de vida do código.

Ciclo de vida do código em vários repositórios

Para adaptar as permissões de gerenciamento de identidade e acesso a cada estágio do ciclo de vida do código, é possível criar várias cópias de um repositório e armazená-las em diferentes projetos do Google Cloud.

Cada projeto do Google Cloud funciona como um ambiente de execução que corresponde a um estágio do ciclo de vida do código, por exemplo, desenvolvimento e produção.

Nessa abordagem, recomendamos manter a mesma base de código do repositório em todo o projeto do Google Cloud. Para personalizar a compilação e a execução em cada cópia do repositório, use substituições de compilação do espaço de trabalho, configurações de lançamento e configurações de fluxo de trabalho.

A seguir