Lektion 1Entwurf dimensionaler Modelle für Analytics: Facts- und DimensionszuordnungErkunden Sie Dimensionsmodellierung für Analytics. Sie ordnen Geschäftsprozesse Fact-Tabellen zu, definieren Dimensionen und Grain, handhaben Many-to-Many-Beziehungen und entwerfen Schemata, die Self-Service-BI und performante Abfragen unterstützen.
Identifying business processes and factsChoosing the grain of fact tablesDesigning conformed dimensionsHandling many-to-many relationshipsStar vs snowflake schema trade-offsLektion 2fact_user_activity: Schema-Felder (event_id, user_id, course_id, event_type, timestamp, duration, device, session_id, ingestion_metadata)Modellieren Sie die fact_user_activity-Tabelle für Verhaltensanalytics. Wir definieren jedes Feld, wählen das Ereignis-Grain, erfassen Sessions und Devices, speichern Ingestion-Metadaten und unterstützen Funnels, Engagement und Retention-Reporting.
Defining the event-level grainModeling event_type and taxonomiesSession and device attributionUsing ingestion_metadata fieldsSupporting funnels and retentionLektion 3Abgeleitete Metriken und Aggregationen: tägliche aktive Nutzer (DAU), aktive Nutzer pro Kurs, Kursabschlussrate nach Land, Umsatz pro Kurs und KohorteLernen Sie, abgeleitete Metriken und Aggregationen aus Fact-Tabellen zu erstellen. Wir berechnen DAU, pro-Kurs-Aktivität, Abschlussraten und Kohorten-Umsatz mit Betonung auf reproduzierbare Definitionen und effiziente Materialisierungs-Muster.
Defining DAU and MAU consistentlyActive users per course metricsCompletion rate by segment and countryRevenue by course and cohortMaterializing aggregates in warehousesLektion 4Behandlung langsam veränderlicher Dimensionen (SCD Type 1/2) und Time-Travel/VersionierungLernen Sie, langsam veränderliche Dimensionen (SCD Type 1/2) und Time-Travel/Versionierung zu handhaben. Wir vergleichen SCD Type 1 und 2, entwerfen effektive Datumsbereiche, speichern Versionsmetadaten und nutzen Warehouse-Features für historische Dimensionenzustände.
When to use SCD Type 1 vs Type 2Effective dates and current flagsImplementing SCD in SQL and dbtUsing warehouse time-travel featuresTesting historical dimension correctnessLektion 5Datenfrische und Windowing-Strategien für Near-Real-Time-KPIsEntwerfen Sie Frischestrategien für Near-Real-Time-KPIs. Wir behandeln Latenzbudgets, Watermarking, Windowing für Streaming-Metriken, verspätete Datenbehandlung und Überwachung der Frische, um Dashboards zuverlässig und handlungsrelevant zu halten.
Defining freshness and latency targetsWatermarks and late data handlingTumbling, sliding, and session windowsNear-real-time KPI computationMonitoring and alerting on freshnessLektion 6Datenbereinigungsschritte: Parsing, Typ-Zwang, Zeitstempel-Normalisierung, Deduplizierung, AnreicherungLernen Sie, Rohdaten systematisch vor der Modellierung zu bereinigen. Wir behandeln Parsing semi-strukturierter Felder, Erzwingung von Datentypen, Normalisierung von Zeitstempeln über Zeitzonen, Deduplizierung von Records und Anreicherung mit Referenz- und Lookup-Daten.
Parsing JSON, CSV, and nested fieldsType coercion and schema validationTimezone normalization and standardsRecord deduplication strategiesReference data joins for enrichmentLektion 7dim_course: Schema-Felder (course_id, title, author_id, category, price, published_date)Entwerfen Sie die dim_course-Dimension für Kurs-Analytics. Wir definieren jedes Feld, besprechen Surrogat-Schlüssel, handhaben Preis- und Kategorieänderungen und modellieren Veröffentlichungsdaten für genaue historische und Katalog-Reporting.
Business meaning of each dim_course fieldNatural keys vs surrogate course_idHandling course price and category changesModeling published and unpublished statesIndexing dim_course for BI queriesLektion 8dim_user: Schema-Felder (user_id, email_hash, signup_date, country, subscription_status, cohort)Entwerfen Sie die dim_user-Dimension für Benutzer-Analytics und Segmentierung. Wir definieren jedes Feld, hashen sensible Daten, tracken Anmeldung und Kohorten und modellieren Abonnement-Status für Wachstum, Retention und Monetarisierungs-Reporting.
User identifiers and surrogate keysEmail hashing and privacy controlsModeling signup_date and cohortsSubscription_status lifecycleCountry and localization attributesLektion 9Transformationsmuster: ELT vs. ETL, inkrementelle Transformationen, Batch vs. Stream-TransformsVerstehen Sie Kern-Transformationsmuster und wann man sie anwendet. Wir vergleichen ETL und ELT, entwerfen inkrementelle Pipelines und kontrastieren Batch- und Streaming-Transforms mit Fokus auf Kosten, Latenz, Observability und operativen Abwägungen.
Comparing ETL and ELT architecturesDesigning incremental transformationsBatch processing pros and consStreaming and micro-batch patternsChoosing patterns by SLA and costLektion 10Tools für Transformationen: dbt, Spark/Databricks, Beam/Flink, SQL-basierte Transformations-FrameworksÜberblicken Sie Schlüssel-Transformations-Tools und wie man zwischen ihnen wählt. Wir vergleichen dbt, Spark, Databricks, Beam, Flink und SQL-Frameworks mit Fokus auf Skalierbarkeit, Orchestrierung, Testing und Integration in moderne Data Stacks.
dbt for SQL-centric transformationsSpark and Databricks for big dataBeam and Flink for streaming jobsSQL-based transformation frameworksTool selection criteria and trade-offsLektion 11fact_payments: Schema-Felder (payment_id, user_id, course_id, amount, currency, payment_method, status, timestamp, invoice_id)Modellieren Sie die fact_payments-Tabelle für Umsatz-Analytics. Wir definieren jedes Feld, besprechen idempotente Ingestion, Währungshandhabung, Zahlungsstatus, Rückerstattungen und wie Zahlungen mit Benutzern, Kursen und Rechnungen für Downstream-Reporting verknüpft werden.
Grain and primary key of fact_paymentsModeling payment status and lifecycleHandling multi-currency amountsLinking payments to users and coursesCapturing refunds and chargebacks