Data Warehousing: Una Guía Completa

Introducción a los Sistemas OLTP y la Necesidad de OLAP y Data Mining

Las actividades diarias interactivas se gestionan con sistemas de procesamiento de transacciones en línea (OLTP). Estos sistemas soportan las decisiones del día a día de un gran número de usuarios operacionales. Sin embargo, también existe la necesidad de soportar el análisis y la toma de decisiones estratégicas de un número menor de usuarios gerenciales. Por ejemplo, tras una campaña de marketing, un gerente puede determinar su efectividad analizando el comportamiento de las ventas antes y después de la campaña.

OLAP y Data Mining no involucran modificaciones a los datos y requieren acceso ad-hoc a todos los datos de la organización, tanto actuales como históricos. Esto conlleva la necesidad de nuevos modelos de datos para la organización y almacenamiento de datos históricos, modelos que optimizan el procesamiento de consultas en vez de transacciones.

¿Qué es un Data Warehouse?

Los Data Warehouses extienden las tecnologías de bases de datos para integrar datos desde múltiples fuentes y organizarlos eficientemente para el procesamiento de consultas. La definición de Data Warehouse propuesta por Inmon en 1992 es:

“Un data warehouse es una colección de datos para el soporte de decisiones estratégicas, orientado a la temática (subject-oriented), integrada, no-volátil, y variante en el tiempo (time-variant).”

Características de un Data Warehouse

  • Colección Orientada a la Temática (subject-oriented): La data se organiza alrededor de temáticas como clientes, productos, ventas, etc. En contraste, en las bases de datos, los datos se organizan alrededor de tareas. Por ejemplo, una base de datos almacena órdenes de compra, mientras que un Data Warehouse almacena resúmenes de la información detallada basada en temáticas.
  • Colección Integrada: Un data warehouse integra y almacena datos desde múltiples fuentes, no necesariamente bases de datos; también pueden ser archivos de aplicación.
  • Colección No-Volátil: El data warehouse no se actualiza en tiempo real. Las actualizaciones en las fuentes se agrupan y aplican mediante transacciones de mantenimiento, ejecutadas periódicamente o según la demanda.
  • Colección Variante en el Tiempo (time-variant): Los datos en un data warehouse son históricos y tienen validez temporal, soportando series de tiempo.

Modelo Multidimensional y Operadores

Un data warehouse provee una vista conceptual multidimensional con un número ilimitado de dimensiones y niveles de agregación. Ofrece varios operadores que facilitan las consultas y la visualización de los datos:

  • Pivot-Rotation (Pivote – Rotación): Los cubos pueden visualizarse y reorientarse en diferentes ejes. Por ejemplo, si producto y región están al frente, con la rotación se puede traer tiempo y producto al frente, moviendo región al eje posterior.
  • Imagen
  • Roll-Up Display: Deriva resúmenes y agrupaciones de mayor agregación sobre una dimensión. Por ejemplo, agrupar meses en años o productos en categorías.
  • Drill-Down Display: Deriva desagregaciones sobre una dimensión. Por ejemplo, desagregar región en ciudades o meses en semanas.
  • Slice and Dice: Especifica proyecciones sobre las dimensiones, creando cubos más pequeños. Por ejemplo, recuperar todos los juguetes en ciudades de Florida durante el invierno.
  • Selección: Similar al SELECT de SQL, recupera datos por valor o rango.
  • Ordenamiento: Especifica el orden de los datos sobre una dimensión.
  • Atributos Derivados: Permite la especificación de atributos computados desde atributos almacenados u otros atributos derivados.

Costos y Alternativas

Los Data Warehouses son costosos de construir y mantener, con tamaños que van desde cientos de gigabytes hasta petabytes. Resolver la semántica heterogénea entre diferentes fuentes y convertir formatos es un proceso complejo. Para reducir el impacto, se proponen dos alternativas:

  • Data Marts: Data warehouses pequeños y focalizados a nivel de departamentos. Un Data Warehouse corporativo puede construirse federando Data Marts.
  • Virtual Data Warehouses: Colecciones persistentes de vistas de bases de datos operacionales materializadas para un acceso eficiente y procesamiento de consultas complejas.

Pasos para Modelar un Data Warehouse

  1. Elegir un proceso de la organización para modelar.
  2. Decidir el grano (nivel de detalle) de representación del proceso.
  3. Identificar las dimensiones que caracterizan el proceso.
  4. Decidir la información a almacenar sobre el proceso.