Data Universe
Newsletter
Accueil/Encyclopédie/Slowly Changing Dimension (SCD)
⏳Data EngineeringIntermédiaireModélisation data

Slowly Changing Dimension (SCD)

Technique de modélisation de Data Warehouse qui gère les changements d'attributs dans les dimensions au fil du temps, avec plusieurs stratégies (Type 1, 2, 3).

💡Explication simple

Un client déménage de Paris à Lyon. Dans ton Data Warehouse, tu veux savoir : toutes ses commandes passées étaient-elles à Paris ou à Lyon ? La SCD Type 2 répond : on garde l'ancienne ligne (Paris, actif jusqu'au 15/03/2024) ET on crée une nouvelle ligne (Lyon, actif à partir du 15/03/2024). Les analyses historiques voient Paris, les analyses actuelles voient Lyon. Chaque type de SCD fait un choix différent.

🏗️Exemple concret

Retailer avec 5M clients : SCD Type 2 sur la dimension Client. Un client change de région : nouvelle ligne créée avec is_current = 1, l'ancienne passe à is_current = 0. Les rapports de ventes historiques par région restent exacts, et les analyses actuelles utilisent la dernière adresse. La table Client passe de 5M à 5.8M lignes sur 3 ans (800K déménagements).

∑ Concept clé

Type 1 : écrasement (pas d'historique). Type 2 : nouvelle ligne (is_current, start_date, end_date). Type 3 : colonne ajoutée (old_value, new_value). Type 6 : combinaison 1+2+3.

🎯Quand l'utiliser ?

Type 1 : corrections d'erreurs ou attributs sans valeur historique
Type 2 : suivi de l'historique des changements (région, segment, manager)
Type 3 : uniquement 1 niveau d'historique nécessaire

✅ Avantages

+Préserve l'historique des analyses (Type 2)
+Standard bien connu et supporté par tous les outils DW
+Permet de reconstruire l'état à n'importe quelle date

⚠️ Limites

Type 2 : croissance exponentielle de la table si beaucoup de changements
Complexifie les requêtes (jointures avec filtres is_current)
Risque d'oubli du filtre is_current = erreurs dans les rapports

🛠️ Outils principaux

dbt (snapshots = SCD Type 2 automatique)
SQL pur
Informatica, Talend (gestion native)
Delta Lake / Iceberg (MERGE pour SCD)
Data EngineeringModélisationData WarehouseHistoriqueDimensions

Concepts liés

âš¡

Apache Flink — Stream processing temps réel

Streaming

🧊

Apache Iceberg

Lakehouse Architecture

🏗️

Architecture Lakehouse

Architecture

🥇

Architecture Medallion (Bronze / Silver / Gold)

Architecture data

← Retour à l'encyclopédie