Lektion 1Design av dimensionsmodell för analys: fakta och dimensioner mappningUtforska dimensionsmodellering för analys. Du mappar affärsprocesser till faktatabeller, definierar dimensioner och granularitet, hanterar många-till-många-relationer och designar scheman som stödjer självbetjänad BI och presterande frågor.
Identifiering av affärsprocesser och faktaVal av granularitet för faktatabellerDesign av konforma dimensionerHantering av många-till-många-relationerStar vs snowflake-schema avvägningarLektion 2fact_user_activity: schemfält (event_id, user_id, course_id, event_type, timestamp, duration, device, session_id, ingestion_metadata)Modellera fact_user_activity-tabellen för beteendeanalys. Vi definierar varje fält, väljer händelsegranularitet, fångar sessioner och enheter, lagrar ingestionsmetadata och stödjer funnlar, engagemang och retentionrapportering.
Definiera händelse-nivå granularitetModellering av event_type och taxonomierSessions- och enhetsattributionAnvändning av ingestion_metadata-fältStöd för funnlar och retentionLektion 3Härledda mått och aggregationer: dagliga aktiva användare (DAU), aktiva användare per kurs, kursgenomförandegrad per land, intäkter per kurs och kohortLär dig bygga härledda mått och aggregationer från faktatabeller. Vi beräknar DAU, aktivitet per kurs, genomförandegrader och kohortintäkter med betoning på reproducerbara definitioner och effektiva materialiseringsmönster.
Definiera DAU och MAU konsekventAktiva användare per kursmåttGenomförandegrad per segment och landIntäkter per kurs och kohortMaterialisera aggregationer i databaserLektion 4Hantering av långsamt föränderliga dimensioner (SCD Typ 1/2) och tidsresor/versioneringLär dig hantera långsamt föränderliga dimensioner och tidsresor. Vi jämför SCD Typ 1 och Typ 2, designar effektiva datumnsintervall, lagrar versionsmetadata och använder databassfunktioner för att fråga historiska dimensionsstater.
När använda SCD Typ 1 vs Typ 2Effektiva datum och aktuella flaggorImplementera SCD i SQL och dbtAnvända databastidsresorTesta historisk dimensionskorrekthetLektion 5Datafräschhet och fönsterstrategier för nära-realtids-KPI:erDesigna fräschhetsstrategier för nära-realtids-KPI:er. Vi täcker latensbudgetar, vattenmärken, fönster för strömmande mått, hantering av sena data och övervakning av fräschhet för att hålla instrumentpaneler pålitliga och handlingsbara.
Definiera fräschhet och latensmålVattenmärken och sen datahanteringTumbling, sliding och sessionfönsterNära-realtids-KPI-beräkningÖvervakning och varning på fräschhetLektion 6Dat Rensningssteg: parsning, typcoercion, tidsstämpelnormalisering, deduplicering, berikningLär dig systematiskt rensa rådata innan modellering. Vi täcker parsning av semistrukturerade fält, påtvinga datatyper, normalisera tidsstämplar över tidszoner, deduplicera poster och berika dataset med referens- och uppslagsdata.
Parsning av JSON, CSV och nestade fältTypcoercion och schemavalideringTidszonsnormalisering och standarderPoster-dedupliceringsstrategierReferensdata-joins för berikningLektion 7dim_course: schemfält (course_id, title, author_id, category, price, published_date)Designa dim_course-dimensionen för kursanalys. Vi definierar varje fält, diskuterar surrogatnycklar, hanterar priser och kategoriförändringar samt modellerar publiceringsdatum för korrekt historisk och katalograpportering.
Affärsbetydelse för varje dim_course-fältNaturliga nycklar vs surrogat course_idHantering av kurspris och kategoriförändringarModellering av publicerade och opublicerade tillståndIndexering av dim_course för BI-frågorLektion 8dim_user: schemfält (user_id, email_hash, signup_date, country, subscription_status, cohort)Designa dim_user-dimensionen för användaranalys och segmentering. Vi definierar varje fält, hashar känslig data, spårar registrering och kohorter samt modellerar prenumerationsstatus för att stödja tillväxt, retention och monetiseringsrapportering.
Användaridentifierare och surrogatnycklarE-posthashning och integritetskontrollerModellering av signup_date och kohorterPrenumerationsstatus livscykelLand- och lokalanpassningsattributLektion 9Transformationmönster: ELT vs ETL, inkrementella transformationer, batch vs strömtransformationerFörstå kärntransformationmönster och när man tillämpar dem. Vi jämför ETL och ELT, designar inkrementella pipelines och kontrasterar batch- och strömmande transformationer med fokus på kostnad, latens, observerbarhet och operativa avvägningar.
Jämförelse av ETL- och ELT-arkitekturerDesign av inkrementella transformationerBatchbehandlingsför- och nackdelarStrömmande och mikrobatchmönsterVal av mönster efter SLA och kostnadLektion 10Verktyg för transformationer: dbt, Spark/Databricks, Beam/Flink, SQL-baserade transformationsramverkGranska nyckeltransformationverktyg och hur man väljer mellan dem. Vi jämför dbt, Spark, Databricks, Beam, Flink och SQL-ramverk med fokus på skalbarhet, orkestrering, testning och integration med moderna datastack.
dbt för SQL-centrerade transformationerSpark och Databricks för big dataBeam och Flink för strömmande jobbSQL-baserade transformationsramverkVerktygsvalskriterier och avvägningarLektion 11fact_payments: schemfält (payment_id, user_id, course_id, amount, currency, payment_method, status, timestamp, invoice_id)Modellera fact_payments-tabellen för intäktsanalys. Vi definierar varje fält, diskuterar idempotent ingest, valutahantering, betalningsstatus, återbetalningar och hur man länkar betalningar till användare, kurser och fakturor för nedströmsrapportering.
Granularitet och primärnyckel för fact_paymentsModellering av betalningsstatus och livscykelHantering av flervalsbeloppLänka betalningar till användare och kurserFånga återbetalningar och chargebacks