Contenido del curso
Modelos dimensionales
- 6

Data Warehouse, Data Lake y Lakehouse
07:02 min - 7

Modelo estrella vs copo de nieve en datos
05:14 min - 8

Tipos de dimensiones lentamente cambiantes
04:32 min - 9

Dimensión tipo 1: sobrescribir sin guardar historia
Viendo ahora - 10

Dimensión tipo 2
06:05 min - 11

Dimensión tipo 3: historia en columnas
03:31 min - 12

Tabla de hechos (fact)
09:04 min - 13

Configuración de herramientas para Data Warehouse y ETL
03:22 min - 14

Cómo extraer dimensiones de preguntas de negocio
08:54 min - 15

Diseño de tablas en un modelo dimensional
11:23 min
ETL para inserción en Data Warehouse
- 16

Documento de mapeo en ETL para data warehouse
19:25 min - 17

Creando tablas dimensionales en Redshift
07:09 min - 18

Extracción: querys en SQL
17:28 min - 19

Cruce de fuentes en Pentaho con Stream Lookup
09:25 min - 20

Transformación ETL con Pentaho paso a paso
15:19 min - 21

Carga de datos transformados a Redshift con Pentaho
15:01 min - 22

Cómo cargar la tabla de hechos con Pentaho
12:21 min - 23

Cómo calcular MaxID y MaxDate en Pentaho
17:26 min - 24

Orquestar ETL en Pentaho: job
24:27 min - 25

Solución ETL con dimensiones en paralelo en Redshift
07:27 min
Cierre
Dimensión tipo 1: sobrescribir sin guardar historia
Resumen
Cuando un dato cambia en tu base de datos transaccional y no necesitas conservar el valor anterior, la dimensión lentamente cambiante tipo 1 es la solución. Este enfoque sobrescribe el atributo modificado en tu data warehouse, dejando solo el valor más reciente disponible para análisis.
Es ideal para escenarios donde la trazabilidad histórica no aporta valor al negocio, como corregir errores tipográficos o actualizar datos que pierden relevancia con el tiempo.
¿Cómo funciona la dimensión tipo 1 en un caso real?
Imagina al estudiante Pepito Pérez, registrado inicialmente en la facultad de Mercadeo. Si más adelante cambia a Ingeniería, la dimensión tipo 1 simplemente reemplaza Mercadeo por Ingeniería. No hay registro del pasado, solo el presente.
El flujo desde la fuente hasta el data warehouse sigue tres momentos clave:
- La tabla transaccional (por ejemplo,
TBL_estudiante) guarda el dato con su ID original, que suele ser alfanumérico tipo varchar. - El proceso ETL identifica los registros nuevos o modificados usando campos de fecha de carga o actualización.
- La dimensión en el data warehouse recibe el dato ya transformado, con un ID propio numérico para optimizar búsquedas.
¿Qué es una dimensión lentamente cambiante tipo 1? Es un tipo de dimensión donde los atributos que cambian se sobrescriben directamente, sin conservar el valor anterior. Solo queda el dato más reciente.
¿Por qué crear un ID propio en la dimensión?
Las tablas transaccionales suelen tener identificadores con texto y números, lo que ralentiza las búsquedas y los joins contra la tabla de hechos. Por eso, en el modelo dimensional creamos un ID numérico propio y convertimos el identificador original en un código operativo dentro de la dimensión [02:00].
Esto te da dos ventajas concretas:
- Indexación más rápida al trabajar con enteros en lugar de varchar.
- Relaciones más eficientes entre dimensiones y la tabla de hechos.
Además, durante el ETL aplicas las reglas de negocio que necesites. Si te piden separar nombre y apellido en columnas distintas, ese trabajo ocurre en la transformación, no en la fuente.
¿Cómo identifico los registros nuevos para cargar?
Aquí es donde los campos de auditoría se vuelven tus mejores aliados. En la dimensión deberías agregar al menos tres atributos:
- Fecha de carga del registro.
- Fecha de última actualización.
- Usuario o proceso que ejecutó la carga.
Con estos campos comparas contra la tabla transaccional y capturas únicamente lo que cambió. No necesitas reprocesar millones de filas cada vez que corres tu ETL, solo el delta.
¿Qué pasa si la tabla origen no tiene campo de fecha? En ese caso debes procesar toda la información completa. Por suerte, suelen ser tablas pequeñas donde el costo es bajo.
Ejemplo práctico de la primera carga
Supón que el 21 de febrero de 2030 a las 10:00 a.m. se crea el registro de Pepito Pérez en Mercadeo. Tu dimensión está vacía, así que el ETL detecta el registro nuevo, le asigna un ID propio (el máximo existente más uno) y carga todos los atributos.
Días después, el 30 de febrero de 2030, Pepito cambia a Ingeniería en el sistema transaccional. Cuando el ETL vuelve a correr, identifica que ya existe un registro para ese estudiante y actualiza la facultad sobrescribiendo Mercadeo por Ingeniería. La historia anterior desaparece.
¿Cuándo conviene usar tipo 1 y cuándo no?
La decisión depende de si el negocio necesita trazabilidad o no. Algunos ejemplos donde tipo 1 funciona bien:
- Corrección de errores de digitación en nombres o documentos.
- Cambios de domicilio en una dimensión de clientes, cuando no importa el histórico.
- Atributos que solo importan en su versión actual.
Pero hay casos donde sobrescribir es un error. Si tu negocio necesita auditar cambios de número telefónico, correos electrónicos o direcciones de un cliente a lo largo del tiempo, la tipo 1 se queda corta. Ahí entra la dimensión tipo 2, que sí almacena la historia completa.
¿Cuál es la diferencia entre dimensión tipo 1 y tipo 2? La tipo 1 sobrescribe el dato y pierde la historia. La tipo 2 crea un nuevo registro por cada cambio y conserva todas las versiones del atributo.
Buenas prácticas al implementar dimensiones tipo 1
Antes de poner en producción tu modelo, ten presente lo siguiente:
- Define con el negocio qué atributos realmente no necesitan historia.
- Crea siempre un ID numérico propio en la dimensión, distinto al código operativo.
- Agrega campos de auditoría desde el primer día, aunque parezcan opcionales.
- Apóyate en fechas de actualización del origen para procesar solo lo nuevo.
La próxima parada es la dimensión lentamente cambiante tipo 2, donde aprenderás a conservar la historia completa de los cambios. ¿Has tenido que decidir entre guardar o sobrescribir un atributo en tu modelo? Cuéntame en los comentarios cómo lo resolviste.