Roadmap › 2. Database, ETL & BI › Step 30
ETL

ETL & Data Warehousing Concepts

ETL vs ELT, staging, full vs incremental loads, change data capture, slowly changing dimensions, star and snowflake schemas, fact and dimension tables, data quality, error handling, orchestration and modern cloud data platforms.
What it is & where it is used

ETL = Extract data from sources, Transform it (clean, validate, conform, aggregate), Load it into a target — usually a data warehouse used for reporting and analytics.

ELT = Extract, Load raw data first into a powerful target (cloud warehouse/lakehouse), then Transform inside it with SQL (dbt, Spark, Fabric). Modern cloud platforms favour ELT.

ETLELT
Transform whereSeparate engine (SSIS, Informatica)Inside the target (Synapse, Fabric, Snowflake, Databricks)
Raw data keptOften notYes (data lake "bronze" layer)
ScaleLimited by ETL serverElastic cloud compute
Typical toolsSSIS, Informatica PowerCenter, Talend, DataStageAzure Data Factory/Fabric pipelines + dbt/Spark, Databricks, Snowflake

OLTP vs OLAP: OLTP systems (orders, banking) handle many small transactions, normalised; OLAP systems (warehouses) handle large analytical queries, denormalised star schemas, historical data.

Versions & history
EraMilestone
1970s–80sBatch file processing, COBOL jobs
1990sBill Inmon ("father of data warehousing", top-down, 3NF enterprise DW, 1992) and Ralph Kimball (bottom-up, dimensional modelling, The Data Warehouse Toolkit 1996)
1990s–2000sCommercial ETL tools: Informatica PowerCenter, IBM DataStage, Ab Initio; Microsoft DTS (SQL Server 7/2000)
2005SSIS replaces DTS in SQL Server 2005
2010sHadoop, data lakes, Spark (2014); Azure Data Factory (2015, v2 2018)
2016–2020Cloud warehouses (Snowflake, BigQuery, Synapse), ELT + dbt (2016), Lambda/Kappa streaming architectures
2020sLakehouse (Delta Lake, Databricks), medallion architecture (bronze/silver/gold), Microsoft Fabric (GA Nov 2023), data mesh, real-time streaming (Kafka, Event Hubs)
Lifecycle

ETL process lifecycle:

  1. Requirements — business questions, KPIs, sources, refresh frequency (SLA), history needs.
  2. Source analysis / profiling — volumes, keys, data quality, how changes can be detected.
  3. Design — target model (star schema), staging area, mappings (source-to-target document), load strategy (full/incremental), SCD types, error handling.
  4. Build — packages/pipelines, transformations, lookups, logging.
  5. Test — row counts, reconciliation with source, data quality checks, performance, rerun/idempotency.
  6. Deploy — dev → test → prod (SSIS catalog, ADF CI/CD), with environment-specific parameters.
  7. Schedule & orchestrate — SQL Agent, ADF triggers, Airflow; dependencies between jobs.
  8. Monitor & support — alerts on failure, SLA tracking, audit tables, reprocessing failed batches.
  9. Maintain — schema changes in sources, performance tuning, archiving.

Data flow per run: Source → Extract (full or delta) → Staging (raw copy, truncated each run) → Transform (cleanse, standardise, deduplicate, lookup surrogate keys, apply business rules, SCD logic) → Load dimensions first → Load facts → Audit/log → Reconcile.

Tools used to develop
CategoryTools
Microsoft on-premSSIS, SQL Server Agent, T-SQL stored procedures
Microsoft cloudAzure Data Factory, Microsoft Fabric (Data Factory pipelines, Dataflows Gen2, Lakehouse, Warehouse), Azure Synapse Analytics, Azure Databricks
Enterprise ETLInformatica (IDMC / PowerCenter), IBM DataStage, Talend, Oracle Data Integrator, Ab Initio
Open sourceApache Airflow (orchestration), Apache Spark, Apache NiFi, Apache Hop, Airbyte, dbt Core
Cloud warehousesSnowflake, BigQuery, Amazon Redshift, Fabric Warehouse, Databricks SQL
StreamingKafka, Azure Event Hubs, Azure Stream Analytics, Spark Structured Streaming
Data qualityGreat Expectations, dbt tests, Soda
Reporting on topPower BI, SSRS, Tableau