Contexto
Construção de um pipeline de dados de vendas ponta a ponta, simulando um cenário real de ingestão heterogênea: parte dos dados chega via arquivos CSV, parte via API. O objetivo era demonstrar domínio de arquitetura em camadas, qualidade de dados e modelagem dimensional — não só "fazer o dado chegar", mas garantir que ele chegue confiável.
Fluxo da arquitetura
Separação clara de responsabilidades entre as camadas Bronze (dado bruto), Silver (validado e padronizado) e Gold (modelado para consumo), com o dbt rodando isolado via DockerOperator dentro da orquestração do Airflow.
Modelagem dimensional (Star Schema)
A camada Gold materializa, via dbt, um esquema estrela no PostgreSQL: uma tabela fato de vendas conectada a quatro dimensões (cliente, produto, tempo e representante), com chaves substitutas (sk_*) e métricas de receita, custo e margem já calculadas.
Qualidade de dados
- Validação referencial por regex nos scripts de limpeza (
clean_clientes.py,clean_produtos.py,clean_vendas.py) - Registros com IDs inválidos ou nulos são isolados em quarentena, em vez de descartados silenciosamente
- Testes dbt na camada Gold (
relationships,not_null,unique,accepted_values), com FKs órfãs marcadas comowarnsem interromper o run - Logs do Airflow registram volume de linhas rejeitadas e caminho da quarentena para auditoria
Diferenciais técnicos
- Arquitetura Bronze, Silver e Gold com separação clara de responsabilidades
- Validação de dados com regex e isolamento de registros inválidos em quarentena, em vez de descartá-los silenciosamente
- Testes de integridade e tolerância a falhas configurados no dbt
- Modelagem dimensional (Star Schema) otimizada para consumo em ferramentas de BI
- Execução isolada do dbt via
DockerOperator, desacoplando a transformação da orquestração