Data Warehouse y Modelo Dimensional en Amazon Repsheet

Clase 2 de 33Curso de AWS Redshift para Manejo de Big Data

Contenido del curso

Cómo diseñar tu base de datos para mejorar su desempeño

Manipular enormes cantidades de datos

Resumen

Cuando una organización crece, sus datos se dispersan entre bases de datos operativas, archivos CSV, respuestas de API y sistemas contables independientes. Unificar toda esa información para tomar decisiones estratégicas es exactamente el problema que resuelve un data warehouse, y entender su estructura es el primer paso para aprovechar herramientas como Amazon Redshift.

¿Por qué necesitas un data warehouse en tu organización?

Un data warehouse es un repositorio unificado que concentra datos provenientes de múltiples fuentes [0:12]. Aunque a primera vista se parece a una base de datos convencional, su propósito es completamente diferente: no está diseñado para mantener operaciones del negocio en tiempo real, sino que está orientado a la analítica de datos [0:30].

Imagina un escenario común en cualquier empresa:

  • La operativa del negocio corre sobre Postgres, soportando transacciones diarias.
  • El área financiera y contabilidad genera archivos en CSV o Excel desde un sistema separado.
  • Plataformas de pago entregan información en JSON o a través de una API.

Cuando necesitas analizar la organización como un todo, esos datos están aislados [1:05]. No puedes relacionar los archivos JSON con los CSV, ni cruzar lo que hay en Postgres con lo que existe en Oracle. Aunque existan soluciones como un DB Link, la mejor opción para consolidar toda esa información es precisamente un data warehouse [1:30].

¿Qué es el proceso ETL y por qué es fundamental?

Llevar datos de múltiples fuentes a un solo repositorio requiere un mecanismo claro. Ese mecanismo es el proceso de ETL: extracción, transformación y carga (Extract, Transform, Load) [1:52].

El flujo funciona así:

  • Extracción: se obtienen los datos de todas las fuentes disponibles, ya sean bases de datos, archivos planos o conexiones por API.
  • Transformación: se limpian y preparan los datos. Esto incluye eliminar duplicados, gestionar valores nulos, pivotear tablas, crear agrupaciones y generar nuevas columnas [2:10]. El objetivo es construir una estructura analítica sólida.
  • Carga (load): los datos transformados se depositan en el data warehouse, en este caso Amazon Redshift [2:30].

Estos procesos ETL funcionan de manera recurrente o total, alimentando constantemente el data warehouse con información actualizada de toda la organización.

¿Cómo se estructura la información con el modelo dimensional?

No existe una receta única para organizar datos analíticos, ya que cada organización tiene preguntas distintas. Sin embargo, hay un estándar ampliamente adoptado: el modelo dimensional [2:58].

Este modelo se compone de dos tipos de tablas:

  • Tablas de hechos (fact tables): contienen lo que quieres medir. Por ejemplo, ventas, cantidades y precios [3:12].
  • Tablas de dimensiones (dimension tables): definen cómo lo quieres medir. Por ejemplo, a través de tiendas, productos, tiempo o segmentos de clientes [3:25].

¿Cómo funciona el modelo estrella en la práctica?

Supongamos que el core de tu negocio son las ventas. Con un modelo dimensional puedes responder preguntas como:

  • ¿Cuáles fueron las ventas del Q1 de 2020 en determinadas tiendas versus el Q2 del mismo año?
  • ¿Cómo se desglosan esas ventas por productos específicos y segmentos de clientes premium?
  • ¿Qué tendencias se observan al comparar semanas, meses o años?

Esta estructura recibe el nombre de modelo estrella porque la tabla de hechos se ubica en el centro y las dimensiones se disponen alrededor, formando una estrella visual [3:55].

¿Qué modelo dimensional se usa en el curso de Redshift?

A lo largo del curso se trabaja con un modelo dimensional en Amazon Redshift que incluye dos tablas de hechos — sales y listing — y cinco tablas de dimensiones: date, user, event, category y venue [4:18]. Este esquema permite practicar consultas analíticas reales sobre una estructura bien definida.

Si ya tienes curiosidad por saber cómo Redshift aprovecha este tipo de modelos gracias a su arquitectura columnar, comparte tus expectativas y dudas mientras avanzamos a la siguiente sesión.