Projetos

Estruturação das Esteiras de Produtização para Modelos dbt

Databricks
PySpark
SQL
dbt
Jenkins

Boas práticas aplicadas em CI/CD.

Imagem ilustrativa do projeto.

O problema


A produtização de novos modelos analíticos era lenta, manual e pouco confiável. O fluxo dependia de execução operacional (com forte intervenção humana), sem gates técnicos padronizados para validar qualidade antes da promoção entre ambientes. Isso causava:

  • Lead time elevado para colocar novos modelos em produção.
  • Alto risco de erro por falta de validações automatizadas.
  • Baixa previsibilidade no processo de deploy.
  • Dificuldade de escalar o volume de entregas do time.

Historicamente, a publicação de novas tabelas levava em torno de 3 dias.


A solução


Foi estruturada e implementada uma esteira de CI/CD para dbt com foco em produtização rápida, segura e auditável, usando Jenkins e scripts de automação do projeto.

1) Desenho da esteira por tipo de execução

Foram estruturadas pipelines específicas para diferentes contextos de entrega (ex.: validação de PR, fluxo de merge e execução por ambiente).

  • Roteamento de execução conforme branch/evento.
  • Separação de responsabilidade entre validação e promoção.
  • Padronização do fluxo para todos os modelos novos.

2) Gate de qualidade na produtização

A esteira foi configurada para não promover código sem validação técnica:

  • Execução de dbt build como validação.
  • Suporte a testes e validações declarativas já definidos no projeto.
  • Reprovação automática quando há falhas de build/qualidade.
  • Rastreabilidade do que foi validado em cada execução.
  • Linting do código com SQLFluff.

3) Otimização de tempo e custo computacional com o uso do state do dbt nas validações

Foi implementada execução incremental orientada a mudança para acelerar as pipelines de validação:

  • Uso de estratégia com state:modified+ quando existe estado anterior.
  • Fallback para build completo quando necessário.
  • Redução de tempo de CI sem perder segurança de impacto.

Resultados


✅ Redução drástica de lead time: produtização de novas tabelas caiu de ~3 dias para cerca de 1 hora.
✅ Maior confiabilidade operacional: deploy deixou de depender de execução manual e passou a seguir gates automatizados.
✅ Escalabilidade do time: aumento da capacidade de entrega de novos modelos com menor risco.
✅ Padronização de processo: fluxo único de validação e promoção.
✅ Satisfação do time técnico: analytics engineers passaram a reportar feedbacks consistentemente positivos sobre a nova esteira.