Chapter 50

ELT with DBT

Presentation & objectives

This course offers a complete journey to understand modern data architectures and put them into practice. We will clarify the difference between ETL vs ELT and specify the roles of a data lake, data warehouse, and lakehouse — principles, use cases, and trade-offs. An ELT project with dbt will illustrate data processing strategies, dimension historization, and the basics of data quality (testing, documentation, control).

By the end of this course, students will be able to:

  • Clearly distinguish ETL vs ELT and select the appropriate approach for a given context (volume, latency, governance)
  • Compare data lake, data warehouse, and lakehouse and choose the relevant architecture according to usage and constraints
  • Structure a dbt project from scratch and adopt a robust model naming/architecture (sources, staging, marts)
  • Implement processing strategies in dbt and justify technical and business choices
  • Set up SCD Type 2 and validate correct historization of changes (key tests, activity periods)
  • Write and execute quality tests, interpret results, and correct anomalies

Activities

  1. ETL vs ELT: concepts, advantages/limitations and use cases
    • Clarify principles and compare approaches
    • Position appropriate uses according to volume, latency, governance
  2. Data Lake, Data Warehouse, Lakehouse: differences and adoption scenarios
    • Define each component and understand their complementarities
    • Choose the architecture adapted to needs
  3. Overview of ETL/ELT tools on the market
    • Map solutions (ingestion, orchestration, transformation)
    • Discuss selection criteria, costs, and efforts
  4. Reference architecture of an ELT project
    • Layers and flows: ingestion, modeling (staging/marts), quality (tests), documentation, monitoring, deployment
  5. Hands-on practice: use case and environment setup
    • Present business context, install tools (including dbt)
    • Prepare data and validate the end-to-end pipeline