ENES

Dimensión lentamente cambiante

Cómo registra un data warehouse los cambios de datos como la ciudad de un cliente.

Una tabla de dimensión de clientes donde una mudanza de Córdoba a Rosario agrega una fila nueva; la fila vieja recibe fecha de fin y la nueva queda marcada como actual

En un esquema en estrella, las tablas de dimensiones describen el quién, el qué y el dónde de cada evento: el cliente, el producto, el local. Casi todo eso cambia poco, pero cambia cada tanto. Un cliente se muda, un producto pasa a otra categoría, un local cambia de encargado. Una dimensión lentamente cambiante (slowly changing dimension, o SCD) es una dimensión que tiene que lidiar con esos cambios ocasionales, y el término suele referirse a las técnicas para manejarlos.

La elección importa porque cambia la historia. Supongamos que Ana se mudó de Córdoba a Rosario en marzo. Con el Tipo 1 simplemente pisás la ciudad; es fácil, pero ahora todas sus compras del año pasado aparecen como ventas en Rosario. Con el Tipo 2 conservás la fila vieja, la cerrás con una fecha de fin y agregás una fila nueva para Rosario con su propia clave sustituta, vigente desde marzo y marcada como actual. Las ventas viejas siguen asociadas a Córdoba y las nuevas a Rosario. El Tipo 3 agrega una columna de "ciudad anterior", que guarda un solo paso de historia.

El Tipo 2 es el más usado cuando la historia importa, y por eso muchas tablas de dimensiones tienen columnas como valid_from, valid_to e is_current. Los números de tipo vienen del modelado dimensional de Ralph Kimball, y es común mezclarlos en una misma tabla: pisar la corrección de un error de tipeo, guardar historia de la dirección. Herramientas actuales como los snapshots de dbt y los pipelines de Microsoft Fabric pueden armar tablas Tipo 2 automáticamente.

Para quedarse

Para seguir leyendo

Términos relacionados

Más de Datos