Lección 1Diseño de modelo dimensional para analítica: mapeo de hechos y dimensionesExplora el modelado dimensional para analítica. Mapearás procesos de negocio a tablas de hechos, definirás dimensiones y granularidad, manejarás relaciones muchos-a-muchos, y diseñarás esquemas que soporten BI auto-servicio y consultas performantes.
Identificar procesos de negocio y hechosElegir la granularidad de tablas de hechosDiseñar dimensiones conformadasManejar relaciones muchos-a-muchosVentajas y desventajas de esquemas estrella vs copo de nieveLección 2fact_user_activity: campos del 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 la granularidad de eventos, capturamos sesiones y dispositivos, almacenamos metadatos de ingesta, y soportamos embudos, engagement y reportes de retención.
Definir granularidad a nivel de eventoModelar event_type y taxonomíasAtribución de sesiones y dispositivosUsar campos ingestion_metadataSoportar embudos 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. Calculamos 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 del almacén para consultar estados históricos de dimensiones.
Cuándo usar SCD Tipo 1 vs Tipo 2Fechas efectivas y banderas actualesImplementar SCD en SQL y dbtUsar características time-travel del almacénProbar corrección histórica de dimensionesLección 5Frescura de datos y estrategias de ventana para KPIs casi en tiempo realDiseña estrategias de frescura para KPIs casi en tiempo real. Cubrimos presupuestos de latencia, marcas de agua, ventanas para métricas de streaming, manejo de datos tardíos, y monitoreo de frescura para mantener dashboards confiables y accionables.
Definir objetivos de frescura y latenciaMarcas de agua y manejo de datos tardíosVentanas rodantes, deslizantes y de sesiónCálculo de KPIs casi en tiempo realMonitoreo 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 crudos 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 esquemaNormalización de zonas horarias y estándaresEstrategias de desduplicación de registrosJoins de datos de referencia para enriquecimientoLección 7dim_course: campos del 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 surrogadas, manejamos cambios de precios y categorías, y modelamos fechas de publicación para reportes históricos y de catálogo precisos.
Significado de negocio de cada campo dim_courseClaves naturales vs course_id surrogadaManejar cambios de precio y categoría de cursoModelar estados publicados y no publicadosIndexar dim_course para consultas BILección 8dim_user: campos del 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 registro y cohortes, y modelamos estado de suscripción para soportar reportes de crecimiento, retención y monetización.
Identificadores de usuario y claves surrogadasHashing 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, batch vs stream transformsEntiende patrones centrales de transformación y cuándo aplicarlos. Comparamos ETL y ELT, diseñamos pipelines incrementales, y contrastamos transformaciones batch y streaming, enfocándonos en costo, latencia, observabilidad y trade-offs operativos.
Comparar arquitecturas ETL y ELTDiseñar transformaciones incrementalesVentajas y desventajas 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 del 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 ingesta idempotente, manejo de moneda, estado de pago, reembolsos, y cómo enlazar pagos a usuarios, cursos e invoices para reportes 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