## Page 1
# Online Analytical Processing (OLAP)
---
Gestión de la Información
Grado en Ingeniería Informática
Universidad de Burgos
<img>Universidad de Burgos logo</img>
José Ignacio Santos, José Manuel Galán
jisantos@ ubu.es, jmgalan@ ubu.es
---
## Page 2
# OLTP vs OLAP
|
Online Transaction Processing (OLTP) |
Online Analytical Processing (OLAP) |
| Finalidad |
Procesamiento transaccional |
Análisis y reporting |
| Tipo de datos |
Detallados, en tiempo real |
Agregados, históricos |
| Consultas |
Rápidas y cortas |
Complejas y multidimensionales |
| Base de datos |
Relacional (SQL) |
Multidimensional (cubos) |
| Ejemplo |
Pedido de un cliente hoy |
Ventas por región y año |
ERP BI
---
## Page 3
# Ciclo de datos
graph TD
subgraph Data Warehouse
DW(DW)
end
subgraph OLTP
OLTP(OLTP)
end
subgraph Business Intelligence
BI(BI Tools)
end
subgraph Machine Learning & Artificial Intelligence
ML_AI(ML AI)
end
subgraph Data Multidimensionales
Cubos_CubosOLAP(Cubos OLAP)
end
OLTP --> DW
DW --> Cubos_CubosOLAP
Cubos_CubosOLAP --> BI
BI --> ML_AI
ML_AI --> DW
DW --> OLTP
**Sistemas transaccionales**
ERP, SCM, CRM
**Data Warehouse**
**Datos multidimensionales**
**Herramientas de visualización e informes**
**Machine Learning & Artificial Intelligence**
**Business Intelligence**
---
## Page 4
# Ciclo de datos (ejemplo)
graph LR
A[OLTP] --> B[OLTP gestion]
B[OLTP gestion] --> C[DW]
C[DW] --> D[Cubos OLAP]
D[Cubos OLAP] --> E[Periódicamente se calculan/actualizan los cubos]
E --> F[Los cubos alimentan objetos de visualización (tablas dinámicas, gráficos, scorecards, ...)]
**OLTP gestion**
* OLTP gestiona la bases de datos ERP (e.j. tiendas donde se registran todas las operaciones de venta diarias)
**DW**
* Los datos transaccionales (y de otras fuentes) se consolidan en bases de datos independientes (data warehouse /data lake)
**Cubos OLAP**
* Un modelador define previamente la estructura de los cubos:
* qué dimensiones (para segmentar los datos)
* qué métricas (campos calculados mediante una función de agregación)
* Periódicamente se calculan/actualizan los cubos
* Los cubos alimentan objetos de visualización (tablas dinámicas, gráficos, scorecards, ...)
---
## Page 5
# Cubo OLAP
Un cubo OLAP es una estructura de datos multidimensional:
* Dimensiones: año, región, cliente
* Métricas: ventas, costes, margen
Cada celda del cubo es una métrica indexada por los diferentes valores de las dimensiones del cubo
Los cubos OLAP son óptimos para consultas multidimensionales. Los informes y consultas deben ser **coherentes** con la estructura del cubo. Ejemplo de consulta OLAP:
```sql
SELECT SUM(ventas) FROM fact_ventas WHERE año=2024 AND region='Norte'
```
En el ejemplo el cubo OLAP fact_ventas tiene como dimensiones año y región y como métrica agregada ventas
---
## Page 6
# Google Looker como metáfora de OLAP
El diseño de Google Looker puede ayudarnos a comprender los cubos OLAP
En un conector de Looker definimos campos de tipo dimensión (que permiten segmentar los datos) y campos de tipo métrica (que se muestran calculados mediante alguna función de agregación), al igual que hacemos con la estructura de un cubo OLAP
La tabla extendida de dimensiones y métricas de Looker representaría un cubo multidimensional OLAP
| Año |
Región |
Nproducto |
Importe venta |
| 2018 |
Europe |
botellín 500cc |
2,112.5 |
| 2018 |
Australia and Ocea... |
botella 5l |
3,132 |
| 2018 |
Central America an... |
botellín 300cc |
438.9 |
| 2018 |
Australia and Ocea... |
garrafa 8l |
1,058.5 |
| 2018 |
Middle East and N... |
botella 0.5l |
426 |
| 2018 |
Asia |
garrafa 8l |
6,597.5 |
| 2018 |
Central America an... |
botella 0.5l |
1,296 |
<img>Diagram showing a cube with dimensions "Time" and "Cities" on two axes, and a metric "Products" along the third axis. The dimensions are represented by arrows pointing to the left and right, and the metric by an arrow pointing forward.</img>
dimensiones → métrica →
---
## Page 7
# Google Looker como metáfora de OLAP
Pero Looker y OLAP son diferentes:
Looker no genera cubos, sólo traduce las selecciones del usuario en queries SQL contra las tablas subyacentes
Las agregaciones en Looker se calculan en tiempo de ejecución, no son precalculadas
En Looker tenemos más flexibilidad para construir las queries SQL, en cambio en OLAP las consultas son limitadas a la estructura multidimensional de los cubos:
* **drill-down** (bajar al detalle)
* **roll-up** (agrupar)
* **slice** (filtrar una dimensión)
* **dice** (cruzar varias dimensiones)
---
## Page 8
# Machine Learning /AI
Las herramientas de ML/AI trabajan sobre datos detallados del Data Warehouse o Data Lake, no sobre cubos OLAP
**OLAP** sigue siendo óptimo para análisis descriptivo
ML/AI complementa el BI con analítica predictiva, no supervisada, etc.