Leçon 1Conception modèle dimensionnel pour analyse : mappage faits et dimensionsExplorez modélisation dimensionnelle pour analyse. Vous mapperez processus d'affaires vers tables faits, définirez dimensions et granularité, gérerez relations many-to-many et concevrez schémas supportant BI auto-service et requêtes performantes.
Identification processus d'affaires et faitsChoix granularité tables 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 table fact_user_activity pour analyse comportementale. Nous définissons chaque champ, choisissons granularité événement, capturons sessions et appareils, stockons métadonnées d'ingestion et supportons entonnoirs, engagement et 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, revenus par cours et cohorteApprenez à construire métriques dérivées et agrégations à partir tables faits. Nous calculons DAU, activité par cours, taux achèvement et revenus cohorte, en insistant sur définitions reproductibles et patrons de matérialisation efficaces.
Définition cohérente DAU et MAUMétriques utilisateurs actifs par coursTaux achèvement par segment et paysRevenus par cours et cohorteMatérialisation agrégats dans entrepôtsLeçon 4Gestion dimensions changeant lentement (SCD Type 1/2) et time-travel/versionnageApprenez à gérer dimensions changeant lentement et time-travel. Nous comparons SCD Type 1 et 2, concevons plages dates effectives, stockons métadonnées version et utilisons fonctionnalités entrepôt pour requêter états historiques dimensions.
Quand utiliser SCD Type 1 vs 2Dates effectives et indicateurs 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 fenêtrage pour KPI quasi-temps réelConcevez stratégies fraîcheur pour KPI quasi-temps réel. Nous couvrons budgets latence, watermarks, fenêtrage pour métriques streaming, gestion données tardives et surveillance fraîcheur pour garder tableaux de bord fiables et actionnables.
Définition cibles fraîcheur et latenceWatermarks et gestion données tardivesFenêtres tumbling, glissantes et sessionCalcul KPI quasi-temps réelSurveillance et alertes fraîcheurLeçon 6Étapes nettoyage données : analyse, coercition types, normalisation horodatages, déduplication, enrichissementApprenez à nettoyer systématiquement données brutes avant modélisation. Nous couvrons analyse champs semi-structurés, application types de données, normalisation horodatages à travers fuseaux, déduplication enregistrements et enrichissement avec données de référence.
Analyse JSON, CSV et champs imbriquésCoercition types et validation schémaNormalisation fuseaux horaires et standardsStratégies déduplication enregistrementsJointures données de référence pour enrichissementLeçon 7dim_course : champs schéma (course_id, title, author_id, category, price, published_date)Concevez dimension dim_course pour analyse cours. Nous définissons chaque champ, discutons clés de substitution, gérons changements prix et catégorie, et modélisons dates publication pour reporting historique et catalogue précis.
Signification affaires chaque champ dim_courseClés naturelles vs substitution course_idGestion changements prix et catégorie coursModélisation états publié/non publiéIndexation dim_course pour requêtes BILeçon 8dim_user : champs schéma (user_id, email_hash, signup_date, country, subscription_status, cohort)Concevez dimension dim_user pour analyse et segmentation utilisateurs. Nous définissons chaque champ, hashons données sensibles, suivons inscription et cohortes, et modélisons statut abonnement pour reporting croissance, rétention et monétisation.
Identifiants utilisateur et clés substitutionHashage courriel et contrôles confidentialitéModélisation signup_date et cohortesCycle de vie subscription_statusAttributs pays et localisationLeçon 9Patrons transformation : ELT vs ETL, transformations incrémentales, batch vs stream transformsComprenez patrons transformation fondamentaux et quand les appliquer. Nous comparons ETL et ELT, concevons pipelines incrémentaux et contrastons batch et streaming transforms, en se concentrant sur coût, latence, observabilité et compromis opérationnels.
Comparaison architectures ETL et ELTConception transformations incrémentalesAvantages et inconvénients traitement batchPatrons streaming et micro-batchChoix patrons par SLA et coûtLeçon 10Outils pour transformations : dbt, Spark/Databricks, Beam/Flink, frameworks transformation SQLPassez en revue outils transformation clés et comment choisir entre eux. Nous comparons dbt, Spark, Databricks, Beam, Flink et frameworks SQL, en se concentrant 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 table fact_payments pour analyse revenus. Nous définissons chaque champ, discutons ingestion idempotente, gestion devises, statut paiement, remboursements et comment lier paiements à utilisateurs, cours et factures pour reporting en aval.
Granularité et clé primaire fact_paymentsModélisation statut et cycle de vie paiementGestion montants multi-devisesLiaison paiements à utilisateurs et coursCapture remboursements et rejets