Repositorios (data warehouses) OLAP



Documentos relacionados
Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos. - Sesión 5 -

Definición. Data Warehousing: almacenamiento, transformación y distribución de datos útiles para los responsables de tomar decisiones 9/29/2006 4

Capítulo 2 Tecnología data warehouse

Almacén de datos - concepto. Arquitectura de un sistema de almacén de datos

Construcción de cubos OLAP utilizando Business Intelligence Development Studio

Contenido XIII. Capítulo 1. Capítulo 2. Alfaomega. Bases de datos - Reinosa, Maldonado, Muñoz, Damiano, Abrutsky

Sistemas de Información 12/13 La organización de datos e información

Microsoft SQL Server Conceptos.

FACULTAD DE INGENIERÍA. Bases de Datos Avanzadas

UN PASEO POR BUSISNESS INTELLIGENCE

Apoyo a la toma de Decisiones. Carlos A. Olarte Bases de Datos II

CAPÍTULO 4 IMPLEMENTACIÓN DE SARP. Este capítulo describe los detalles de la implementación de SARP. Una vez explicado el

Tema 11 Bases de datos. Fundamentos de Informática

Fundamentos de la Inteligencia de Negocios

DISEÑO E IMPLEMENTACIÓN DE SOLUCIONES BUSINESS INTELLIGENCE CON SQL SERVER 2012

SpagoBI Open Source Business Intelligence

Repaso de Conceptos Básicos de Bases de Datos

Business Intelligence

SolucionesAnalíticas con Pentaho.

Tecnologías de Información y Comunicación II CLASE 10

Estos documentos estarán dirigidos a todas las personas que pertenezcan a equipos de implementación de Oracle BI, incluyendo a:

Fundamentos de la Inteligencia de Negocios

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008

OLAP 2 OLAP 1 OLAP 4 OLAP 3 OLAP 5 OLAP 6

Sistema de análisis de información. Resumen de metodología técnica

Sistemas de Información para la Gestión. UNIDAD 2: RECURSOS DE TI Información y Aplicaciones

CAPÍTULO 2 DATA WAREHOUSES

Capítulo 4 Implementación

Es una colección de datos operativos almacenados y utilizados por los programadores de aplicaciones y por usuarios finales de muy diversa índole!

BI Business Intelligence Un Mercado de Alto Crecimiento

Introducción Microsoft SQL Server 2000 Qué puede hacer con SQL Server 2000? Qué necesita saber para usar SQL Server 2000?

La Base de Datos OLAP Analysis Services (SSAS) Agenda. Agenda. Construyendo una Solución de BI paso a paso con SQL Server 2005

Módulo Minería de Datos

Anexo 11. Manual de Administración

6.FUNDAMENTOS DE LA INTELIGENCIA DE NEGOCIOS: ADMINISTRACION DE BASES DE DATOS E INFORMACION

Cuadrante Mágico de Gartner para BI 2013 vs. 2014

Manual imprescindible SQL Server 2012 (c) Francisco Charte Ojeda

3.3.3 Tecnologías Mercados Datos

Bases de Datos Modelo Relacional

Guía práctica SQL Server 2008

DEPARTAMENTO: Computación y diseño NOMBRE DEL CURSO: Base de datos I CLAVE: ACADEMIA A LA QUE PERTENECE: Base de datos I

ANEXO C Documento de Extracción. 1. Objetivo. 2. Alcance. 3. Arquitectura de la Extracción

Arquitectura para análisis de información. Zombi es una arquitectura que proporciona de manera integrada los componentes

Tema 1. Conceptos básicos

Base de datos relacional

Tecnologías de Información y Comunicación II.

SQL Server Business Intelligence parte 1

CAPÍTULO 5. DESARROLLO Y PRUEBAS

Indicadores de calidad de los títulos universitarios. Evaluación y análisis mediante sistemas de ayuda a la toma de decisiones

Presentación de Pyramid Data Warehouse

Índice libro SQL Server / 6

Oracle Business Intelligence Suite Standard Edition One. Antonio Akiyama Consultor Senior Business Intelligence

RemitePIN: Nuevo procedimiento de firma electrónica para las aplicaciones de captura de las Oficinas Virtuales de Coordinación Financiera.

CAPÍTULO 3: Resultados

Tecnologías Aplicadas a Business Intelligence Proyecto Práctico

[CASI v.0110] Pág. 1

LLEVE SU NEGOCIO al SIGUIENTE NIVEL. digitalice todos sus documentos y procesos.

ANEXO A - Plan de Proyecto EDT de la solución EDT GENERAL DEL PROYECTO1

Business Intelligence


INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2

5- Uso de sentencias avanzadas

Bases de Datos: Teoría General y Aplicaciones

SERIE ESTRATEGIA COMERCIAL CRM. Lic. Guiomar Patricia González P.

Beneficios estratégicos para su organización. Beneficios. Características V

Comparación entre Active Reports, Crystal Reports, y MS Reporting Services

Bases de Datos. Sistemas de Gestión de Bases de Datos

Guía de usuario CUBO TI

SÍLABO. : Obligatorio : Ingeniería de Sistemas : IS0704. : VII Ciclo : 03 Teoría y 02 Práctica : 04 : Lenguaje de Programación II

Técnicas de Diseño CRM 1

Los servicios más comunes son como por ejemplo; el correo electrónico, la conexión remota, la transferencia de ficheros, noticias, etc.

Sistema de Información Administrativa Financiera

Gestión de Información en Cuentas Nacionales de Chile

Sistemas de Data Warehousing

Manual de Referencia. Manual de instalación rápida SQL


Integración de Datos y ETL con Oracle Warehouse Builder

Presentación y Planificación del Proyecto: Administración de Calzado

2071 Querying Microsoft SQL Server 2000 with Transact- SQL

Familia de Windows Server 2003

INTRODUCCION A LAS BASES DE DATOS Procesamiento de Archivos vs Bases de Datos ARCHIVOS BASES DE DATOS

Toda base de datos relacional se basa en dos objetos

Tema 5: Integración de Datos Distribuidos

MOLAP REALIZADO POR: JOSE E. TABOADA RENNA

Almacenar y acceder a Información universitaria. Almacenar y acceder información de tipo de imágenes u otros formatos.

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

Nivel Básico/Intermedio. Instalar y Configurar SQL Server Diseñar una Base de Datos. Optimización de consultas

Arquitectura Cliente/Servidor

Sistemas de Gestión de Bases de Datos

Capítulo 12: Indexación y asociación

USO DE EXCEL Y ACCESS PARA EL DESARROLLO DE APLICACIONES ADMINISTRATIVAS EMPRESARIALES

INDETEC FICHA TÉCNICA SAACG.NET

BASES DE DATOS CON MICROSOFT SQL SERVER. Aprende a crear y gestionar las bases de datos más potentes

Diseño dinámico de arquitecturas de información

Transcripción:

Repositorios (data warehouses) OLAP Carlos Hurtado Larrain Profesor Asistente, Departamento de Ciencias de la Computación, Universidad de Chile

Contenido Motivación Nivel Lógico de un Repositorio OLAP Modelo Multidimensional Nivel Físico de un Repositorio OLAP Almacenamiento y Procesamiento de datos

Contenido Motivación Nivel Lógico de un Repositorio OLAP Modelo Multidimensional Nivel Físico de un Repositorio OLAP Almacenamiento y Procesamiento de datos

Principio de Independencia de los Datos 1960s: datos se manejaban con sistemas de archivos + operaciones de acceso 1970: noción de Independencia de los Datos (Ted Codd). Usuarios y aplicaciones no necesitan conocer las complejidades del almacenamiento físico de los datos Noción seminal para Bases de Datos (BD) y Sistemas Administradores de BDs.

Nivel Físico vs. Nivel Lógico Nivel Físico: Representación: bit, byte, campo, registro, archivo, bloque, cilindro, llave, dirección física, etc. Acceso: acceso secuencial, acceso directo, etc. Nivel Lógico: Representación: entidad, clase, relación, tabla, atributo, tupla, etc. Acceso: lenguaje de consulta (ej., SQL)

Nivel Lógico: Modelo de Datos Conceptos para imaginar datos Lenguaje para manipular y extraer datos Elija el de su preferencia: Jerárquico (IMS), Redes (IDS), Relacional,Orientado a Objetos (O2), Multidimensional (OLAP), Semiestructurado (XML), RDF (Web Semántica), etc, etc, etc.

Modelos de Datos: qué tienen en común? Registro: unidad atómica de información sobre el mundo. Juan Pérez 30 Nombre Edad Lo mismo que: entidad, tupla, objeto, etc.

Modelos de Datos: en qué se diferencian? Forma de agrupar registros: Conjuntos Modelo Relacional Grafo Modelo de Redes, Orientado a Objetos, XML, RDF, etc.

Conjuntos vs. Grafo

Conjuntos vs. Grafo Conjuntos: Orientado a encontrar grupos de registros Ejemplo: personas mayores que Juan Grafo: Orientado a encontrar conexiones de registros Ejemplo: árbol genealógico de Juan

Ejemplo Grafo : Modelo de Redes CODASYL (1971) Representación: registro lógico, enlace. Acceso: navegación recorriendo enlaces Variante: Modelo Jerárquico (IBM-IMS 1970)

Ejemplo Conjuntos : Modelo Relacional Ted Codd (1970) Representación: tupla, tabla. Acceso: conjuntos de tuplas a la vez (SQL) Modelo dominante en la actualidad Industria de Bases de Datos Relacionales en año 2004: $US 9000 millones (Gartner).

Ejemplo: Cadena de Supermercados Datos: Supermercados y sus descripciones Productos (SKU) y descripciones Precios de productos y promociones Transacciones de ventas en cada supermercado Proveedores y partes entregadas por ellos Inventario en bodegas y supermercado Ordenes de compra a proveedores, transacciones y facturas Programa clientes frecuentes, recursos humanos etc...

Cadena de Supermercados: Tablas Venta(SupId,ProdId,Precio,Cantidad,Fecha,CajaId) Supermercado(SupId, Area, DireccionId, AdminId,... ) Direccion(DireccionId, Calle, Numero, ComunaId,...) Comuna(ComunaId, AreaDeVentaId, RegionId, NumHabitantes,...) Region(RegionId, NumHabitantes, PaisId,...) Administrador(AdministradorId, Nombre, Sueldo, ContratoId,...) Contrato(ContratoId, Tipo, Texto,...)

Modelo Relacional: también necesitamos representar grafos Claves ajenas: Venta(SupId,ProdId,Precio,Cantidad,Fecha,CajaId) Supermercado(SupId, Area, DireccionId, AdminId,... ) Direccion(DireccionId, Calle, Numero, ComunaId,...)

Esquema de una BD Relacional

Por qué tantas tablas? BD soporta procesos ventas, compras de insumos, traspasos de bodegas, pagos, etc. BD optimizada para procesamiento transaccional en línea (OLTP) Normalizada Abundan BD productivas con cientos de tablas.

Consultas Analíticas No todo es transacciones, que sucede si queremos analizar tendencias: Ventas totales por semana, supermercado y tipo de producto. Productos más vendidos en los últimos dos meses. Clientes que compraron más el mes pasado....

Ejemplo: Ventas totales por país Select pais, SUM(Precio*Cantidad) From Venta, Supermercado, Direccion, Comuna, Region where Venta.SupId = Supermercado.SupId, Supermercado.DirId = Direccion.DirId, Direccion.ComunaId=Comuna.ComunaId, Comuna.RegionId=Region.RegionId Group By pais

Consulta Analítica en SQL Select T1.A1, T1.A2,..., Tn.Am, SUM(Tk.Ap) From T1,..., Tn where (Ti.Ai = Tj.Aj)* Group By T1.A1, T1.A2,..., Tn.An

Analista vs. Administrador BD Analista Consulta analítica Administrador BD Datos (reporte)

Ciclo Analista-Administrador BD Analista: recibe reporte y observa que ventas en semana 10/2002 son altas; quiere saber por qué. Solicita ventas por día en semana 10/2002. Administrador BD: programa nueva consulta y envia reporte Analista: analiza resultado y solicita otra consulta Administrador BD: programa consulta y entrega reporte Etc... etc... etc... etc

Ciclo Analista - Administrador BD (cont.) While (analista no enemigo de Administrador BD) do analista: analiza reporte actual y pide nuevo reporte administrador BD: programa nueva consulta y entrega reporte

Limitación del Modelo Relacional Complejidad para visualizar datos y formular consultas analíticas

Procesamiento Analítico en Línea (OLAP) (1) Consulta y visualización de datos de acuerdo al modelo de datos multidimensional

Historia de OLAP Pre-historia 80 s Bases de datos estadísticas (ej., Statistical Object Representation Model (STORM) Rafanelli y Shoshani) Agregación en SQL (SELECT-FROM-WHERE-GROUPBY) Despegue 1993. Codd et al. Providing OLAP to useranalysts: an IT mandate, Arborsoft. 1995. Gray et al. Data Cube: A relational Operator Generalizing Group-By, cross-tab and sub totals. 1996. Benchmark para OLAP (APB-1).

OLAP vs. OLTP

Repositorio (data warehouse) OLAP

Contenido Motivación Nivel Lógico de un Repositorio OLAP Modelo Multidimensional Nivel Físico de un Repositorio OLAP Almacenamiento y Procesamiento de datos Extracción Transformación y Carga

Modelo de Datos Multidimensional Datos describen un proceso, que se representa como: Dimensiones: Perspectivas que usamos para visualizar el proceso Hechos: Asignaciones de mediciones a puntos en espacios Formados por dimensiones

Ejemplo: Cadena de Supermercados Hecho: n unidades de un producto p fueron vendidas en una fecha d por x pesos en una tienda s. 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

Ejemplo: Registro Meteorológico 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

OLAP Relacional: Esquema Estrella

OLAP Relacional: Esquema Copo de Nieve

Conjuntos vs. Grafos en OLAP Necesitamos algo más que OLAP Relacional OLAP Multidimensional Dimensiones: Grafos: registros conectados Tablas de Hechos: Conjuntos de registros

Dimensión OLAP

Dimensión OLAP (irregular)

Importancia de Jerárquías Análisis de canasta en transacciones:

Importancia de Jerarquías (cont.)

Ejemplo: Modelo multidimensional de un Buscador Web

Consultas Analíticas sobre Modelo Multidimensional Inspeccionar las dimensiones Imponer una condición sobre las dimensiones Ejemplo: semestre = 1S97 Seleccionar atributos y categorías (granularidad) Seleccionar medidas y funciones de agregación Ejemplo: SUM(f.pesos) Observar el resultado e investigar por qué Nueva consulta...

Interfaz de Consulta OLAP

Interfaz de Consulta OLAP (cont.)

Operadores OLAP Roll-up: Cambiar una categoría en la granularidad por una categoría menos fina. Drill-down: inverso de Roll-Up. Navegación: sequencia de roll-ups y drilldowns Drill-across: cruzar más de una tabla de hechos

Operadores OLAP (cont.) Slice: imponer condiciones sobre las dimensiones Pivot: elegir atributos para la tabla de salida y cambiar la disposición de los atributos.

Gray et al. (1996) Cuboide: Cubo de Datos

Cubo de Datos (cont)

Grafo de Dependencia de un Cubo de Datos

Contenido Motivación Nivel Lógico de un Repositorio OLAP Modelo Multidimensional Nivel Físico de un Repositorio OLAP Almacenamiento y Procesamiento de datos Extracción Transformación y Carga

Procesamiento Analítico en Línea (OLAP) (1) Consulta y visualización de datos de acuerdo al Modelo Multidimensional y (2) Cálculo de respuestas en pocos segundos

Tamaño de Dimensiones y Hechos: Ejemplo Dimensión Tiempo: 2 años x 365 días = 730 días Dimensión Lugar: 100 supermercados Dimensión Producto: 30000 productos, 30000 ventas cada día en cada supermercado Tabla de hechos: 730 x 100 x 30000 = 2190 millones hechos Tamaño tabla de hechos: 2190 millones x 4 bytes x 6 = 52 GB

Cómo procesar consultas analíticas en pocos segundos? Un disco duro de 10 MB/seg vel. de transferencia tomaría 50 minutos sólo para calcular el total vendido por la cadena. Problema: el cálculo de una vista cúbica es proporcional al tamaño de la tabla de hechos que se accede.

Tamaño de un Cubo de Datos

Tamaño de un Cubo de Datos (cont.) Un cubo de datos puede tener hasta: E1 E2... En hechos, donde Ei es el número de elementos de la dimensión i. Tamaño del cubo es cercano a tamaño de tabla de hechos, si los datos son densos y la jerarquía se condensa fuertemente hacia arriba. En general puede ser MUCHO mayor Ejemplo: benchmark TPC/D, part customer supplier, la tabla de hechos tiene 6 millones de tuplas, el cubo tiene 19 millones.

Cálculo de un Cubo de Datos Algoritmo Básico (Gray et al. 1996): Leer la tabla de hechos y por cada tupla leida, actualizar las tuplas asociadas del cubo en cada cuboide Algoritmos Avanzados Algunos cuboides se pueden calcular de otros cuboides Podemos computar el cubo por niveles. Sólo sirven para cubos distributivos (ejemplo: SUM, MAX, MIN, etc)

Procesamiento de Consultas en OLAP Calcular y materializar completamente el cubo (no siempre es posible) Problema explosión del cubo. Costo de actualización Almacenar sólo la tabla de hechos base, computar los cuboides en tiempo de consulta Problema: computar un cuboide sobre dimensiones simple toma tiempo proporcional al tamaño de la tabla de hechos base Materializar sólo algunos cuboides y usar navegación de agregados (Harinaraya et al 1996)

Navegación en Agregados Derivar un cuboide requerido por el usuario a partir de otro(s) cuboide del cubo. Supongamos que queremos computar (All, Proveedor, All) en TPC-D Benchmark

Navegación en Agregados (cont.)

Navegación en Agregados y Grafo de Dependencia

Herramientas Servidor OLAP: procesamiento de consultas, almacenamiento de cubos Front-end: clientes OLAP, planillas de cálculo, visualización Back-End extracción, transformación y carga de datos (ETL) Otras: monitoreo, administración, etc.

Herramientas: Servidores OLAP Microsoft SQL Server Enterprise Edition OLAP Server IBM/DB2 OLAP Server Enterprise Edition Oracle 9i Enterprise Edition Express Server

Herramientas: Aplicaciones Medianas Cognos Brio Business Objects OLAPX Mondrian (código abierto)

Herramientas: ETL DataStage XE 6.0 Suite (Ascential Software) PowerCenter 6.0 (Informatica) Data Transformation Services 2000 (Microsoft)

Actualidad y Futuro de OLAP Extensiones del Modelo Multidimensional: Dimensiones irregulares, datos semiestructurados (XML). Diseño de Equemas Sistemas OLAP escalables

Diseño de Esquemas

Dimensiones Irregulares

Sistemas OLAP Escalables Ejemplo: Sistema T3 de Microsoft, EMC, Knosys y Unisis. Cubo de datos sobre 7600 millones de hechos (1.2 TB). Pruebas con 50 usuarios concurrentes y respuestas entre 0.02-0.08 seg..