370 likes | 1.37k Vues
Modelo Multidimensional. Operaciones OLAP. El Modelo de Datos Multidimensional. Vista multidimensional del data warehouse => influencia el diseño de la base de datos, las herramientas front-end, y los motores OLAP.
E N D
Modelo Multidimensional Operaciones OLAP
El Modelo de Datos Multidimensional • Vista multidimensional del data warehouse => influencia el diseño de la base de datos, las herramientas front-end, y los motores OLAP. • Modelo multidimensional de datos: un conjunto de medidas numéricas son los objetos de análisis. – Ej: ventas, beneficios, duración de llamadas, etc. • Adicionalmente existen, asociadas a las medidas, las dimensiones de análisis, que proveen el contexto a las medidas, y se describen mediante atributos. • El modelo define una medida como un valor en un espacio multidimensional. Estas medidas pueden también representar datos agregados. • Las dimensiones se pueden organizar en jerarquías de agregación.
Tiempo Establecimiento id_fecha día semana mes año día_semana día_mes trimestre festivo .... id_establec nro_establec nombre dirección distrito ciudad país tlfno fax superficie tipo_almacén ... Producto id_producto nro_producto descripción marca subcategoría categoría departamento peso unidades_peso tipo_envase dietético ... Ventas id_fecha id_producto id_establec importe unidades nro_clientes
Modelo de Datos Multidimensional Ventas de Productos podrían ser representados en una dimensión (como una fact relation) o en dos dimensiones, e.j. : clients and products Fact Relation Cubo de dos dimensiones 2D_ Cube
day 2 day 1 Modelo de Datos Multidimensional Fact relation 3-dimensional cube
Crear Esquema e Insertar valores CREATE DATABASE VENTAS_DM, USE VENTAS_DM; CREATE TABLE SALE (product char(2), client char(2), date char(1), amt int); INSERT INTO SALE VALUES ( 'p1', 'c1', '1', 12), ( 'p2', 'c1', '1', 11), ( 'p1', 'c3', '1', 50), ( 'p2', 'c2', '1', 8), ( 'p1', 'c1', ‘2', 44), ( 'p1', 'c2', ‘2', 4);
Modelo de Datos Multidimensional y Funciones de Agregación • Sumar las cantidades (Amt) del día 1 (Date) • En SQL:SELECT sum(Amt) FROM SALE WHERE Date = 1 result 81
Modelo de Datos Multidimensional y Funciones de Agregación • Sumar las cantidades por día • En SQL: SELECT Date, sum(Amt) FROM SALE GROUP BY Date result
Modelo de Datos Multidimensional y Funciones de Agregación • Sumar cantidades por client, product • En SQL:SELECT product, client, sum(amt) FROM SALE GROUP BY product, client
11.11.2. GROUP BY Modifiers • Ver archivo del Manual de Referencia MySQL • MySql_groupBy_rollUp.docx
Modelo de Datos Multidimensional y Funciones de Agregación • En el Modelo de Datos Multidimensional junto con valores de medición se almacena información sumarizada (agregados)
Funciones de Agregación • Operadores: sum, count, max, min, average • Claúsula “Having” • Usando Jerarquías de dimensión • Promedio por región (tienda -- store) • Máximo por mes (fecha -- date)
Cube Aggregation(Agregación del Cubo) Ejemplo: calculando sumas day 2 . . . day 1 129
Cube OperatorsOperadores del Cubo day 2 . . . sale(c1,*,*) day 1 129 sale(c2,p2,*) sale(*,*,*)
Cube * day 2 sale(*,p2,*) day 1
day 2 day 1 Agregación UsandoJerarquías customer region country (customer c1 en Region A; customers c2, c3 en Region B)
Agregación UsandoJerarquías client city New Orleans 10 3 21 c1 12 9 c2 5 region 11 7 7 c3 Poznań Date of sale 12 11 15 c4 CD Video Camera agregación con respecto a city
All, All, All Ejemplo de Data Cube Date 1Q 2Q 3Q 4Q sum camera C o u n t r y video Product USA CD sum Canada Mexico sum
Ejercicio (1) • Suponga que AAA Automobile Co. construye una data warehouse para analizar las ventas de sus autos. • La medida measure - price de un auto • Se necesita responder las siguientes consultas típicas: • encontrar las ventas totales por día, semana, mes y año • encontrar las ventas totales semana, mes y año, ... para cada agencia • encontrar las ventas totales semana, mes y año, ... Para cada modelo de carro • encontrar las ventas totales por mes para todos las agencias en una ciudad, región y estado dados.
Ejercicio (2) • Dimensiones: • time (day, week, month, quarter, year) • dealer (name, city, state, region, phone) • cars (serialno, model, color, category , …) • Diseñe el esquema conceptual de la datawarehouse
Dealer Date Name City State Region Phone Day Week Month Quarter Year Car SerialNo Model Color Category Datawarehouse de AAA AutomobileCo. Price Fact Table Date Dealer Car unit_prices descount total Measurements
AAA Co. DataWarehouse price unitprice car date dealer serialNo name name city state region phone model serialNo color category desc. total date dateid day week month year
Consultas a AAA Datawarehouse • encontrar las ventas totales por día, semana, mes y año SELECT day, sum(total) FROM PRICE, DATE WHERE date=dateid GROUP BY day • AÑADIR ROLLUP
Consultas a AAA Datawarehouse • encontrar las ventas totales por día, semana, mes y año • encontrar las ventas totales semana, mes y año, ... para cada agencia • encontrar las ventas totales semana, mes y año, ... Para cada modelo de carro • encontrar las ventas totales por mes para todos las agencias en una ciudad, región y estado dados.
OLAP Servers • Relacional OLAP (ROLAP): • DBMS relacional extendido que mapea operaciones en datos multidimensionales a operaciones relacionales estandar • Almacen toda la información incluyendo fact tables como relaciones • Multidimensional OLAP (MOLAP): • Servidor de propósito especial que directamente implementa operaciones y datos multidimensionales • Almacena conjuntos de datos multidimensionales como arreglos
OLAP Servers • OLAP Híbrido (HOLAP): • Da a los usuarios y administradores del sistema la libertad para seleccionar particiones.
OLAP Queries (Consultas) • Roll up: resume datos dentro de una jerarquía de dimensión • Si sabemos el volumen total de ventas por ciudad es posible agregar sobre la ubicaión (location) para obtener ventas por estado
OLAP Queries client city 10 3 21 c1 New Orleans 12 9 c2 5 region 11 7 7 c3 Date of sale 12 11 15 Poznań c4 CD video Camera roll up
OLAP Queries • Roll down, drill down: ir desde alto nivel de resumen hasta bajo nivel de resumen o datos detallados • Para una categoría de producto particular, encontrar el detalle de ventas para cada vendedor por fecha • Dado el total de ventas por estado, se pueden pedir las ventas por ciudad; o solo las ventas por ciudad para un estado seleccionado
rollup drill-down OLAP Queries day 2 day 1 129
OLAP Queries • Slice and dice: select and project • Ventas de video en USA en los últimos 6 meses • Slicing and dicing reducen el número de dimensiones • Pivot: reorientar el cubo • El resultado del pivoteo es llamado cross-tabulation • Si se pivotea el cubo Sales en las dimensiones Client y Product, se obtieneuna tablapara cada client para cada valor de product
day 2 day 1 OLAP Queries • Pivoteo puede ser combinado con aggregation
OLAP Queries • Ranking: selección de los primeros n elementos (e.j. select los 5 mejores productos comprados en Julio) • Otros: stored procedures, etc. • Time functions • e.j., time average