Visão geral do tamanho do repositório

Este documento ajuda você a entender como o tamanho do repositório afeta o desenvolvimento do fluxo de trabalho do SQL e o uso de recursos de compilação do Dataform, além de como estimar o uso de recursos de compilação do repositório.

Sobre o tamanho do repositório no Dataform

O tamanho de um repositório afeta os seguintes aspectos do desenvolvimento no Dataform:

Colaboração
Vários colaboradores trabalhando em um repositório grande podem criar um número excessivo de solicitações de pull, aumentando o risco de conflitos de mesclagem.
Legibilidade da base de código
Um número maior de arquivos que compõem um fluxo de trabalho SQL em um único repositório pode dificultar a navegação pelo repositório.
Processos de desenvolvimento
Algumas áreas de um grande fluxo de trabalho SQL em um único repositório podem exigir permissões ou processos personalizados, como programação, diferentes das permissões e dos processos aplicados ao restante do fluxo de trabalho SQL. O tamanho grande do repositório dificulta a adaptação dos processos de desenvolvimento a áreas específicas do fluxo de trabalho SQL.
Compilação do fluxo de trabalho
O Dataform aplica limites de uso aos recursos de compilação. Um tamanho grande do repositório pode fazer com que esses limites sejam excedidos, causando a falha da compilação.
Execução do fluxo de trabalho
Durante a execução, o Dataform executa o código do repositório no seu espaço de trabalho e implanta recursos no BigQuery. Quanto maior o repositório, mais tempo o Dataform leva para executá-lo.

Se o tamanho grande do repositório afetar negativamente o desenvolvimento no Dataform, você poderá dividir o repositório em vários repositórios menores.

Sobre os limites de recursos de compilação do repositório

Durante o desenvolvimento, o Dataform compila todo o código do repositório no espaço de trabalho para gerar uma representação do fluxo de trabalho SQL no repositório, chamada de resultado de compilação. O Dataform aplica limites de uso aos recursos de compilação.

Seu repositório pode exceder os limites de uso pelos seguintes motivos:

  • Um bug de loop infinito no código do repositório.
  • Um bug de vazamento de memória no código do repositório.
  • Tamanho grande do repositório, aproximadamente mais de 1.000 ações de fluxo de trabalho SQL.

Para mais informações sobre os limites de uso de recursos de compilação, consulte Limites de recursos de compilação do Dataform.

Estimar o uso de recursos de compilação do repositório

É possível estimar o uso dos seguintes recursos de compilação para seu repositório:

  • Uso de tempo da CPU
  • Tamanho total máximo de dados serializados do gráfico gerado de ações definidas no repositório

Para ter uma estimativa aproximada do uso atual de tempo de CPU para a compilação do repositório, você pode cronometrar a compilação do fluxo de trabalho do Dataform SQL em uma máquina local do Linux ou do macOS.

  • Para cronometrar a compilação do fluxo de trabalho SQL, dentro do repositório, execute o comando dataform compile da CLI do Dataform neste formato:
time dataform compile

O exemplo de código abaixo mostra o resultado da execução do comando time dataform compile:

real    0m3.480s
user    0m1.828s
sys     0m0.260s

Você pode tratar o resultado real como um indicador aproximado do uso do tempo da CPU para a compilação do repositório.

Para ter uma aproximação aproximada do tamanho total do gráfico de ações gerado no repositório, grave a saída do gráfico em um arquivo JSON. Você pode tratar o tamanho do arquivo JSON descompactado como um indicador aproximado do tamanho total do gráfico.

  • Para gravar a saída do gráfico compilado do fluxo de trabalho SQL em um arquivo JSON, dentro do repositório, execute o seguinte comando da CLI do Dataform:
dataform compile --json > graph.json

A seguir