Download Almacenamiento de Datos y OLAP
Document related concepts
no text concepts found
Transcript
Almacenamiento de Datos y OLAP M.C. Juan Carlos Olivares Rojas Agenda Introducción Arquitectura de un datawarehouse OLAP Introducción • Para cualquier Sistema de Información Avanzado (SIA) el poder procesar información de manera rápida se ha vuelto una necesidad muy importante. • Por este motivo se necesita la construcción de base de datos con características especiales que permitan mejorar los procesos. Introducción • En la gran mayoría de los casos, estos nuevos diseños no siguen diseños lógicos, por lo que la desnormalización de base de datos es muy común. • Muchas herramientas como hojas de cálculo y paquetes estadísticos permiten obtener información para el soporte para toma de decisiones, desgraciadamente el volumen de información es muy pequeño. Arquitectura de un datawarehouse • Las bases de datos pueden ser clasificadas de distintos tipos. En general se tienen bases de datos transaccionales e históricas. • Las bases de datos históricas no son modificadas pero sirven para llevar un registro de todo lo ocurrido Almacén de Datos • Los almacenes de datos son del mismo tipo, no volátiles y variantes en el tiempo. • Es una base de datos limpia ya que no están todas las transacciones. • Un almacén de datos debe tener más de 500GB y una tasa de crecimiento del 50% anual. Datamarts • Son repositorios de datos más pequeños utilizados generalmente para reportes o usos más genéricos. • La característica principal es que es volátil; es decir, los valores de los datos pueden ser modificados para realizar simulaciones de escenarios del tipo: ¿que pasaría si…? • Existen diversos métodos de diseño, siendo • los más populares: estrella y copo de nieve. Esquema Estrella • También llamado dimensional, contiene una tabla de hechos que es aquella que contiene toda la información y tiene varias tablas de dimensiones que contienen el catálogo de la información. • Se asemeja mucho a un base de datos normalizada, entonces ¿Cuál es la diferencia? Esquema Estrella • El esquema de estrella sólo tiene un nivel. • El tener todos los hechos juntos y las dimensiones separadas permite que las “juntas” sean mínimas ocupando menos tiempo las consultas. • La tabla de hechos es más grande en atributos y tuplas que las de dimensiones. Esquema Copo de Nieve • El diseño es ad hoc y es difícil de cambiar (aplica también en estrella). • Es una variante del esquema de estrella, el cual normaliza toda las tablas de dimensiones. • Tiene algunas mejoras de espacio pero en ocasiones las consultas son más lentas. Errores de Diseño • A continuación se muestran algunas características que hacen que la gran mayoría de los diseños de base de datos para DSS sean ineficientes: • Filas duplicadas, al no tener ID. • Desnormalización: puede ser buena a nivel físico pero no a nivel lógico. • Esquemas de “Estrella”: tratan de tomar atajos, es poco el ahorro en muchos casos. Errores de Diseño • Nulos. Se trata de ahorrar tamaño en algunos campos poniendo valores nulos, lo cual no es correcto. • Diseño de tablas de resumen aumenta la redundancia de los datos. • Existen varias rutas de navegación, lo que hace el diseño inconsistente. Preparación de los Datos • A continuación se muestra el flujo de trabajo que siguen los datos en un sistema DSS. • Extracción: Consiste en obtener los bases de datos operacionales fuentes. Generalmente es un manual aunque ya existen asistentes. datos de y otras proceso algunos Preparación de Datos • Limpieza: se requiere antes de procesar los datos, implica acciones como llenado de valores faltantes, correcciones tipográficas, establecimiento de abreviaturas, etc. • Transformación y consolidación: los datos se adecuan a la aplicación, si vienen de varias fuentes se integran en una sola, consolidándose sobre todo en el tiempo. Preparación de los Datos • Carga: consiste en llevar los datos transformados y consolidados hacia las base de datos de apoyo a la toma de decisiones, la verificación de su integridad y la construcción de índices. • Actualización: es un proceso poco desarrollado, el cual consiste en la carga de los elementos más actuales. OLAP • OLAP (OnLine Analythic Process) Proceso Analítico en Línea permite obtener información de bases de datos multidimensionales que son útiles en la toma de decisiones. • En esquemas tradicionales, la agrupación de datos se puede realizar pero va requerir de n agrupaciones distintas para n consultas diferentes, teniendo un resultado muy pobre. OLAP • Considérese la siguiente tabla: V# P# Cant V1 P1 300 V1 P2 200 V2 P1 300 V2 P2 400 V3 P2 200 V4 P2 200 • Obtener la cantidad total envíos. • Obtener las cantidades totales envíos por proveedor. • Obtener las cantidades totales envíos por partes. • Obtener las cantidades totales envíos por partes y proveedor. de de de de OLAP • Proceso interactivo de crear, mantener, analizar y elaborar informes sobre datos. • En muchas ocasiones se hacen consultas similares con valores diferentes, lo que trae como consecuencia muchas consultas independientes y más retraso. OLAP • SQL3 define tres operadores para GROUP BY: GROUPING SETS, ROLLUP y CUBE. • Las tablas en un almacén de datos se consideran hipercubos dependiendo de sus dimensiones. • Existen dos tipos de OLAP: ROLAP (Relacional) y MOLAP (multidimensional). Bases de Datos Multidimensionales Figura 7-14 Almacén de Datos Estándares SQL • En 1986 ANSI estandariza el lenguaje SQL y en 1987 ISO, después de 10 años de haber aparecido SQL. • Se han tenido las siguientes actualizaciones SQL89, SQL92 (las modificaciones más importantes), SQL99 (BDOO) y SQL2003 (XML). • SQL cuenta con soporte para OLAP. Consultas Multidimensionales • GROUP BY, ROLLUP y CUBE son casos particulares de GROUPING SETS • GROUP BY CUBE (A,B,C) define los subconjuntos: ((A,B,C), (A,B), (A,C), (A), (B,C), (B), (C), ()) • GROUP BY ROLLUP ((A,B,C), (A,B), (A), ()) (A,B,C) • GROUP BY (A,B,C) define: (A,B,C) define: Referencias • Date C. (2001), “Introducción a los sistemas de base de datos”, 7a. Edición, Pearson educación, México, 2001, ISBN: 968-444419-2, pp. 709-725. ¿Preguntas, dudas y comentarios?