250 likes | 384 Views
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.
E N D
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 datos de bases de datos operacionales y otras fuentes. Generalmente es un proceso manual aunque ya existen algunos asistentes.
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: • Obtener la cantidad total de envíos. • Obtener las cantidades totales de envíos por proveedor. • Obtener las cantidades totales de envíos por partes. • Obtener las cantidades totales de envíos por partes y proveedor.
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).
Figura 7-14 Bases de Datos Multidimensionales
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) define: ((A,B,C), (A,B), (A), ()) • GROUP BY (A,B,C) define: (A,B,C)
Referencias • Date C. (2001), “Introducción a los sistemas de base de datos”, 7a. Edición, Pearson educación, México, 2001, ISBN: 968-444-419-2, pp. 709-725.