Lekce 1Návrh dimenzionálního modelu pro analýzu: mapování faktů a dimenzíProzkoumejte dimenzionální modelování pro analýzu. Namapujete obchodní procesy na fact tabulky, definujete dimenze a grain, zpracujete many-to-many vztahy a navrhnete schémata podporující self-service BI a výkonné dotazy.
Identifikace obchodních procesů a faktůVolba grain fact tabulekNávrh konformních dimenzíZpracování many-to-many vztahůVýhody star vs snowflake schématLekce 2fact_user_activity: pole schématu (event_id, user_id, course_id, event_type, timestamp, duration, device, session_id, ingestion_metadata)Modelujte fact_user_activity tabulku pro behaviorální analýzu. Definujeme každé pole, volíme event grain, zachytáváme sessiony a zařízení, ukládáme ingest metadata a podporujeme funnels, engagement a retention reporty.
Definice grain na úrovni eventuModelování event_type a taxonomiíAtribuce session a zařízeníPoužití polí ingestion_metadataPodpora funnels a retentionLekce 3Odvozené metriky a agregace: denní aktivní uživatelé (DAU), aktivní uživatelé na kurz, míra dokončení kurzu podle země, výnosy podle kurzu a kohortyNaučte se budovat odvozené metriky a agregace z fact tabulek. Vypočítáme DAU, aktivitu na kurz, míry dokončení a kohortové výnosy s důrazem na reprodukovatelné definice a efektivní materializační vzory.
Konzistentní definice DAU a MAUMetriky aktivních uživatelů na kurzMíra dokončení podle segmentu a zeměVýnosy podle kurzu a kohortyMaterializace agregací ve skladechLekce 4Zpracování pomalu měnících se dimenzí (SCD Type 1/2) a time-travel/verzováníNaučte se spravovat pomalu měnící se dimenze a time-travel. Porovnáme SCD Type 1 a Type 2, navrhneme efektivní datumové rozsahy, uložíme verzovací metadata a použijeme funkce skladu pro dotazování historických stavů dimenzí.
Kdy použít SCD Type 1 vs Type 2Efektivní data a current flagsImplementace SCD v SQL a dbtPoužití time-travel funkcí skladuTestování správnosti historických dimenzíLekce 5Čerstvost dat a windowing strategie pro near-real-time KPINavrhněte strategie čerstvosti pro near-real-time KPI. Pokryjeme latency budgety, watermarking, windowing pro stream metriky, zpracování pozdně přicházejících dat a monitorování čerstvosti pro spolehlivé a použitelné dashboardy.
Definice cílů čerstvosti a latenceWatermarks a zpracování pozdních datTumbling, sliding a session windowsVýpočet near-real-time KPIMonitorování a alerty na čerstvostLekce 6Kroky čištění dat: parsování, type coercion, normalizace timestampů, deduplikace, obohacováníNaučte se systematicky čistit surová data před modelováním. Pokryjeme parsování polostrukturovaných polí, vynucování datových typů, normalizaci timestampů napříč časovými zónami, deduplikaci záznamů a obohacování datasetů referenčními a lookup daty.
Parsování JSON, CSV a vnořených políType coercion a validace schématNormalizace časových zón a standardůStrategie deduplikace záznamůJoins referenčních dat pro obohaceníLekce 7dim_course: pole schématu (course_id, title, author_id, category, price, published_date)Navrhněte dim_course dimenzi pro analýzu kurzů. Definujeme každé pole, diskutujeme surrogátní klíče, zpracování změn cen a kategorií a modelování publikačních dat pro přesné historické a katalogové reporty.
Obchodní význam polí dim_courseNatural keys vs surrogátní course_idZpracování změn cen a kategorií kurzůModelování publikovaných a nepublikovaných stavůIndexování dim_course pro BI dotazyLekce 8dim_user: pole schématu (user_id, email_hash, signup_date, country, subscription_status, cohort)Navrhněte dim_user dimenzi pro uživatelskou analýzu a segmentaci. Definujeme každé pole, hashujeme citlivá data, sledujeme registrace a kohorty a modelujeme stav předplatného pro podporu růstu, retention a monetizace.
Identifikátory uživatelů a surrogátní klíčeHashování emailů a privacy kontrolyModelování signup_date a kohortLifecycle subscription_statusAtributy země a lokalizaceLekce 9Transformační vzory: ELT vs ETL, inkrementální transformace, batch vs stream transformacePochopte jádrové transformační vzory a jejich použití. Porovnáme ETL a ELT, navrhneme inkrementální pipeliny a kontrastujeme batch a streaming transformace s fokusem na náklady, latenci, observabilitu a operační kompromisy.
Porovnání ETL a ELT architekturNávrh inkrementálních transformacíVýhody a nevýhody batch processingStreaming a micro-batch vzoryVolba vzorů podle SLA a nákladůLekce 10Nástroje pro transformace: dbt, Spark/Databricks, Beam/Flink, SQL-based transformační frameworkyProzkoumejte klíčové transformační nástroje a jejich volbu. Porovnáme dbt, Spark, Databricks, Beam, Flink a SQL frameworky s fokusem na škálovatelnost, orchestraci, testování a integraci s moderními datovými stacky.
dbt pro SQL-centrické transformaceSpark a Databricks pro big dataBeam a Flink pro streaming jobySQL-based transformační frameworkyKritéria volby nástrojů a kompromisyLekce 11fact_payments: pole schématu (payment_id, user_id, course_id, amount, currency, payment_method, status, timestamp, invoice_id)Modelujte fact_payments tabulku pro revenue analýzu. Definujeme každé pole, diskutujeme idempotentní ingest, zpracování měn, stav plateb, refundace a propojení plateb s uživateli, kurzy a fakturami pro downstream reporty.
Grain a primární klíč fact_paymentsModelování stavu plateb a lifecycleZpracování multi-currency částekPropojení plateb s uživateli a kurzyZachytávání refundací a chargebacků