Taller de Base de Datos
description
Transcript of Taller de Base de Datos
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.
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 OLAPIdea: 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
Taller de Base de Datos