Leçon 1Conception modèle dimensionnel pour analytique : mapping faits et dimensionsExplorez la modélisation dimensionnelle pour l'analytique. Vous cartographierez les processus business vers tables de faits, définirez dimensions et granularité, gérerez relations many-to-many et concevrez schémas supportant BI self-service et requêtes performantes.
Identification processus business et faitsChoix granularité tables de faitsConception dimensions conformesGestion relations many-to-manyCompromis schéma étoile vs floconLeçon 2fact_user_activity : champs schéma (event_id, user_id, course_id, event_type, timestamp, duration, device, session_id, ingestion_metadata)Modélisez la table fact_user_activity pour analytique comportementale. Nous définissons chaque champ, choisissons la granularité événement, capturons sessions et appareils, stockons métadonnées d'ingestion et supportons entonnoirs, engagement et reporting rétention.
Définition granularité niveau événementModélisation event_type et taxonomiesAttribution session et appareilUtilisation champs ingestion_metadataSupport entonnoirs et rétentionLeçon 3Métriques dérivées et agrégations : utilisateurs actifs quotidiens (DAU), utilisateurs actifs par cours, taux achèvement par pays, revenu par cours et cohorteApprenez à construire métriques dérivées et agrégations à partir de tables de faits. Nous calculons DAU, activité par cours, taux d'achèvement et revenu de cohorte, en insistant sur définitions reproductibles et patterns de matérialisation efficaces.
Définition cohérente DAU et MAUMétriques utilisateurs actifs par coursTaux achèvement par segment et paysRevenu par cours et cohorteMatérialisation agrégats dans entrepôtsLeçon 4Gestion dimensions lentement changeantes (SCD Type 1/2) et time-travel/versioningApprenez à gérer dimensions lentement changeantes et time-travel. Nous comparons SCD Type 1 et 2, concevons plages de dates effectives, stockons métadonnées de version et utilisons fonctionnalités entrepôt pour requêter états historiques des dimensions.
Quand utiliser SCD Type 1 vs 2Dates effectives et flags courantImplémentation SCD en SQL et dbtUtilisation fonctionnalités time-travel entrepôtTest correction dimensions historiquesLeçon 5Fraîcheur des données et stratégies de fenêtrage pour KPI quasi-temps-réelConcevez stratégies de fraîcheur pour KPI quasi-temps-réel. Nous couvrons budgets de latence, watermarks, fenêtrage pour métriques streaming, gestion données tardives et surveillance fraîcheur pour maintenir tableaux de bord fiables et actionnables.
Définition cibles fraîcheur et latenceWatermarks et gestion données tardivesFenêtres tumbling, sliding et sessionCalcul KPI quasi-temps-réelSurveillance et alerte sur fraîcheurLeçon 6Étapes nettoyage données : parsing, coercition types, normalisation timestamp, déduplication, enrichissementApprenez à nettoyer systématiquement les données brutes avant modélisation. Nous couvrons parsing champs semi-structurés, enforcement types de données, normalisation timestamps fuseaux horaires, déduplication enregistrements et enrichissement datasets avec données de référence.
Parsing JSON, CSV et champs imbriquésCoercition types et validation schémaNormalisation fuseaux horaires et standardsStratégies déduplication enregistrementsJoins données référence pour enrichissementLeçon 7dim_course : champs schéma (course_id, title, author_id, category, price, published_date)Concevez la dimension dim_course pour analytique cours. Nous définissons chaque champ, discutons clés surrogates, gérons changements prix et catégorie, et modélisons dates publication pour reporting historique et catalogue précis.
Signification business chaque champ dim_courseClés naturelles vs surrogate course_idGestion changements prix et catégorie coursModélisation états publiés/non-publiésIndexation dim_course pour requêtes BILeçon 8dim_user : champs schéma (user_id, email_hash, signup_date, country, subscription_status, cohort)Concevez la dimension dim_user pour analytique utilisateur et segmentation. Nous définissons chaque champ, hashons données sensibles, suivons inscriptions et cohortes, et modélisons statut abonnement pour reporting croissance, rétention et monétisation.
Identifiants utilisateur et clés surrogatesHashing email et contrôles confidentialitéModélisation signup_date et cohortesCycle de vie subscription_statusAttributs pays et localisationLeçon 9Patterns de transformation : ELT vs ETL, transformations incrémentales, batch vs stream transformsComprenez les patterns de transformation fondamentaux et quand les appliquer. Nous comparons ETL et ELT, concevons pipelines incrémentaux et contrastons transformations batch et streaming, en se focalisant sur coût, latence, observabilité et compromis opérationnels.
Comparaison architectures ETL et ELTConception transformations incrémentalesAvantages et inconvénients batchPatterns streaming et micro-batchChoix patterns par SLA et coûtLeçon 10Outils pour transformations : dbt, Spark/Databricks, Beam/Flink, frameworks transformation SQLPassez en revue les outils de transformation clés et comment choisir entre eux. Nous comparons dbt, Spark, Databricks, Beam, Flink et frameworks SQL, en se focalisant sur scalabilité, orchestration, tests et intégration avec stacks de données modernes.
dbt pour transformations SQL-centriquesSpark et Databricks pour big dataBeam et Flink pour jobs streamingFrameworks transformation basés SQLCritères sélection outils et compromisLeçon 11fact_payments : champs schéma (payment_id, user_id, course_id, amount, currency, payment_method, status, timestamp, invoice_id)Modélisez la table fact_payments pour analytique revenu. Nous définissons chaque champ, discutons ingestion idempotente, gestion devises, statut paiement, remboursements et liaison paiements vers utilisateurs, cours et factures pour reporting aval.
Granularité et clé primaire fact_paymentsModélisation statut et cycle de vie paiementGestion montants multi-devisesLiaison paiements vers utilisateurs et coursCapture remboursements et chargebacks