Bases de Datos · Inteligencia de Negocio

Procesamiento
Analítico en Línea

Una guía completa sobre OLAP: arquitectura, operaciones, tipos y aplicaciones

Nivel: Intermedio–Avanzado
Área: Data Warehousing
Tema: OLAP
Contenidos
  1. 01¿Qué es OLAP?
  2. 02OLAP vs OLTP
  3. 03El Cubo OLAP
  4. 04Operaciones fundamentales
  5. 05Tipos de OLAP
  6. 06Arquitectura
  7. 07MDX y SQL analítico
  8. 08Aplicaciones reales

¿Qué es OLAP?

OLAP (Online Analytical Processing) es una categoría de software que permite a los usuarios analizar información desde múltiples perspectivas simultáneas, facilitando la toma de decisiones a partir de grandes volúmenes de datos históricos. — E. F. Codd, 1993 · Concepto introducido originalmente

El término fue acuñado por E. F. Codd en 1993 como respuesta a las limitaciones de los sistemas transaccionales para el análisis estratégico. OLAP no es una base de datos en sí misma, sino un paradigma de consulta y análisis multidimensional.

Mientras que los sistemas relacionales almacenan datos en tablas bidimensionales (filas y columnas), OLAP organiza la información en estructuras multidimensionales llamadas cubos, que permiten explorar los datos desde múltiples ángulos de forma extremadamente eficiente.

📌 Nota del profesor Piénsalo así: un informe de ventas en Excel es plano (2D). OLAP sería ese mismo informe en 3D, 4D o más, donde puedes girar, filtrar y agregar datos por tiempo, región, producto y vendedor al mismo tiempo — en milisegundos.

Características esenciales

📊

Multidimensionalidad

Los datos se modelan con múltiples dimensiones de análisis (tiempo, geografía, producto, cliente…).

Alta velocidad de consulta

Las consultas analíticas complejas devuelven resultados en segundos, incluso sobre millones de registros.

🔢

Datos agregados

Trabaja principalmente con sumas, promedios, máximos, mínimos y otras métricas consolidadas.

🔍

Análisis ad-hoc

El usuario puede explorar los datos libremente sin necesitar consultas SQL predefinidas.

📅

Orientado al tiempo

Siempre existe una dimensión temporal. Los datos históricos son clave para el análisis de tendencias.

🏛️

Base: Data Warehouse

OLAP se alimenta de un almacén de datos (DW), que consolida fuentes heterogéneas y limpias.

OLAP vs OLTP

La distinción entre OLAP y OLTP es fundamental para entender cuándo y por qué se usa cada sistema. Son complementarios, no sustitutos.

Característica OLTP OLAP
Propósito Operaciones del día a día (transacciones) Análisis estratégico y toma de decisiones
Tipo de operación INSERT, UPDATE, DELETE frecuentes SELECT masivos, pocas escrituras
Volumen de datos Gigabytes Terabytes o petabytes
Usuarios típicos Personal operativo (cajeros, agentes…) Directivos, analistas de datos
Diseño de BD Modelo relacional normalizado (3FN) Modelo dimensional (estrella, copo de nieve)
Tiempo de respuesta Milisegundos por transacción Segundos a minutos por consulta analítica
Historial Días o semanas (datos actuales) Meses o años (datos históricos)
Ejemplos TPV, banca, e-commerce Business Intelligence, dashboards ejecutivos
💡 Analogía para recordarlo OLTP es el cajero del supermercado procesando ventas en tiempo real. OLAP es el director financiero que, al final del trimestre, analiza qué productos vendieron más, en qué regiones y a qué precio medio.

El Cubo OLAP

El concepto central de OLAP es el hipercubo de datos. Un cubo representa los datos en múltiples dimensiones, donde cada celda contiene una medida (métrica numérica) y cada eje representa una dimensión.

Tiempo Producto Región

Estructura del cubo

Dimensión Tiempo — Año, trimestre, mes, semana, día
Dimensión Producto — Categoría, subcategoría, SKU
Dimensión Región — País, provincia, ciudad, tienda
Medidas (hechos) — Ventas, unidades, margen, devoluciones

Componentes del modelo dimensional

Operaciones Fundamentales

OLAP define un conjunto de operaciones estándar que permiten navegar y explorar el cubo de datos. Son el vocabulario del analista.

Tipos de OLAP

Existen tres grandes variantes arquitectónicas, cada una con ventajas según el volumen de datos, la velocidad requerida y los recursos disponibles.

ROLAP

Relational OLAP

Almacena los datos en una base de datos relacional (PostgreSQL, SQL Server…) con esquema estrella o copo de nieve. El motor OLAP genera SQL optimizado al vuelo. Soporta volúmenes muy grandes pero puede ser más lento en consultas complejas.

MOLAP

Multidimensional OLAP

Precalcula y almacena los datos en estructuras multidimensionales propietarias (arrays de N dimensiones). Ofrece la mayor velocidad de consulta. La limitación es el tamaño del cubo y el tiempo de preprocesado. Ej.: Essbase, Analysis Services.

HOLAP

Hybrid OLAP

Combina ROLAP y MOLAP. Los datos de resumen se almacenan en estructuras multidimensionales (rápidas) y los datos detallados en el almacén relacional (económico). Mejor equilibrio entre rendimiento y escalabilidad.

🗺️ ¿Cuál elegir? Como regla general: si tienes pocos datos y necesitas velocidad máxima → MOLAP. Si tienes datos masivos y escalabilidad es prioritaria → ROLAP. Si buscas un balance práctico → HOLAP. En la nube moderna (BigQuery, Snowflake, Redshift) ROLAP domina ampliamente.

Arquitectura de un sistema OLAP

Un sistema OLAP no opera de forma aislada. Se integra dentro de un ecosistema más amplio de inteligencia de negocio.

Capa Componente Función
Fuentes ERP, CRM, logs, APIs Sistemas operacionales de origen de datos
ETL / ELT Apache Spark, dbt, Airflow Extracción, transformación y carga de datos
Data Warehouse Snowflake, BigQuery, Redshift Almacén centralizado y limpio
Servidor OLAP SSAS, Apache Kylin, Druid Motor de agregación multidimensional
Capa semántica dbt metrics, LookML, Cube.dev Define métricas y dimensiones de negocio
Visualización Power BI, Tableau, Looker Dashboards e informes para el usuario final

Esquemas del Data Warehouse

Esquema en estrella

Una tabla de hechos central rodeada de tablas de dimensión desnormalizadas. Consultas simples y rápidas. El más común en la práctica.

❄️

Copo de nieve

Las dimensiones están normalizadas en subtablas. Ocupa menos espacio pero las consultas son más complejas (más JOINs). Útil cuando las dimensiones son muy grandes.

🌌

Constelación

Varias tablas de hechos que comparten dimensiones comunes. También llamado galaxy schema. Cubre múltiples procesos de negocio.

MDX y SQL Analítico

Existen dos lenguajes principales para consultar sistemas OLAP: MDX (diseñado para cubos multidimensionales) y SQL con extensiones analíticas (funciones de ventana en bases de datos relacionales).

MDX — Multidimensional Expressions

Lenguaje de consulta específico para cubos OLAP, similar en concepto a SQL pero orientado a estructuras multidimensionales. Desarrollado por Microsoft y adoptado como estándar de facto.

MDX — Ejemplo de consulta
-- Ventas totales por trimestre y categoría de producto
SELECT
  { [Measures].[Ventas], [Measures].[Unidades] } ON COLUMNS,
  NON EMPTY
  { [Tiempo].[Año].[2024].Children } ON ROWS
FROM [Ventas_Cubo]
WHERE ( [Producto].[Categoría].[Electrónica],
        [Geografía].[País].[España] )

SQL Analítico — Funciones de Ventana

El SQL moderno incluye funciones de ventana (window functions) que permiten cálculos analíticos avanzados sin necesidad de un servidor OLAP dedicado.

SQL — Funciones analíticas equivalentes a OLAP
-- Ventas con acumulado y ranking por región
SELECT
  region,
  mes,
  ventas,
  -- Acumulado temporal (Roll-up parcial)
  SUM(ventas) OVER (PARTITION BY region
               ORDER BY mes
               ROWS UNBOUNDED PRECEDING) AS acumulado,
  -- Ranking dentro de cada región
  RANK() OVER (PARTITION BY region
          ORDER BY ventas DESC) AS ranking,
  -- Comparación con período anterior
  LAG(ventas, 1) OVER (PARTITION BY region
                   ORDER BY mes) AS ventas_mes_anterior
FROM fact_ventas
ORDER BY region, mes;
SQL — GROUPING SETS (equivalente a Roll-up / Cube)
-- Subtotales automáticos a múltiples niveles (OLAP en SQL puro)
SELECT
  COALESCE(año::text, 'TOTAL') AS año,
  COALESCE(region, 'TODAS')  AS region,
  COALESCE(categoria, 'TODAS') AS categoria,
  SUM(ventas) AS total_ventas
FROM fact_ventas
GROUP BY CUBE(año, region, categoria)
ORDER BY año, region, categoria;

Aplicaciones Reales

OLAP es omnipresente en el mundo empresarial. Cualquier organización que necesite convertir grandes volúmenes de datos históricos en decisiones estratégicas utiliza alguna forma de OLAP.

🛒

Retail y e-commerce

Análisis de ventas por producto, tienda, temporada y canal. Detección de patrones de compra y optimización de inventario.

🏦

Banca y finanzas

Análisis de rentabilidad por producto financiero, segmento de cliente y región. Detección de fraude y reporting regulatorio.

🏥

Salud

Análisis epidemiológico, consumo de recursos hospitalarios, eficacia de tratamientos por demografía y período.

📦

Logística

Optimización de rutas, análisis de tiempos de entrega, eficiencia de almacenes por zona y producto.

📱

Tecnología / SaaS

Análisis de métricas de producto (DAU, retención, churn), uso por feature, región y segmento de cliente.

🏛️

Administración pública

Seguimiento presupuestario, análisis de indicadores sociales y económicos por territorio y período.

Herramientas OLAP actuales

Herramienta Tipo Entorno Uso típico
Microsoft SSAS MOLAP / ROLAP On-premise / Azure Cubos empresariales con Power BI
Apache Kylin ROLAP (columnar) Cloud / Hadoop Big Data analítico a escala masiva
Apache Druid ROLAP (columnar) Cloud / On-premise Análisis en tiempo casi real
Google BigQuery ROLAP moderno Cloud (GCP) Data warehouse serverless
Snowflake ROLAP moderno Multi-cloud Analytics escalable y compartido
Cube.dev Capa semántica Cloud / On-premise API analítica sobre cualquier DW

🎓 Resumen: Puntos clave de OLAP

  • OLAP permite análisis multidimensional de grandes volúmenes de datos históricos de forma eficiente.
  • Se diferencia de OLTP en que está optimizado para lectura analítica, no para escritura transaccional.
  • El cubo OLAP organiza los datos en dimensiones (perspectivas) y medidas (valores numéricos).
  • Las operaciones fundamentales son: roll-up, drill-down, slice, dice, pivot, drill-across y drill-through.
  • Existen tres arquitecturas: ROLAP (relacional), MOLAP (multidimensional nativo) y HOLAP (híbrido).
  • MDX es el lenguaje estándar; SQL moderno replica muchas capacidades OLAP con funciones de ventana y GROUPING SETS.
  • Las tendencias actuales apuntan a OLAP en la nube (BigQuery, Snowflake) con arquitecturas ELT y capas semánticas.