Arquitectura de Datos · Ingeniería de Datos

Data Warehouse y modelado dimensional a escala

Diseñar un almacén analítico con capas de lo bruto a lo consumible y modelos dimensionales de hechos y dimensiones que respondan bien a preguntas de negocio.

Data Warehouse y modelado dimensional

Modelar para la pregunta Una base operativa optimiza escribir y mantener la integridad de mil transacciones. Un almacén optimiza leer y agregar sobre años de historia. El modelado dimensional es el puente: hechos medibles rodeados de dimensiones descriptivas.

Para qué un almacén

Reúne datos de muchos sistemas, historizados y coherentes, para informar decisiones. Su valor está en la calidad y consistencia del dato integrado, no en replicar el detalle transaccional de cada origen.

Capas del almacén

Se organiza en capas: una de llegada casi cruda, una de datos depurados y consistentes, y una final consumible, agregada y lista para el informe. Cada capa aísla un tipo de trabajo y facilita el linaje.

Hechos y dimensiones

Esquema estrella

El esquema estrella coloca la tabla de hechos en el centro rodeada de dimensiones desnormalizadas, que se unen por claves simples. Es intuitivo, agrega rápido y tolera dimensiones que cambian con historial.

Un cuadrado teal sólido en el centro enlazado por cuatro líneas rectas a otros tantos cuadros coral situados en las esquinas.
La tabla de hechos ocupa el centro y las dimensiones el contorno: las consultas agregan desde el centro hacia el contexto.

Grano del hecho

Antes de nada hay que fijar el grano: qué representa exactamente una fila del hecho. Un grano ambiguo propaga errores por todo el modelo; uno bien elegido mantiene las medidas aditivas y comparables.

Dimensiones que cambian

Una dirección del cliente muda con el tiempo. Las dimensiones lentamente cambiantes guardan versiones para poder responder tanto por el valor actual como por el vigente entonces, preservando la historia.

A escala

En volúmenes grandes, el modelo dimensional se apoya en el almacenaje columnar y la partición por fecha, de modo que agregar por periodo lea solo el trozo necesario. Buen modelo y buen físico van juntos.

Errores frecuentes

Ejemplo resuelto: modelar ventas por región histórica

El negocio pregunta por ventas del mes por región, pero el cliente se mudó y el hecho no guardaba región. El diseño:

  1. Fijar el grano: una fila por línea de producto de ticket, la medida más detallada que se agrega bien.
  2. Crear la dimensión cliente con versión por cada cambio de dirección, con fechas de validez.
  3. Enlazar el hecho a la clave de la versión vigente en el momento de la venta, no a la actual.
  4. Exponer la región como atributo de la dimensión para agrupar sin tocar el hecho.
  5. Verificar que una suma mensual por región cuadre con el total de ventas de siempre.

¿Para qué sirve en la realidad?

Todo cuadro de mando que sobrevive a los años necesita un modelo que la gente entienda. El dimensional decide si responder a una pregunta nueva cuesta una consulta o un proyecto de tres meses.

Al diseñar una tabla de hechos de ventas, fijar primero si cada fila será un línea de producto de un ticket o un ticket completo decide:

En un esquema estrella, las dimensiones suelen estar desnormalizadas para facilitar y acelerar el análisis.

Dimensional

Evento medible central del modelo
hecho
Contexto descriptivo de un hecho
dimension
Hecho en el centro rodeado de dimensiones es esquema...
estrella
Qué representa una fila del hecho es su...
grano
Dimensión que guarda versiones históricas es...
lentamente cambiante

Ordena el diseño de un almacén analítico con modelo dimensional:

Pregunta
Grano
Dimensiones
Capas

Modelado dimensional
Hechos, dimensiones y esquemas estrella aplicados al almacén analítico.

Une cada pieza del almacén con su papel.

Modelar para la pregunta

# Almacén dimensional
## Para qué
### leer y agregar
### historia coherente
## Hecho
### evento medible
### grano fijo primero
## Dimensiones
### contexto desnormalizado
### versiones históricas
## A escala
### columnar
### partición por fecha

El negocio pregunta por ventas por región del mes, pero el hecho está a nivel de ticket sin región histórica. ¿Qué dimensión y qué cambio de grano necesitas para responder sin romper consultas antiguas?