Ders 1Analitik için boyutlu model tasarımı: olgular ve boyutlar eşlemeAnalitik için boyutlu modellemeyi keşfedin. İş süreçlerini olgu tablolarına eşleyecek, boyutları ve taneleri tanımlayacak, çok-çok ilişkileri yönetecek ve kendi kendine hizmet BI ve performanslı sorguları destekleyen şemalar tasarlayacaksınız.
Identifying business processes and factsChoosing the grain of fact tablesDesigning conformed dimensionsHandling many-to-many relationshipsStar vs snowflake schema trade-offsDers 2fact_user_activity: şema alanları (event_id, user_id, course_id, event_type, timestamp, duration, device, session_id, ingestion_metadata)Davranış analitiği için fact_user_activity tablosunu modelleyin. Her alanı tanımlayın, olay tanelerini seçin, oturumları ve cihazları yakalayın, alım meta verilerini depolayın ve huni, etkileşim ve tutma raporlamasını destekleyin.
Defining the event-level grainModeling event_type and taxonomiesSession and device attributionUsing ingestion_metadata fieldsSupporting funnels and retentionDers 3Türetilmiş metrikler ve toplulaştırmalar: günlük aktif kullanıcılar (DAU), kura başına aktif kullanıcılar, ülkeye göre kurs tamamlama oranı, kura ve kohorta göre gelirOlgu tablolarından türetilmiş metrikler ve toplulaştırmalar oluşturmayı öğrenin. DAU, kura başına aktivite, tamamlama oranları ve kohort geliri hesaplayın, yeniden üretilebilir tanımlar ve verimli materyalizasyon desenlerine vurgu yaparak.
Defining DAU and MAU consistentlyActive users per course metricsCompletion rate by segment and countryRevenue by course and cohortMaterializing aggregates in warehousesDers 4Yavaş değişen boyutları (SCD Tip 1/2) yönetme ve zaman yolculuğu/sürümlemeYavaş değişen boyutları ve zaman yolculuğunu yönetmeyi öğrenin. SCD Tip 1 ve Tip 2'yi karşılaştırın, etkili tarih aralıkları tasarlayın, sürüm meta verilerini depolayın ve depoların özelliklerini kullanarak geçmiş boyut durumlarını sorgulayın.
When to use SCD Type 1 vs Type 2Effective dates and current flagsImplementing SCD in SQL and dbtUsing warehouse time-travel featuresTesting historical dimension correctnessDers 5Yakın gerçek zamanlı KPI'ler için veri tazeliği ve pencereleme stratejileriYakın gerçek zamanlı KPI'ler için tazelik stratejileri tasarlayın. Gecikme bütçeleri, su işaretleme, akış metrikleri için pencereleme, geç gelen veri yönetimi ve panoları güvenilir ve eyleme geçirilebilir tutmak için tazeliği izlemeyi kapsar.
Defining freshness and latency targetsWatermarks and late data handlingTumbling, sliding, and session windowsNear-real-time KPI computationMonitoring and alerting on freshnessDers 6Veri temizleme adımları: ayrıştırma, tür zorlama, zaman damgası normalizasyonu, kopyasızlaştırma, zenginleştirmeModellemeden önce ham veriyi sistematik olarak temizlemeyi öğrenin. Yarı yapılandırılmış alanları ayrıştırma, veri türlerini zorlama, saat dilimleri genelinde zaman damgalarını normalize etme, kayıtları kopyasızlaştırma ve referans ve arama verileriyle veri setlerini zenginleştirme kapsar.
Parsing JSON, CSV, and nested fieldsType coercion and schema validationTimezone normalization and standardsRecord deduplication strategiesReference data joins for enrichmentDers 7dim_course: şema alanları (course_id, title, author_id, category, price, published_date)Kurs analitiği desteklemek için dim_course boyutunu tasarlayın. Her alanı tanımlayın, yer tutucu anahtarları tartışın, fiyatlandırma ve kategori değişikliklerini yönetin ve doğru geçmiş ve katalog raporlaması için yayın tarihlerini modelleyin.
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 queriesDers 8dim_user: şema alanları (user_id, email_hash, signup_date, country, subscription_status, cohort)Kullanıcı analitiği ve segmentasyonu için dim_user boyutunu tasarlayın. Her alanı tanımlayın, duyarlı veriyi hash'leyin, kayıt ve kohortları izleyin ve büyüme, tutma ve para kazanma raporlamasını desteklemek için abonelik durumunu modelleyin.
User identifiers and surrogate keysEmail hashing and privacy controlsModeling signup_date and cohortsSubscription_status lifecycleCountry and localization attributesDers 9Dönüşüm desenleri: ELT vs ETL, artımlı dönüşümler, toplu vs akış dönüşümleriTemel dönüşüm desenlerini ve ne zaman uygulanacağını anlayın. ETL ve ELT'yi karşılaştırın, artımlı boru hatları tasarlayın ve toplu ve akış dönüşümlerini karşılaştırın, maliyet, gecikme, gözlemlenebilirlik ve operasyonel takaslara odaklanarak.
Comparing ETL and ELT architecturesDesigning incremental transformationsBatch processing pros and consStreaming and micro-batch patternsChoosing patterns by SLA and costDers 10Dönüşüm araçları: dbt, Spark/Databricks, Beam/Flink, SQL tabanlı dönüşüm çerçeveleriDönüşüm araçlarını ve aralarında nasıl seçim yapacağınızı inceleyin. dbt, Spark, Databricks, Beam, Flink ve SQL çerçevelerini karşılaştırın, ölçeklenebilirlik, orkestrasyon, test ve modern veri yığınlarıyla entegrasyona odaklanarak.
dbt for SQL-centric transformationsSpark and Databricks for big dataBeam and Flink for streaming jobsSQL-based transformation frameworksTool selection criteria and trade-offsDers 11fact_payments: şema alanları (payment_id, user_id, course_id, amount, currency, payment_method, status, timestamp, invoice_id)Gelir analitiği için fact_payments tablosunu modelleyin. Her alanı tanımlayın, tekrarlanmaz alımı tartışın, para birimi yönetimi, ödeme durumu, iadeler ve ödemeleri kullanıcılara, kurslara ve faturalara aşağı akış raporlaması için bağlamayı.
Grain and primary key of fact_paymentsModeling payment status and lifecycleHandling multi-currency amountsLinking payments to users and coursesCapturing refunds and chargebacks