שיעור 1תכנון מודל ממדי לניתוח: מיפוי facts ו-dimensionsחקרו מודלינג ממדי לניתוח. תמפו תהליכים עסקיים לטבלאות fact, תגדירו ממדים ו-grain, תטפלו ביחסי many-to-many, ותתכננו סכמות התומכות ב-BI עצמי ושאילתות בעלות ביצועים גבוהה.
Identifying business processes and factsChoosing the grain of fact tablesDesigning conformed dimensionsHandling many-to-many relationshipsStar vs snowflake schema trade-offsשיעור 2fact_user_activity: שדות סכמה (event_id, user_id, course_id, event_type, timestamp, duration, device, session_id, ingestion_metadata)מודל טבלת fact_user_activity לניתוח התנהגותי. אנחנו מגדירים כל שדה, בוחרים grain אירוע, לכודים מפגשים ומכשירים, מאחסנים מטא-נתוני ספיגה ומאפשרים דיווחי משפכים, מעורבות ושימור.
Defining the event-level grainModeling event_type and taxonomiesSession and device attributionUsing ingestion_metadata fieldsSupporting funnels and retentionשיעור 3מדדים נגזרים ואגרגציות: משתמשים פעילים יומיים (DAU), משתמשים פעילים לקורס, שיעור השלמת קורס לפי מדינה, הכנסה לפי קורס וקוהורטלמדו לבנות מדדים נגזרים ואגרגציות מטבלאות fact. אנחנו מחשבים DAU, פעילות לקורס, שיעורי השלמה ותמיכה בקוהורט, תוך דגש על הגדרות ניתנות לשחזור ודפוסי מימוש יעילים.
Defining DAU and MAU consistentlyActive users per course metricsCompletion rate by segment and countryRevenue by course and cohortMaterializing aggregates in warehousesשיעור 4טיפול בממדים משתנים לאט (SCD Type 1/2) ו-time-travel/גרסאותלמדו לנהל ממדים משתנים לאט ו-time-travel. אנחנו משווים SCD Type 1 ו-Type 2, מתכננים טווחי תאריכים יעילים, מאחסנים מטא-נתוני גרסה ומשתמשים בתכונות מחסן לשאילת מצבי ממד היסטוריים.
When to use SCD Type 1 vs Type 2Effective dates and current flagsImplementing SCD in SQL and dbtUsing warehouse time-travel featuresTesting historical dimension correctnessשיעור 5טריות נתונים ואסטרטגיות חלונות ל-KPI כמעט-זמן אמתתכננו אסטרטגיות טריות ל-KPI כמעט-זמן אמת. אנחנו מכסים תקציבי השהיה, watermarking, חלונות למדדי סטרימינג, טיפול בנתונים מאוחרים וניטור טריות לשמירה על לוחות מחוונים אמינים ופעילים.
Defining freshness and latency targetsWatermarks and late data handlingTumbling, sliding, and session windowsNear-real-time KPI computationMonitoring and alerting on freshnessשיעור 6שלבי ניקוי נתונים: פרסינג, כפיית סוג, נרמול חותם זמן, הסרת כפילויות, העשרהלמדו כיצד לנקות נתונים גולמיים באופן שיטתי לפני מודלינג. אנחנו מכסים פרסינג שדות חצי-מובנים, אכיפת סוגי נתונים, נרמול חותמי זמן על פני אזורי זמן, הסרת כפילויות והעשרת מערכי נתונים עם נתוני התייחסות.
Parsing JSON, CSV, and nested fieldsType coercion and schema validationTimezone normalization and standardsRecord deduplication strategiesReference data joins for enrichmentשיעור 7dim_course: שדות סכמה (course_id, title, author_id, category, price, published_date)תכננו ממד dim_course לתמיכה בניתוח קורסים. אנחנו מגדירים כל שדה, דנים במפתחות תחליפיים, מטפלים בשינויי מחירים וקטגוריות, וממדלים תאריכי פרסום לאפשר דיווחי היסטוריה וקטלוג מדויקים.
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 queriesשיעור 8dim_user: שדות סכמה (user_id, email_hash, signup_date, country, subscription_status, cohort)תכננו ממד dim_user לניתוח משתמשים ופילוח. אנחנו מגדירים כל שדה, משדרים נתונים רגישים, עוקבים אחרי תאריך הרשמה וקוהורטים, וממדלים סטטוס מנוי לתמיכה בצמיחה, שימור והכנסה.
User identifiers and surrogate keysEmail hashing and privacy controlsModeling signup_date and cohortsSubscription_status lifecycleCountry and localization attributesשיעור 9דפוסי טרנספורמציה: ELT לעומת ETL, טרנספורמציות הדרגתיות, אצווה לעומת טרנספורמציות סטרימינגהבינו דפוסי טרנספורמציה מרכזיים ומתי ליישם אותם. אנחנו משווים ETL ו-ELT, מתכננים צינורות הדרגתיים ומנגידים טרנספורמציות אצווה וסטרימינג, תוך התמקדות בעלות, השהיה, נצפות ופשרות תפעוליות.
Comparing ETL and ELT architecturesDesigning incremental transformationsBatch processing pros and consStreaming and micro-batch patternsChoosing patterns by SLA and costשיעור 10כלים לטרנספורמציות: dbt, Spark/Databricks, Beam/Flink, מסגרות טרנספורמציה מבוססות SQLסקרו כלי טרנספורמציה מרכזיים וכיצד לבחור ביניהם. אנחנו משווים dbt, Spark, Databricks, Beam, Flink ומסגרות SQL, תוך התמקדות בהרחבה, תזמון, בדיקות ושילוב עם ערימות נתונים מודרניות.
dbt for SQL-centric transformationsSpark and Databricks for big dataBeam and Flink for streaming jobsSQL-based transformation frameworksTool selection criteria and trade-offsשיעור 11fact_payments: שדות סכמה (payment_id, user_id, course_id, amount, currency, payment_method, status, timestamp, invoice_id)מודל טבלת fact_payments לניתוח הכנסות. אנחנו מגדירים כל שדה, דנים בספיגה idempotent, טיפול במטבעות, סטטוס תשלום, החזרים וכיצד לקשר תשלומים למשתמשים, קורסים וחשבוניות לדיווח downstream.
Grain and primary key of fact_paymentsModeling payment status and lifecycleHandling multi-currency amountsLinking payments to users and coursesCapturing refunds and chargebacks