## 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.