Leçon 1Conception de modèle dimensionnel pour l'analyse : mapping facts et dimensionsExplorez la modélisation dimensionnelle pour l'analyse. Vous cartographierez les processus métier vers les tables de faits, définirez les dimensions et le grain, gérerez les relations many-to-many, et concevrez des schémas supportant la BI self-service et les requêtes performantes.
Identifier les processus métier et faitsChoisir le grain des tables de faitsConcevoir des dimensions conformesGérer les relations many-to-manyAvantages star vs snowflakeLeç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 l'analyse comportementale. Nous définissons chaque champ, choisissons le grain événementiel, capturons sessions et appareils, stockons les métadonnées d'ingestion, et supportons les entonnoirs, engagement et rétention.
Définir le grain au niveau événementModéliser event_type et taxonomiesAttribution session et appareilUtiliser les champs ingestion_metadataSupporter entonnoirs et rétentionLeçon 3Métriques dérivées et agrégations : DAU, utilisateurs actifs par cours, taux de complétion par pays, revenus par cours et cohorteApprenez à construire des métriques dérivées et agrégations à partir des tables de faits. Nous calculons DAU, activité par cours, taux de complétion, et revenus de cohorte, en insistant sur des définitions reproductibles et des patterns de matérialisation efficaces.
Définir DAU et MAU de manière cohérenteMétriques utilisateurs actifs par coursTaux de complétion par segment et paysRevenus par cours et cohorteMatérialiser agrégats dans entrepôtsLeçon 4Gestion des dimensions lentement changeantes (SCD Type 1/2) et time-travel/versioningApprenez à gérer les dimensions lentement changeantes et le time-travel. Nous comparons SCD Type 1 et 2, concevons des plages de dates effectives, stockons les métadonnées de version, et utilisons les fonctionnalités d'entrepôt pour interroger les états historiques des dimensions.
Quand utiliser SCD Type 1 vs 2Dates effectives et flags courantImplémenter SCD en SQL et dbtUtiliser time-travel d'entrepôtTester correction dimensions historiquesLeçon 5Fraîcheur des données et stratégies de fenêtrage pour KPI quasi-temps-réelConcevez des 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 monitoring fraîcheur pour garder tableaux de bord fiables et actionnables.
Définir cibles fraîcheur et latenceWatermarks et gestion données tardivesFenêtres tumbling, sliding, sessionCalcul KPI quasi-temps-réelMonitoring et alertes 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, application types données, normalisation timestamps fuseaux horaires, déduplication enregistrements, et enrichissement datasets avec données référence et lookup.
Parser JSON, CSV, champs imbriquésCoercition types et validation schémaNormalisation fuseaux et standardsStratégies déduplication enregistrementsJoins données référence enrichissementLeçon 7dim_course: champs schéma (course_id, title, author_id, category, price, published_date)Concevez la dimension dim_course pour analyse 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 métier chaque champ dim_courseClés naturelles vs surrogate course_idGérer changements prix et catégorie coursModéliser états publié/non-publiéIndexer 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 analyse et segmentation utilisateurs. 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éliser signup_date et cohortesCycle de vie subscription_statusAttributs pays et localisationLeçon 9Patterns transformation : ELT vs ETL, transformations incrémentales, batch vs streamComprenez les patterns transformation essentiels et quand les appliquer. Nous comparons ETL et ELT, concevons pipelines incrémentaux, et opposons batch et streaming, en focalisant coût, latence, observabilité et compromis opérationnels.
Comparer architectures ETL et ELTConcevoir transformations incrémentalesAvantages inconvénients batchPatterns streaming et micro-batchChoisir patterns par SLA et coûtLeçon 10Outils transformations : dbt, Spark/Databricks, Beam/Flink, frameworks transformation SQLPassez en revue les outils transformation clés et comment choisir. Nous comparons dbt, Spark, Databricks, Beam, Flink et frameworks SQL, en focalisant scalabilité, orchestration, tests et intégration stacks données modernes.
dbt pour transformations SQL-centriquesSpark et Databricks big dataBeam et Flink jobs streamingFrameworks transformation 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 analyse revenus. Nous définissons chaque champ, discutons ingestion idempotente, gestion devises, statut paiement, remboursements, et liaisons paiements vers utilisateurs, cours et factures pour reporting aval.
Grain et clé primaire fact_paymentsModéliser statut et cycle paiementGérer montants multi-devisesLier paiements utilisateurs et coursCapturer remboursements et chargebacks