Lección 1Diseño modelo dimensional para analítica: mapeo facts y dimensionsExplora modelado dimensional para analítica. Mapearás procesos business a tablas fact, definirás dimensions y grain, manejarás relaciones many-to-many y diseñarás esquemas que soporten BI self-service y queries performantes.
Identificar procesos business y factsElegir grain de tablas factDiseñar dimensions conformedManejar relaciones many-to-manyTrade-offs star vs snowflakeLección 2fact_user_activity: campos esquema (event_id, user_id, course_id, event_type, timestamp, duration, device, session_id, ingestion_metadata)Modela la tabla fact_user_activity para analítica behavioral. Definimos cada campo, elegimos grain de evento, capturamos sesiones y devices, almacenamos metadatos ingestión y soportamos funnels, engagement y reporting retención.
Definir grain nivel eventoModelar event_type y taxonomíasAtribución sesión y deviceUsar campos ingestion_metadataSoportar funnels y retenciónLección 3Métricas derivadas y agregaciones: usuarios activos diarios (DAU), usuarios activos por curso, tasa completación por país, revenue por curso y cohortAprende a construir métricas derivadas y agregaciones desde tablas fact. Computamos DAU, actividad por curso, tasas completación y revenue cohort, enfatizando definiciones reproducibles y patrones materialización eficientes.
Definir DAU y MAU consistentementeMétricas usuarios activos por cursoTasa completación por segmento y paísRevenue por curso y cohortMaterializar agregados en warehousesLección 4Manejo dimensions slowly changing (SCD Type 1/2) y time-travel/versioningAprende a manejar dimensions slowly changing y time-travel. Comparamos SCD Type 1 y Type 2, diseñamos rangos fechas efectivas, almacenamos metadatos versión y usamos features warehouse para query estados históricos de dimensions.
Cuándo usar SCD Type 1 vs Type 2Fechas efectivas y flags currentImplementar SCD en SQL y dbtUsar features time-travel warehouseTestear corrección dimensions históricasLección 5Frescura de datos y estrategias windowing para KPIs near-real-timeDiseña estrategias frescura para KPIs near-real-time. Cubrimos budgets latencia, watermarking, windowing para métricas streaming, manejo datos tardíos y monitoreo frescura para mantener dashboards confiables y accionables.
Definir targets frescura y latenciaWatermarks y manejo datos tardíosVentanas tumbling, sliding, sessionComputación KPI near-real-timeMonitoreo y alertas frescuraLección 6Pasos cleansing datos: parsing, type coercion, normalización timestamp, desduplicación, enriquecimientoAprende a limpiar datos raw sistemáticamente antes de modelar. Cubrimos parsing campos semi-estructurados, enforcing tipos datos, normalización timestamps time zones, desduplicar records y enriquecer datasets con datos referencia y lookup.
Parsing JSON, CSV, campos nestedType coercion y validación esquemaNormalización timezone y standardsEstrategias desduplicación recordsJoins datos referencia para enriquecimientoLección 7dim_course: campos esquema (course_id, title, author_id, category, price, published_date)Diseña dimension dim_course para analítica cursos. Definimos cada campo, discutimos surrogate keys, manejamos cambios pricing y category, y modelamos fechas publicación para reporting histórico y catálogo preciso.
Significado business cada campo dim_courseClaves naturales vs surrogate course_idManejar cambios precio y category cursoModelar estados published y unpublishedIndexar dim_course para queries BILección 8dim_user: campos esquema (user_id, email_hash, signup_date, country, subscription_status, cohort)Diseña dimension dim_user para analítica usuarios y segmentación. Definimos cada campo, hash datos sensibles, track signup y cohorts, y modelamos subscription status para soportar reporting growth, retención y monetización.
Identificadores usuario y surrogate keysHash email y controles privacidadModelar signup_date y cohortsLifecycle subscription_statusAtributos country y localizaciónLección 9Patrones transformación: ELT vs ETL, transformaciones incrementales, batch vs stream transformsEntiende patrones transformación core y cuándo aplicarlos. Comparamos ETL y ELT, diseñamos pipelines incrementales y contrastamos batch y streaming transforms, enfocándonos en costo, latencia, observability y trade-offs operativos.
Comparar arquitecturas ETL y ELTDiseñar transformaciones incrementalesPros y contras batch processingPatrones streaming y micro-batchElegir patrones por SLA y costoLección 10Herramientas para transformaciones: dbt, Spark/Databricks, Beam/Flink, frameworks transformación SQLRevisa herramientas transformación clave y cómo elegir entre ellas. Comparamos dbt, Spark, Databricks, Beam, Flink y frameworks SQL, enfocándonos en escalabilidad, orquestación, testing e integración con data stacks modernos.
dbt para transformaciones SQL-centricSpark y Databricks para big dataBeam y Flink para jobs streamingFrameworks transformación SQLCriterios selección herramientas y trade-offsLección 11fact_payments: campos esquema (payment_id, user_id, course_id, amount, currency, payment_method, status, timestamp, invoice_id)Modela tabla fact_payments para analítica revenue. Definimos cada campo, discutimos ingestión idempotente, manejo currency, payment status, refunds y cómo linkear pagos a usuarios, cursos e invoices para reporting downstream.
Grain y primary key fact_paymentsModelar status y lifecycle pagoManejar montos multi-currencyLinkear pagos a usuarios y cursosCapturar refunds y chargebacks