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
certificado
Gratis
acceso
NIEVA

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.

Dudas frecuentes

Lo que suele preguntarse

Empieza cuando quieras

Reseñas

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!