Trilha de estudo
Trilha dbt: tudo o que estudar, tópico por tópico
Avaliação abrangente de dbt (data build tool) cobrindo estrutura de projeto, modelos, sources, materializações, testes, documentação, Jinja/macros, estratégias incrementais, governança de modelos, CI/CD, dbt Cloud, Semantic Layer, MetricFlow, dbt Mesh, testes unitários, modelos Python e melhores práticas de analytics engineering.
Resposta curta
Para aprender dbt, percorra 6 módulos e 46 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos de dbt e siga para Modelagem de Dados e Materializações e Testes e Documentação. Use o mapa como checklist, ou meça seu nível e estude só o que falta.
O que você vai estudar
Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.
1 · Fundamentos de dbt5 tópicos
Estrutura de Projeto
Configuração do dbt_project.yml, layout de diretórios (models/, seeds/, macros/, tests/, snapshots/, analyses/), profiles.yml e configurações em nível de projeto
Objetivos
- Configurar um projeto dbt com a estrutura de diretórios correta
- Configurar o dbt_project.yml e o profiles.yml
Conceitos-chave
- dbt_project.yml
- profiles.yml
- layout de diretórios
- model-paths
- target-path
- clean-targets
Modelos dbt
Arquivos de modelos SQL e Python, configurações de modelos, blocos de config, convenções de nomenclatura de modelos e o processo de compilação de modelos
Objetivos
- Criar modelos dbt com configuração adequada
- Compreender como o dbt compila modelos em SQL
Conceitos-chave
- modelo SQL
- modelo Python
- bloco de config
- compilação de modelos
- schema de destino
- nomenclatura de modelos
ref() e DAG
Função ref() para dependências de modelos, construção e visualização do DAG, sintaxe de seleção de modelos, dependências upstream e downstream
Objetivos
- Construir dependências de modelos com ref() e navegar pelo DAG
- Utilizar a sintaxe de seleção de modelos para executar subconjuntos de modelos
Conceitos-chave
- ref()
- DAG
- dependências de modelos
- upstream
- downstream
- dbt run --select
Sources
Função source(), definições de source em YAML, verificações de freshness de source, configuração de loaded_at_field, limites de warn_after e error_after
Objetivos
- Configurar sources do dbt com monitoramento de freshness
- Utilizar source() para referenciar tabelas de dados brutos
Conceitos-chave
- source()
- freshness de source
- loaded_at_field
- warn_after
- error_after
- source YAML
Seeds e Análises
Arquivos CSV de seed para dados de referência estáticos, configuração de seeds, análises para consultas SQL ad-hoc e quando usar seeds vs sources
Objetivos
- Carregar dados de referência utilizando dbt seeds
- Saber quando usar seeds vs sources para dados estáticos
Conceitos-chave
- dbt seed
- arquivos CSV
- configuração de seed
- análises
- column_types
- seeds vs sources
2 · Modelagem de Dados e Materializações4 tópicos
Materializações
Materializações table, view, incremental e ephemeral; materializações customizadas; escolha da materialização adequada para diferentes casos de uso
Objetivos
- Escolher materializações apropriadas com base no volume de dados e padrões de consulta
- Compreender as implicações de desempenho de cada materialização
Conceitos-chave
- table
- view
- incremental
- ephemeral
- materialização customizada
- trade-offs de materialização
Camadas de Modelagem e Nomenclatura
Camadas staging, intermediária e mart; convenções de nomenclatura (stg_, int_, fct_, dim_); regra de um source por modelo staging; padrões de organização de modelos
Objetivos
- Organizar modelos dbt em camadas adequadas seguindo convenções de analytics engineering
- Aplicar convenções de nomenclatura que comuniquem o propósito do modelo
Conceitos-chave
- camada staging
- camada intermediária
- camada mart
- prefixo stg_
- prefixos fct_ e dim_
- um source por staging
Configuração YAML
Arquivos YAML de schema (_schema.yml), propriedades de modelos, descrições de colunas, herança de configuração (projeto > diretório > modelo), propriedades meta
Objetivos
- Escrever arquivos YAML de schema com propriedades de modelos e colunas
- Compreender a herança de configuração e o comportamento de sobrescrita
Conceitos-chave
- _schema.yml
- propriedades de modelos
- descrições de colunas
- herança de configuração
- meta
- tags
Seleção de Modelos e Operações de Grafo
Sintaxe de seleção de modelos (operadores + e @), tags, paths, operadores de grafo, dbt ls, seleção baseada em estado, sintaxe de interseção
Objetivos
- Utilizar a sintaxe de seleção do dbt para executar subconjuntos específicos de modelos
- Combinar seletores com operadores de interseção e união
Conceitos-chave
- sintaxe de seleção
- operador +
- operador @
- seletor de tag
- seletor de path
- interseção
3 · Testes e Documentação8 tópicos
Testes Genéricos
Testes genéricos nativos (unique, not_null, accepted_values, relationships), configuração de testes, severidade de testes, cláusula where para testes
Objetivos
- Aplicar testes genéricos para garantir a qualidade dos dados
- Configurar severidade de testes e filtros condicionais
Conceitos-chave
- unique
- not_null
- accepted_values
- relationships
- severidade de testes
- configuração where
Testes Customizados e Singulares
Testes singulares no diretório tests/, testes genéricos customizados como macros, macros de teste com argumentos, helpers de teste do dbt_utils
Objetivos
- Escrever testes customizados para regras complexas de validação de dados
- Criar macros de teste genéricas reutilizáveis
Conceitos-chave
- testes singulares
- testes genéricos customizados
- macros de teste
- testes do dbt_utils
- argumentos de teste
- SQL de teste
Documentação
Blocos doc(), descrições em markdown, dbt docs generate, dbt docs serve, site de documentação gerado automaticamente, configuração persist_docs
Objetivos
- Gerar e manter a documentação do dbt
- Utilizar blocos doc() para descrições reutilizáveis
Conceitos-chave
- doc()
- descrições em markdown
- dbt docs generate
- dbt docs serve
- persist_docs
- site de documentação
Exposures e Métricas
Exposures para dependências downstream (dashboards, modelos de ML), definições de métricas, semantic layer, proprietários de exposures e níveis de maturidade
Objetivos
- Definir exposures para rastrear consumidores downstream de modelos dbt
- Compreender o papel das métricas e do semantic layer
Conceitos-chave
- exposures
- métricas
- semantic layer
- proprietário de exposure
- maturidade
- consumidores downstream
Testes Unitários do dbt
Testes unitários do dbt em YAML, definições de saída esperada, mocking de refs com fixtures de entrada, execução de testes e diferenças em relação a testes de dados e testes de schema
Objetivos
- Escrever testes unitários do dbt com fixtures de entrada e saída esperada
- Compreender quando usar testes unitários vs testes de dados vs testes de schema
Conceitos-chave
- unit_tests YAML
- saída esperada
- mocking de refs
- fixtures de entrada
- execução de testes
- testes unitários vs testes de dados
Estratégias de Testes do dbt
Projetando testes abrangentes no dbt: testes genéricos customizados, testes unitários, testes de contrato e estratégias de cobertura de testes
Objetivos
- Projetar uma pirâmide de testes abrangente para um projeto dbt com mais de 100 modelos
- Implementar testes de contrato para prevenir breaking changes em modelos públicos
Conceitos-chave
- testes genéricos
- testes singulares
- testes unitários (dbt-unit-testing)
- testes de contrato
- cobertura de testes
- dbt-expectations
- meta tests
dbt Expectations e Testes Avançados
Pacote dbt-expectations para testes estatísticos e distribucionais, testes genéricos customizados em escala, estratégias de cobertura de testes, testes parametrizados e padrões de orquestração de testes
Objetivos
- Implementar testes dbt-expectations para validação estatística de dados
- Projetar estratégias abrangentes de cobertura de testes para projetos dbt grandes
Conceitos-chave
- dbt-expectations
- testes estatísticos
- testes distribucionais
- cobertura de testes
- testes parametrizados
- orquestração de testes
Monitoramento de Qualidade de Dados no dbt
SLAs de freshness além de source freshness, detecção de anomalias em saídas de transformação, pipelines de alertas automatizados, integração com Elementary e dashboards de observabilidade
Objetivos
- Implementar monitoramento de qualidade de dados com SLAs de freshness e detecção de anomalias
- Integrar Elementary ou ferramentas similares para dashboards de observabilidade do dbt
Conceitos-chave
- SLAs de freshness
- detecção de anomalias
- alertas automatizados
- Elementary
- dashboards de observabilidade
- scores de qualidade de dados
4 · dbt Avançado9 tópicos
Templating Jinja
Sintaxe Jinja no dbt (variáveis, estruturas de controle, filtros), blocos set e do, controle de espaços em branco, contexto de compile-time vs run-time
Objetivos
- Escrever templates Jinja para geração dinâmica de SQL no dbt
- Compreender a avaliação em compile-time vs run-time
Conceitos-chave
- variáveis Jinja
- if/else
- loops for
- blocos set/do
- controle de espaços em branco
- contexto de compile-time
Macros
Criação e invocação de macros, argumentos de macros, valores de retorno, padrão dispatch para compatibilidade cross-database, macros de adaptador
Objetivos
- Escrever macros reutilizáveis para padrões SQL DRY
- Utilizar dispatch para compatibilidade cross-database
Conceitos-chave
- definição de macro
- argumentos de macro
- return()
- dispatch
- macros de adaptador
- caller()
Pacotes
packages.yml, dbt Hub, instalação de pacotes, dbt_utils, dbt_expectations, codegen, pacotes privados via git, fixação de versão de pacotes
Objetivos
- Instalar e utilizar pacotes dbt para padrões comuns
- Gerenciar versões e dependências de pacotes
Conceitos-chave
- packages.yml
- dbt Hub
- dbt_utils
- dbt_expectations
- codegen
- fixação de versão
Modelos Incrementais
Estratégias incrementais (append, merge, delete+insert, insert_overwrite), macro is_incremental(), unique_key, janelas de lookback, full_refresh
Objetivos
- Projetar modelos incrementais eficientes para grandes conjuntos de dados
- Escolher estratégias incrementais apropriadas para diferentes casos de uso
Conceitos-chave
- is_incremental()
- unique_key
- estratégia merge
- delete+insert
- insert_overwrite
- full_refresh
Snapshots
Dimensões de mudança lenta Tipo 2 com dbt snapshots, estratégias timestamp e check, configuração de snapshots, invalidate_hard_deletes, freshness de snapshots
Objetivos
- Implementar rastreamento SCD Tipo 2 utilizando dbt snapshots
- Escolher entre estratégias timestamp e check
Conceitos-chave
- estratégia de snapshot
- estratégia timestamp
- estratégia check
- dbt_valid_from
- dbt_valid_to
- invalidate_hard_deletes
Hooks e Operações
Configurações de pre-hook e post-hook, hooks on-run-start e on-run-end, operações (dbt run-operation), macros de grant, operações em nível de warehouse
Objetivos
- Utilizar hooks para preocupações transversais como permissões e logging
- Implementar run-operation para tarefas administrativas
Conceitos-chave
- pre-hook
- post-hook
- on-run-start
- on-run-end
- run-operation
- macros de grant
Modelos Python
Modelos Python do dbt usando Snowpark ou PySpark, uso da API DataFrame, quando usar modelos Python vs SQL, limitações e dependências de ambiente
Objetivos
- Escrever modelos Python do dbt para transformações complexas e pipelines de ML
- Avaliar quando modelos Python são preferíveis a modelos SQL
Conceitos-chave
- modelos Python do dbt
- Snowpark
- PySpark
- API DataFrame
- Python vs SQL
- limitações de modelos Python
Padrões de Migração para dbt
Migração de stored procedures e ETL legado para dbt, estratégias de adoção gradual, validação side-by-side, comparações de auditoria e gestão de mudança organizacional para adoção do dbt
Objetivos
- Planejar e executar uma migração gradual de ETL legado para dbt
- Validar modelos dbt migrados contra outputs de pipelines legados
Conceitos-chave
- migração de stored procedures
- migração de ETL legado
- adoção gradual
- validação side-by-side
- comparação de auditoria
- adoção organizacional
dbt para Tempo Real
Modelos incrementais micro-batch, padrões de integração com streaming via Kafka/Kinesis, abordagens de transformação near-real-time, materialized views e arquiteturas híbridas batch-streaming
Objetivos
- Projetar modelos incrementais micro-batch para freshness de dados near-real-time
- Integrar dbt com plataformas de streaming em arquiteturas híbridas batch-streaming
Conceitos-chave
- incremental micro-batch
- integração com streaming
- near-real-time
- materialized views
- arquiteturas híbridas
- padrões event-driven
5 · Governança e Qualidade de Modelos11 tópicos
Contratos e Versões de Modelos
Contratos de modelos para imposição de tipos de colunas e restrições, versionamento de modelos para compatibilidade retroativa, imposição de contratos, configuração latest_version
Objetivos
- Impor contratos de dados em modelos dbt para confiabilidade downstream
- Versionar modelos para evolução segura de schema
Conceitos-chave
- contratos de modelos
- restrições de colunas
- imposição de data_type
- versões de modelos
- latest_version
- defined_in
Groups e Controle de Acesso
Groups de modelos para delimitação de propriedade, modificadores de acesso (private, protected, public), restrições de ref cross-group, governança de modelos em escala
Objetivos
- Implementar controle de acesso de modelos utilizando groups
- Projetar limites de governança para projetos dbt com múltiplas equipes
Conceitos-chave
- groups
- modificadores de acesso
- modelos private
- modelos protected
- modelos public
- referências cross-group
Depuração e Tratamento de Erros
Comando dbt debug, inspeção de SQL compilado, análise de logs, padrões comuns de erros, análise do run_results.json, interpretação de status de nós
Objetivos
- Depurar modelos dbt com falha utilizando SQL compilado e logs
- Interpretar resultados de execução para troubleshooting
Conceitos-chave
- dbt debug
- SQL compilado
- target/compiled
- run_results.json
- níveis de log
- erros comuns
Semantic Layer
Arquitetura do dbt Semantic Layer, definições de métricas, modelos semânticos, entidades, dimensões, medidas e consistência de métricas entre ferramentas de BI
Objetivos
- Projetar modelos semânticos com entidades, dimensões e medidas
- Definir métricas que garantam consistência entre ferramentas de analytics
Conceitos-chave
- definições de métricas
- modelos semânticos
- entidades
- dimensões
- medidas
- consistência de métricas
dbt Mesh
Arquitetura dbt Mesh para configurações multiprojeto, referências cross-project, contratos de modelos para interfaces públicas, modificadores de acesso e groups para delimitação de equipes
Objetivos
- Projetar uma arquitetura dbt Mesh para organizações com múltiplas equipes
- Implementar referências cross-project com governança adequada
Conceitos-chave
- referências cross-project
- arquitetura dbt Mesh
- contratos de modelos
- modificadores de acesso
- groups
- governança multiprojeto
Semantic Layer e MetricFlow
Engine MetricFlow, métricas derivadas, métricas cumulativas, métricas de conversão, consultas de métricas, API do Semantic Layer e integração com ferramentas de BI
Objetivos
- Definir métricas derivadas, cumulativas e de conversão utilizando MetricFlow
- Consultar métricas através da API do Semantic Layer
Conceitos-chave
- engine MetricFlow
- métricas derivadas
- métricas cumulativas
- métricas de conversão
- consultas de métricas
- API SL
Semantic Layer e Métricas
Construção de um semantic layer com MetricFlow do dbt e integração com ferramentas de BI para definições consistentes de métricas de negócio
Objetivos
- Definir modelos semânticos e métricas com MetricFlow para definições de negócio consistentes
- Integrar o dbt Semantic Layer com ferramentas de BI via APIs JDBC/REST
Conceitos-chave
- MetricFlow
- modelos semânticos
- dimensões
- medidas
- consultas salvas
- integração com BI
- consistência de métricas
- fonte única da verdade
Segurança e Linhagem de Dados no dbt
Gerenciamento de linhagem de dados com dbt docs, linhagem em nível de coluna, políticas de acesso e integração com catálogos de dados
Objetivos
- Implementar controle de acesso de nós (public/protected/private) para projetos dbt com múltiplas equipes
- Integrar a linhagem do dbt com um catálogo de dados para observabilidade de ponta a ponta
Conceitos-chave
- linhagem em nível de coluna
- dbt docs
- acesso de nós (public/protected/private)
- groups
- integração com catálogo
- catálogo de dados
- visualização de linhagem
Contratos e Fronteiras de API no dbt
Aplicação de contratos entre equipes, modelos versionados para compatibilidade retroativa, detecção de breaking changes, políticas de aplicação de contratos e interfaces de modelos estilo API
Objetivos
- Aplicar fronteiras de API entre equipes usando contratos de modelos dbt
- Implementar modelos versionados com fluxos de detecção de breaking changes
Conceitos-chave
- contratos de modelos
- modelos versionados
- detecção de breaking changes
- aplicação de contratos
- fronteiras de API
- estabilidade de interface
Arquitetura Multi-Projeto do dbt
Referências cross-project do dbt Mesh, gestão de dependências entre projetos, bibliotecas de modelos compartilhados, fronteiras de projetos e governança multi-projeto em escala
Objetivos
- Projetar uma arquitetura dbt Mesh multi-projeto com fronteiras claras de equipe
- Gerenciar dependências cross-project e bibliotecas de modelos compartilhados em escala
Conceitos-chave
- refs cross-project
- dbt Mesh
- fronteiras de projetos
- bibliotecas de modelos compartilhados
- gestão de dependências
- governança multi-projeto
Governança e Conformidade no dbt
Classificação e tagueamento de PII, linhagem em nível de coluna para conformidade, logging de auditoria de transformações, controles de acesso para dados sensíveis e relatórios regulatórios
Objetivos
- Implementar classificação de PII e controles de governança em pipelines dbt
- Projetar fluxos de transformação de dados em conformidade com auditoria e rastreamento de linhagem
Conceitos-chave
- tagueamento de PII
- linhagem em nível de coluna
- logging de auditoria
- controles de acesso
- conformidade regulatória
- classificação de dados
6 · Operações e CI/CD9 tópicos
CI/CD e Implantação
Jobs de CI do dbt Cloud, slim CI com comparação de estado, integração com GitHub Actions, promoção de ambientes (dev, staging, prod), comando dbt build
Objetivos
- Implementar pipelines de CI/CD para projetos dbt
- Utilizar slim CI com comparação de estado para builds eficientes
Conceitos-chave
- slim CI
- state:modified
- dbt build
- CI jobs
- promoção de ambientes
- flag defer
Estado e Artefatos
Artefatos do dbt (manifest.json, catalog.json, run_results.json, sources.json), comparação de estado, seleção baseada em artefatos, execuções deferidas
Objetivos
- Aproveitar artefatos do dbt para CI/CD avançado e monitoramento
- Implementar seleção de modelos baseada em estado para builds eficientes
Conceitos-chave
- manifest.json
- catalog.json
- run_results.json
- comparação de estado
- execuções deferidas
- parsing de artefatos
Orquestração e Desempenho
Orquestração de jobs no dbt Cloud, integração com Airflow/Dagster, paralelismo de modelos, otimização de warehouse, configuração de threads, profiling de desempenho
Objetivos
- Orquestrar execuções do dbt dentro de pipelines de dados mais amplos
- Otimizar o desempenho de projetos dbt em escala
Conceitos-chave
- orquestração de jobs
- integração com Airflow
- integração com Dagster
- threads
- paralelismo de modelos
- profiling de desempenho
dbt Cloud
IDE do dbt Cloud, agendador de jobs, jobs de CI/CD, slim CI, dbt Explorer, gestão de ambientes e recursos específicos do Cloud vs. dbt Core CLI
Objetivos
- Navegar e utilizar o IDE do dbt Cloud para desenvolvimento de modelos
- Configurar ambientes e jobs de CI/CD no dbt Cloud
Conceitos-chave
- IDE do dbt Cloud
- agendador
- jobs de CI/CD
- slim CI
- dbt Explorer
- ambientes
dbt em Escala
Estruturação de projetos dbt grandes: modularização, divisão de projetos, pacotes dbt-core e otimização de desempenho
Objetivos
- Arquitetar uma configuração dbt multiprojeto utilizando dbt Mesh e refs cross-project
- Otimizar o desempenho de execução do dbt através de paralelismo e ajuste de materializações
Conceitos-chave
- modularidade de projeto
- pacotes dbt
- dbt mesh
- refs cross-project
- configurações de modelos
- paralelismo de execução
- estratégias de materialização incremental
Orquestração no dbt Cloud
Orquestração de jobs no dbt Cloud: dependências de jobs, integração CI/CD, slim CI e monitoramento com APIs do dbt Cloud
Objetivos
- Implementar slim CI com dbt Cloud utilizando comparação de estado para executar apenas modelos alterados
- Projetar dependências de jobs e pipelines acionados por webhooks no dbt Cloud
Conceitos-chave
- jobs do dbt Cloud
- slim CI
- gatilhos de jobs
- webhooks de CI
- defer para produção
- variáveis de ambiente
- API do dbt Cloud
Otimização de Desempenho do dbt
Técnicas de otimização de modelos, seleção de estratégia incremental para grandes datasets, tuning específico de warehouse (clustering no Snowflake, particionamento no BigQuery, sort keys no Redshift), configuração de threads e profiling de builds
Objetivos
- Otimizar o desempenho de modelos dbt usando estratégias de tuning específicas de warehouse
- Diagnosticar e resolver gargalos de build em projetos dbt grandes
Conceitos-chave
- otimização de modelos
- tuning específico de warehouse
- chaves de clustering
- particionamento
- ajuste de threads
- profiling de builds
Padrões Avançados de CI/CD no dbt
Slim CI com comparação de estado, execuções deferidas contra artefatos de produção, ambientes efêmeros baseados em PR, seletores state:modified e pipelines de promoção multi-ambiente
Objetivos
- Implementar pipelines de slim CI com execuções deferidas para testes eficientes em custo
- Projetar ambientes efêmeros baseados em PR com gestão adequada de estado
Conceitos-chave
- slim CI
- execuções deferidas
- comparação de estado
- ambientes de PR
- promoção multi-ambiente
- seleção baseada em artefatos
Gestão de Custos no dbt
Atribuição de custos de warehouse por modelo, estratégias de otimização de custo de queries, métricas de eficiência de builds, escolhas de materialização conscientes de custo e alertas de orçamento
Objetivos
- Implementar atribuição de custos por modelo e estratégias de otimização
- Projetar builds dbt eficientes em custo com consciência de orçamento e alertas
Conceitos-chave
- atribuição de custos
- otimização de custo de queries
- eficiência de builds
- materializações conscientes de custo
- alertas de orçamento
- rastreamento de gastos de warehouse
Níveis: Júnior, Pleno, Sênior e Especialista
Explique com suas palavras
Corrigido por IA · sem cadastro · 1 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
Já estuda dbt?
A avaliação mede tópico por tópico, e o plano pula o que você já sabe.
Aberto para ler. A conta só é necessária para ser medido.
Perguntas frequentes
Por onde começar a estudar dbt?
Comece por Fundamentos de dbt: Estrutura de Projeto, Modelos dbt e ref() e DAG. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.
Quanto tempo leva uma avaliação completa de dbt?
Uma avaliação completa desta trilha leva cerca de 45 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.
Preciso de conta para usar esta página?
Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.