Pourquoi le data modeling est une compétence différenciante
Le data modeling est l'art de concevoir la structure des données analytiques. C'est l'une des compétences les plus différenciantes d'un Analytics Engineer - et l'une des moins enseignées dans les formations généralistes. Un bon modèle rend les analyses plus rapides, plus fiables et plus compréhensibles. Un mauvais modèle génère de la dette technique et de la confusion entre équipes.
Le Star Schema : le modèle de référence en analytics
Le star schema (schéma en étoile) s'organise autour d'une table de faits centrale (qui stocke les événements mesurables : commandes, clics, transactions) entourée de tables de dimensions (clients, produits, dates, géographies) qui enrichissent le contexte.
Avantages : requêtes simples, performances élevées sur les entrepôts cloud, lisibilité directe pour les Data Analysts sans expertise SQL avancée.
La méthode Kimball
Ralph Kimball a formalisé les meilleures pratiques du data warehousing dans les années 1990. Ses concepts - bus matrix, conformed dimensions, slowly changing dimensions (SCD) - restent la référence en modélisation dimensionnelle. Tout Analytics Engineer sérieux doit connaître ces bases.
Les conventions de nommage dans dbt
Dans dbt, les modèles sont conventionnellement préfixés pour indiquer leur couche :
- stg_ : staging - données nettoyées depuis les sources
- int_ : intermediate - transformations métier intermédiaires
- fct_ : fact - tables de faits prêtes pour l'analyse
- dim_ : dimension - tables de dimensions
- mart_ : data mart - vues agrégées par domaine métier
Les Slowly Changing Dimensions (SCD)
Comment gérer l'historique des dimensions qui changent ? Un client change d'adresse, un produit change de catégorie. Les SCD définissent comment traiter ces changements. SCD Type 2 (ajout d'une ligne avec dates de validité) est le pattern le plus utilisé. dbt propose des snapshots pour gérer les SCD Type 2 nativement, avec les colonnes dbt_valid_from et dbt_valid_to gérées automatiquement.
One Big Table vs modélisation normalisée
Un débat récurrent : faut-il dénormaliser agressivement en une "One Big Table" (OBT) ou maintenir un modèle dimensionnel propre ? Les OBT simplifient l'accès dans les outils BI mais génèrent des coûts de requête. Le star schema est plus robuste mais demande plus de discipline. En pratique, les deux coexistent dans un même projet dbt selon les cas d'usage.






