GuíaBásico
Guía de Modelado de Datos para Analítica
Retoma el modelo plano —un hecho y dos dimensiones— que `data-engineering-foundations-guide` dejó deliberadamente incompleto y lo lleva a modelado dimensional real, sobre el mismo caso de Kiosko. Aprendes el proceso de cuatro pasos de Kimball (proceso de negocio, grano, dimensiones, hechos), a decidir con criterio entre star schema, snowflake y tabla ancha (One Big Table) comparando el costo de join con `EXPLAIN`, a historizar una dimensión que cambia con SCD tipo 1 y tipo 2 usando `MERGE INTO`, a unir hechos con dimensiones históricas por el punto exacto en el tiempo (el error más caro de un modelo dimensional), a deduplicar filas repetidas con `ROW_NUMBER()`/`QUALIFY`, y a construir patrones acumulativos: el accumulating snapshot de Kimball para un funnel de sesiones y el cumulative table design de Zach Wilson con columnas tipo arreglo. Todo corre en SQL ejecutado directo sobre DuckDB, con Python como glue code mínimo. Cierra con un capstone que integra un warehouse analítico completo de Kiosko: star con dimensión historizada, accumulating snapshot, cumulative activity y una tabla ancha para el equipo de BI.
- 64
- lecciones
- 8
- módulos
- Inglés · Español
- disponible en
- Sí
- certificado
- Gratis
- acceso
Resultados
Lo que vas a poder hacer
- Aplicar el proceso de cuatro pasos de Kimball y declarar formalmente el grano de una tabla de hechos existente
- Construir un star schema completo con llaves surrogate, una dimensión de calendario conformada (`dim_date`) y el mapa de bus matrix
- Comparar star schema, snowflake y One Big Table con `EXPLAIN`, midiendo costo de join contra tamaño y columnas repetidas
- Implementar SCD tipo 1 y tipo 2 con `MERGE INTO`, decidiendo por columna cuándo historizar y cuándo sobrescribir
- Escribir el join punto-en-el-tiempo correcto (`BETWEEN valid_from AND valid_to`) y explicar por qué unir solo por llave natural corrompe el revenue histórico
- Deduplicar filas repetidas de una fuente con `ROW_NUMBER()`/`QUALIFY` y detectar cambios con anti-joins
- Modelar un accumulating snapshot fact table para un funnel de sesiones, y un cumulative table design con columnas tipo arreglo y ventanas móviles de 7 y 30 días
- Formalizar dimensiones degeneradas y dimensiones junk, y validar contratos de esquema entre bronze, silver y gold sobre un dominio con más de un hecho
Antes de empezar
Qué necesitas traer
Es para ti si...
- Quien ya completó `data-engineering-foundations-guide` (o tiene un modelo plano de hechos y dimensiones equivalente) y necesita llevarlo a un warehouse analítico real
- Analytics engineers y data engineers que diseñan modelos dimensionales para BI y necesitan justificar star vs snowflake vs OBT con criterio
- Devs que ya implementaron SCD sin entender por qué el join histórico les daba números incorrectos
- Cualquiera preparándose para entrevistas donde se pregunta sobre modelado dimensional, SCD tipo 2 o accumulating snapshots
Requisitos y materiales
- `data-engineering-foundations-guide` completada (o equivalente: un modelo de hechos y dimensiones planas funcionando, con Python básico y SQL)
- SQL intermedio: `SELECT`, `JOIN`, `GROUP BY`
- Laptop propia con Python 3 y DuckDB instalables (`pip install duckdb`) — todo corre local y con $0
Contenido
El temario, módulo por módulo
Abre cualquiera para ver sus lecciones.
- Presentación del módulo: de tablas planas a modelos dimensionales
- Qué dejó plano foundations, y por qué
- El proceso de cuatro pasos de Kimball
- Paso 1: seleccionando el proceso de negocio de Kiosko
- Paso 2: declarando el grano de fact_orders
- Pasos 3-4: hechos vs dimensiones, una definición precisa
- Qué cambia cuando el grano es explícito
- Mini-proyecto: la declaración de grano de Kiosko
- Presentación del módulo: el star schema completo y las dimensiones conformadas
- Anatomía de un star schema
- Llaves sustitutas vs llaves naturales
- Construyendo dim_date: el calendario de Kiosko
- Dimensiones conformadas a través de procesos
- El bus matrix: mapeando los procesos de Kiosko
- Ensamblando el primer star real de Kiosko
- Mini-proyecto: el star schema de Kiosko en DuckDB
- Presentación del módulo: star vs snowflake vs One Big Table
- Normalizando una dimensión: el snowflake schema
- Comparando el costo de un JOIN con EXPLAIN
- El argumento de la tabla ancha (One Big Table)
- Construyendo la OBT de ventas de Kiosko
- Cuándo el snowflake todavía gana
- Cuándo la OBT todavía gana
- Mini-proyecto: las tres formas de Kiosko comparadas
- Presentación del módulo: cuando una dimensión cambia con el tiempo
- El problema: dim_product no es estática
- SCD tipo 1: sobrescribe y pierde historia
- SCD tipo 2: historiza con valid_from/valid_to
- Implementando SCD tipo 2 con MERGE INTO
- Eligiendo tipo 1 vs tipo 2 por columna
- SCD tipo 3 y otras variantes, brevemente
- Mini-proyecto: dim_product historizada de Kiosko
- Presentación del módulo: uniendo hechos contra una dimensión que tiene historia
- Por qué unir solo por product_id rompe la historia
- El patrón de join punto-en-el-tiempo
- Dimensiones de llegada tardía
- De dónde vienen las filas duplicadas
- Deduplicando con ROW_NUMBER y QUALIFY
- Anti-joins para detectar qué cambió
- Mini-proyecto: revenue histórico correcto de Kiosko
- Presentación del módulo: dos formas de hecho que no son una línea de orden
- El accumulating snapshot fact table
- Modelando el funnel de sesiones de Kiosko
- Actualizando milestones in-place
- Cumulative table design: el patrón de Zach Wilson
- Ventanas móviles con columnas tipo arreglo
- Calculando activos de 7 y 30 días por tienda
- Mini-proyecto: funnel y actividad acumulativa de Kiosko
- Presentación del módulo: el dominio feo de Kiosko, con nombre y con contrato
- Cuando un hecho y dos dimensiones no alcanzan
- Dimensiones degeneradas: order_id, a fondo
- Dimensiones junk: agrupando banderas de baja cardinalidad
- Contratos Medallion entre bronze, silver y gold
- Múltiples hechos, un solo calendario conformado
- Evolución de esquema sin romper gold
- Mini-proyecto: la capa gold multi-hecho de Kiosko
- Presentación del módulo: el capstone de la guía completa
- El brief: Kiosko necesita un warehouse real, no siete demos
- Reconstruyendo bronze y silver desde foundations
- Construyendo el star con dim_product historizada
- Agregando el funnel de sesiones y la actividad acumulativa
- Publicando la OBT mart para el equipo de dashboards
- Qué le falta todavía a Kiosko
- Mini-proyecto: el primer warehouse analítico de Kiosko
Dudas frecuentes
Lo que suele preguntarse
Sin límite. Es una guía gratuita: entras cuando quieras, las veces que quieras.
No. Los módulos están ordenados de menos a más, pero puedes saltar al que necesites. Tu progreso se guarda por lección.
Lo que haga falta está en «Qué necesitas traer», arriba. Si no aparece nada ahí, puedes empezar desde cero.
En el grupo de WhatsApp del Club, y cada quince días hay un live con un instructor donde se resuelven dudas en vivo.
Sí. Al terminar todas las lecciones se emite automáticamente, con un código verificable que puedes compartir en LinkedIn.
Empieza cuando quieras
Lo que dicen los estudiantes
Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.
Aún no hay reseñas aprobadas.
¡Sé el primero en compartir tu experiencia!