Lección 1Diseño de modelo dimensional para analítica: mapeo de hechos y dimensionesExplora modelado dimensional para analítica. Mapearás procesos de negocio a tablas de hechos, definirás dimensiones y granularidad, manejarás relaciones many-to-many y diseñarás esquemas que soporten BI self-service y consultas performantes.
Identificar procesos de negocio y hechosElegir granularidad de tablas de hechosDiseñar dimensiones conformadasManejar relaciones many-to-manyTrade-offs star vs snowflake schemaLección 2fact_user_activity: campos de 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 de comportamiento. Definimos cada campo, elegimos granularidad de evento, capturamos sesiones y dispositivos, almacenamos metadatos de ingestión y soportamos funnels, engagement y reporting de retención.
Definir granularidad a nivel de eventoModelar event_type y taxonomíasAtribución de sesión y dispositivoUsar campos ingestion_metadataSoportar funnels y retenciónLección 3Métricas derivadas y agregaciones: usuarios activos diarios (DAU), usuarios activos por curso, tasa de completación por país, ingresos por curso y cohorteAprende a construir métricas derivadas y agregaciones desde tablas de hechos. Computamos DAU, actividad por curso, tasas de completación e ingresos por cohorte, enfatizando definiciones reproducibles y patrones de materialización eficientes.
Definir DAU y MAU consistentementeMétricas de usuarios activos por cursoTasa de completación por segmento y paísIngresos por curso y cohorteMaterializar agregados en almacenesLección 4Manejo de dimensiones de cambio lento (SCD Tipo 1/2) y time-travel/versionadoAprende a manejar dimensiones de cambio lento y time-travel. Comparamos SCD Tipo 1 y Tipo 2, diseñamos rangos de fechas efectivas, almacenamos metadatos de versión y usamos características de almacén para consultar estados históricos de dimensiones.
Cuándo usar SCD Tipo 1 vs Tipo 2Fechas efectivas y flags actualesImplementar SCD en SQL y dbtUsar características time-travel del almacénProbar corrección histórica de dimensionesLección 5Estrategias de frescura de datos y windowing para KPIs near-real-timeDiseña estrategias de frescura para KPIs near-real-time. Cubrimos presupuestos de latencia, watermarking, windowing para métricas streaming, manejo de datos tardíos y monitoreo de frescura para mantener dashboards confiables y accionables.
Definir objetivos de frescura y latenciaWatermarks y manejo de datos tardíosVentanas tumbling, sliding y sessionComputación de KPIs near-real-timeMonitoreo y alertas de frescuraLección 6Pasos de limpieza de datos: parsing, coerción de tipos, normalización de timestamps, desduplicación, enriquecimientoAprende a limpiar sistemáticamente datos raw antes del modelado. Cubrimos parsing de campos semi-estructurados, enforcement de tipos de datos, normalización de timestamps entre zonas horarias, desduplicación de registros y enriquecimiento de datasets con datos de referencia y lookup.
Parsing JSON, CSV y campos anidadosCoerción de tipos y validación de esquemasNormalización de zona horaria y estándaresEstrategias de desduplicación de registrosJoins de datos de referencia para enriquecimientoLección 7dim_course: campos de esquema (course_id, title, author_id, category, price, published_date)Diseña la dimensión dim_course para soportar analítica de cursos. Definimos cada campo, discutimos claves surrogate, manejamos cambios de precios y categorías, y modelamos fechas de publicación para reporting histórico y de catálogo preciso.
Significado de negocio de cada campo dim_courseClaves naturales vs surrogate course_idManejar cambios de precio y categoría de cursoModelar estados publicados y no publicadosIndexar dim_course para consultas BILección 8dim_user: campos de esquema (user_id, email_hash, signup_date, country, subscription_status, cohort)Diseña la dimensión dim_user para analítica y segmentación de usuarios. Definimos cada campo, hasheamos datos sensibles, rastreamos signup y cohortes, y modelamos estado de suscripción para soportar reporting de crecimiento, retención y monetización.
Identificadores de usuario y claves surrogateHashing de email y controles de privacidadModelar signup_date y cohortesCiclo de vida subscription_statusAtributos de país y localizaciónLección 9Patrones de transformación: ELT vs ETL, transformaciones incrementales, transformaciones batch vs streamEntiende patrones centrales de transformación y cuándo aplicarlos. Comparamos ETL y ELT, diseñamos tuberías incrementales y contrastamos transformaciones batch y streaming, enfocándonos en costo, latencia, observabilidad y trade-offs operacionales.
Comparar arquitecturas ETL y ELTDiseñar transformaciones incrementalesPros y contras del procesamiento batchPatrones streaming y micro-batchElegir patrones por SLA y costoLección 10Herramientas para transformaciones: dbt, Spark/Databricks, Beam/Flink, frameworks de transformación basados en SQLRevisa herramientas clave de transformación 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 stacks de datos modernos.
dbt para transformaciones SQL-céntricasSpark y Databricks para big dataBeam y Flink para trabajos streamingFrameworks de transformación basados en SQLCriterios de selección de herramientas y trade-offsLección 11fact_payments: campos de esquema (payment_id, user_id, course_id, amount, currency, payment_method, status, timestamp, invoice_id)Modela la tabla fact_payments para analítica de ingresos. Definimos cada campo, discutimos ingestión idempotente, manejo de moneda, estado de pago, reembolsos y cómo enlazar pagos a usuarios, cursos e invoices para reporting downstream.
Granularidad y clave primaria de fact_paymentsModelar estado y ciclo de vida de pagosManejar montos multi-monedaEnlazar pagos a usuarios y cursosCapturar reembolsos y chargebacks