Download OLAP parte 1

Document related concepts

OLAP wikipedia , lookup

Cubo OLAP wikipedia , lookup

Base de datos en memoria wikipedia , lookup

Data mart wikipedia , lookup

Esquema en copo de nieve wikipedia , lookup

Transcript
Taller de Base de Datos
Procesamiento Analítico en Línea
¿Qué es OLAP?
Imaginemos el siguiente escenario:
Una cadena de supermercados posee una (o varias) bases
de datos operacional que registra información sobre:
•
•
•
•
•
•
•
•
Supermercados( y sus descripciones)
Productos (y sus descripciones)
Precios de productos y promociones
Proveedores y partes entregados por ellos
Inventarios en bodegas y supermercados
Ordenes de compra a proveedores, transacciones y facturas
Transacciones de venta en cada supermercado
Programa clientes frecuentes, recursos humanos, etc.
Taller de Base de Datos
Procesamiento Analítico en Línea Parte II
Esta base de datos está optimizada para realizar procesamiento
transaccional en línea (OLTP), es decir esta base de datos se
encuentra totalmente optimizada.
Complejidad de la base de datos
Debido a que la base de datos está normalizada, esta tiene 500 tablas (
no es extraño encontrar base de datos con cientos de tablas).
Por ejemplo, solo para describir a los supermercados podrías tener:
Taller de Base de Datos
Supermercado(SupId,Area,DireccionId,AdministradorId,…)
Direccion(DireccionId,Calle,Numero,ComunaId,…)
Comuna(ComunaId,AreaDeVentaId,RegionId,NumHabitantes,…)
RegionId(RegionId,NumHabitantesPaisId,…)
Administrador(AdministradorId,Nombre,Suledo,ContradoId,…)
Contrato(ContratoId,Tipo,Texto,…)
Etc.
Taller de Base de Datos
Puede ser difícil visualizar una Base de Datos de esta
naturaleza
Taller de Base de Datos
Consultas Analíticas (Reportes)
Un analista de la cadena de supermercados necesita
investigar las ventas totales.
Se contacta con el administrador de la base de datos y le
solicita la siguiente información
• Ventas totales por semana, supermercado y tipo de producto
• Productos más vendidos en los últimos dos meses
• Etc.
El administrador calcula estos datos vía consultas SQL de la siguiente
forma:
Taller de Base de Datos
Consultas Analíticas (Reportes)
Taller de Base de Datos
Proceso Tradicional para calcular Consultas analíticas
Después de leer el reporte, el analista observa que las ventas de la
semana 10 del año 2002 son especialmente altas: necesita saber por
qué.
Solicita al administrador las ventas por día en la semana 10 del 2002.
Otra futuras indagaciones generan una serie de solicitudes/entregas de
reportes entre el analista y el administrador de la base de datos
Taller de Base de Datos
Data Warehouse OLAP
Idea: construyamos un sistema para el ANALISTA con las siguientes
características:
• Guarde datos sobre un único tema o proceso
– Ejemplo, proceso de venta obtenido de la base de datos
operacional.
• No es necesario que los datos estén totalmente actualizados.
• Fácil de visualizar, por ejemplo, datos organizados de acuerdo a
conceptos que sean fáciles de entender para los analistas: Modelo
Multidimensional.
• Fácil formulación de consultas, consultas a distintas granularidades:
Operadores.
• Respuestas en el orden de los pocos segundos.
Esto es un data warehouse OLAP
Taller de Base de Datos
Arquitectura de un Data Warehouse OLAP
Taller de Base de Datos
OLTP vs OLAP
Taller de Base de Datos
Historia de OLAP
• Pre-Historia
– 80’s Bases de datos estadisticas (ej. Statistical Object
Representation Model (STORM) Rafanelli y Shoshani)
– Operadores de Agregación enBase de datos Relacionales
(SELECT-FROM-WHERE-GROUP BY)
• Despegue
– 1993. Codd et al. Providing OLAP to user-analysts: an IT mandate,
Arbonsoft.
– 1995. Gray et al. Data Cube: A relational Operator Generalizing
Group-By, cross-tab and sub total
– 1996. Benchmark para OALP
Taller de Base de Datos
Modelo de Datos Multidimencional
El proceso a analizar se representa como:
• Un conjunto de Dimensiones:
– Perspectivas que usamos para visualizar el proceso.
– Estructuradas como jerarquías
– Generalmente pequeñas.
• Un conjunto de hechos (facts):
– Asignaciones de mediciones a puntos en espacios formados por
dimensiones.
– Agrupados en tablas de hechos
– Esta tabla cambia frecuentemente.
– Grande (GB’s o TB’s)
Taller de Base de Datos
Ejemplo: Cadena de Supermercados
• Hecho: n unidades de un producto p fueron vendidas en
una fecha d por x pesos en una tienda
• Dimensiones:
– Producto: código, descripción, marca, categoría, etc.
– Lugar: código, nombre, dirección, tipo, etc.
– Tiempo: fecha, día, semana, mes, semestre, año, etc.
• Medidas:
– Número de unidades.
– Precio de venta.
– Costo
Taller de Base de Datos
Ejemplo: Información Climática
• Hecho: en la latitud x, longitud y, altitud a y fecha d fue
medida una temperatura t y presión p
• Dimensiones:
–
–
–
–
Latitud.
Longitud.
Altitud.
Fecha
• Medidas:
– Temperatura.
– Presión.
Taller de Base de Datos
Ejemplo: Modelo Multidimensional de un
Buscador
Taller de Base de Datos
Esquema Estrella (Star Scheme)
Taller de Base de Datos
Esquema Copo de Nieve (Snowflake
Scheme)
Taller de Base de Datos
Tamaño de las Tablas
• Dimensión Tiempo: 2 años x 365 días=730
• Dimensión Lugar : 100 supermercados.
• Dimensión Producto:30000 productos, 10%
vendidos cada día en cada supermercado.
• Tabla de hechos: 730 x 100 x 3000= 219 millones
• Tamaño tabla de hechos: 219 millones x 4 ytes x
6 = 5.2 Giga- bytes