OLAP (OnLine Analytical Processing) I.S.C. Zoraya Catalina Flores Juárez Bases de Datos Otoño, 2012. OLAP(OnLine Analytical Processing) Introducción. Las empresas han comenzado a aprovechar los cada vez más numerosos datos en línea para tomar mejores decisiones sobre sus actividades, como por ejemplo los artículos que deben tener en inventario y el modo de dirigirse mejor a los clientes para aumentar las ventas. Las grandes empresas tienen varios orígenes de datos que necesitan utilizar para adoptar decisiones empresariales. Los orígenes pueden almacenar los datos según diferentes esquemas. Por motivos de rendimiento (así como por motivos de control de la organización) los orígenes de datos no suelen permitir que otras partes de la empresa recuperen datos a petición. Para ejecutar de manera eficiente las consultas sobre datos tan diferentes las empresas han creado almacenes de datos (Date Warehouse). Los almacenes de datos reúnen los datos de varios orígenes bajo un esquema unificado en un solo sitio. Por tanto, ofrecen al usuario una sola interfaz uniforme para los datos. El área de procesamiento analítico en línea (Online Analytical Processing, OLAP) trata de las herramientas y de las técnicas para el análisis de los datos que pueden dar respuestas casi instantáneas a las consultas que soliciten datos resumidos, aunque la cantidad de datos sea extremadamente grande. Antecedentes. El término OLAP fue introducido en Agosto de 1993 por el Dr. E.F. Codd y apoyado por Arbor Software Corporation, compañía que creó ESSBASE que fue una de las primeras herramientas OLAP que aparecen en el mercado, adquirida luego por Hyperion Software. Según la definición que le dio Codd, OLAP es un tipo de procesamiento de datos que se caracteriza, entre otras cosas, por permitir el análisis multidimensional. ISC. Zoraya C. Flores Juárez Página 2 OLAP(OnLine Analytical Processing) OLAP (On Line Analytical Processing) Es una solución utilizada en el campo de la llamada Inteligencia empresarial (o Business Intelligence) cuyo objetivo es agilizar la consulta de grandes cantidades de datos. Para ello utiliza estructuras multidimensionales (o Cubos OLAP) que contienen datos resumidos de grandes Bases de datos o Sistemas Transaccionales (OLTP). Se usa en informes de negocios de ventas, marketing, informes de dirección, minería de datos y áreas similares. Tipos de OLAP MOLAP (Multidimensional OnLine Analytical Processing) Dedicado a implementaciones de procesamiento analítico en línea que no dependen de bases de datos relacionales. Aunque los sistemas MOLAP no escalan con el tamaño que los sistemas de bases de datos relacionales pueden, por lo general ofrecen un mejor rendimiento y más estrechamente herramientas integradas que sus contrapartes relacionales. Imagen 1. Ventajas Permite generar consultas rápidas debido a la optimización del rendimiento de almacenamiento, la indexación multidimensional y la memoria caché. Ocupa menor tamaño en disco en comparación con los datos almacenados en base de datos relacional debido a técnicas de compresión. Automatización del procesamiento de los datos agregados de mayor nivel. Muy compacto para conjuntos de datos de pocas dimensiones. Eficaz extracción de datos lograda gracias a la pre-estructuración de los datos agregados. Desventajas La etapa de procesamiento (carga de datos) puede ser bastante larga, sobre todo para grandes volúmenes de datos. Algunas herramientas MOLAP tienen dificultades para actualizar y consultar los modelos con hasta cierto número de dimensiones. Este límite varía en función de la complejidad y la cardinalidad de las dimensiones de que se trate. También depende de la cantidad de hechos o medidas almacenados. Otras herramientas MOLAP (por ejemplo, Microsoft Análisis Services o Applix TM1) puede manejar cientos de dimensiones. El enfoque MOLAP introduce redundancia en los datos. ISC. Zoraya C. Flores Juárez Página 3 OLAP(OnLine Analytical Processing) ROLAP (Procesamiento Analítico OnLine Relacional). Es una forma de procesamiento analítico en línea (OLAP) que realiza un análisis dinámico multidimensional de los datos almacenados en una base de datos relacional en lugar de en una base de datos multidimensional, como se muestra en la imagen 1. En este tipo de procesamiento el usuario envía una solicitud de análisis multidimensional y el motor ROLAP convierte la solicitud a SQL para su presentación a la base de datos. A continuación, la operación se realiza a la inversa: el motor convierte los datos resultantes de SQL a un formato multidimensional antes de que se devuelve al cliente para su visualización. Ventajas. La construcción de herramientas OLAP sobre sistemas relacionales presenta algunas ventajas frente a los sistemas multidimensionales: ROLAP se considera más escalable para manejar grandes volúmenes de datos, especialmente modelos con dimensiones de gran cardinalidad (por ejemplo, con millones de miembros). Hay disponible una gran variedad de herramientas de carga de datos para sistemas relacionales; además, existe la posibilidad de ajustar el código ETL(Extract, Transform, Load) a un modelo de datos particular. Con todo esto se consigue que los tiempos de carga sean generalmente mucho menores que con las cargas MOLAP automatizadas. Los datos se almacenan en una base de datos relacional estándar que puede ser accedida por cualquier herramienta de generación de informes SQL. Estas herramientas no tienen que ser necesariamente de tipo OLAP. Desventajas. Hay un consenso general en la industria de que las herramientas ROLAP tienen menor rendimiento que las herramientas MOLAP. El proceso de carga de tablas agregadas debe ser gestionado por código ETL personalizado. Las herramientas ROLAP no disponen de mecanismos automáticos para realizar esta tarea, lo que significa que se necesita más tiempo de desarrollo de código. Muchos desarrolladores de modelos dimensionales ROLAP ignoran el paso de crear tablas agregadas. En este caso el rendimiento de una consulta se ve afectado porque entonces se necesita consultar las tablas con datos más detallados. ISC. Zoraya C. Flores Juárez Página 4 OLAP(OnLine Analytical Processing) Los sistemas ROLAP se construyen sobre bases de datos de propósito general, por lo que hay algunas funcionalidades especiales propias de las herramientas MOLAP que no están disponibles en los sistemas ROLAP (tales como el indexado jerárquico especial). HOLAP (Hybrid OnLine Analytical Process) Es la forma de Procesamiento Analítico que combina los atributos de MOLAP y ROLAP. En el caso de HOLAP las agregaciones se almacenen en una estructura multidimensional y los datos a nivel detalle se realiza el almacenamiento en una base de datos relacional (no tan rápido comparado con MOLAP) como se muestra en la magen1. Se recomienda este tipo de procesamiento en los siguientes casos: Cubos que requieren rápida respuesta Cuando existen sumarizaciones basadas en una gran cantidad de datos de origen. Fig 1. Integración de un servidor OLAP y un SGBD relacional. ISC. Zoraya C. Flores Juárez Página 5 OLAP(OnLine Analytical Processing) Esquemas de los almacenes de datos Los almacenes de datos suelen tener esquemas diseñados para el análisis de los datos y emplean herramientas como las herramientas OLAP. Por tanto, los datos suelen ser datos multidimensionales, con atributos de dimensión y atributos de medida. Tabla de Hechos. Una tabla de hecho es la tabla principal en un modelo dimensional donde se almacena las medidas de rendimiento numéricos de la empresa, como se ilustra en la figura. 2. Usamos el término hecho para representar una medida de negocio. Podemos imaginarnos en un plaza viendo los productos vendidos y anotando la cantidad de vendida y el monto de la venta en dólares en cada día de cada producto de la tienda. La medida se toma de la intersección de todas las dimensiones (día, producto y tienda). Esta lista de dimensiones define la granularidad de la tabla de hechos y el alcance de la medida que tiene. Figura 2. Tabla de Hechos Tabla de Dimensiones Las tablas de dimensiones son compañeros integrales de una tabla de hechos. Las tablas de dimensiones contienen las descripciones textuales de los negocios, como se ilustra en la figura 3. En un modelo dimensional bien diseñado, las tablas de dimensiones tienen muchas columnas o atributos. Estos atributos describen las columnas en la tabla de dimensiones. Nos esforzamos por incluir tantas descripciones significativas como sea posible. No es raro para una tabla de dimensiones para tener de 50 a 100 atributos. Las tablas de dimensiones tienden a ser relativamente poco profunda en términos del número de filas (a menudo mucho menos de 1 millón de filas), pero son anchas con muchas columnas grandes. Cada dimensión es definida por su sola clave primaria, designado por la notación PK en la Figura 3 que sirve como la base para la integridad referencial con cualquier tabla de hechos dada a la que está unida. Los atributos de dimensión juegan un papel vital en el almacén de datos. Ya que son la fuente de prácticamente todas las restricciones interesantes y etiquetas de informes, que son clave para que el almacén de datos sea utilizable y comprensible. En muchos sentidos, el almacén de datos es ISC. Zoraya C. Flores Juárez Página 6 OLAP(OnLine Analytical Processing) sólo tan bueno como los atributos de dimensión. El poder del almacén de datos es directamente proporcional a la calidad y la profundidad de los atributos de dimensión. Figura 2. Tabla de Dimensión Ejemplo de las tablas dimensionales y hechos en un informe sencillo Fig. 4. Ejemplo de las tablas dimensionales y hechos en un informe sencillo ISC. Zoraya C. Flores Juárez Página 7 OLAP(OnLine Analytical Processing) Modelos de un Data Warehouse Modelo Estrella Consta de una tabla de hechos central y de varias tablas de dimensiones relacionadas a esta, a través de sus respectivas claves. Este modelo debe estar totalmente desnormalizado, es por ello que por ejemplo, la tabla de dimensión “PRODUCTOS” contiene los campos “Rubro”, “Tipo” y “NombreProducto”. Si se normaliza esta tabla, se obtendrá el siguiente resultado. Cuando se normaliza, se pretende eliminar la redundancia, la repetición de datos y que las claves sean independientes de las columnas, pero en este tipo de modelos se requiere no evitar precisamente esto. Las ventajas que trae el proceso de desnormalizar, son las de obviar uniones (Join) entre las tablas cuando se realizan consultas, procurando así un mejor tiempo de respuesta y una mayor sencillez con respecto a su utilización. El punto en contra, es que se genera un cierto grado de redundancia, pero el ahorro de espacio no es significativo. El esquema en estrella es el más simple de interpretar y optimiza los tiempos de respuesta ante las consultas de los usuarios. Este modelo es soportado por casi todas las herramientas de consulta y ISC. Zoraya C. Flores Juárez Página 8 OLAP(OnLine Analytical Processing) análisis, y los metadatos son fáciles de documentar y mantener, sin embargo es el menos robusto para la carga y es el más lento de construir. Ventajas: Posee los mejores tiempos de respuesta. Su diseño es fácilmente modificable. Existe paralelismo entre su diseño y la forma en que los usuarios visualizan y manipulan los datos. Simplifica el análisis. Facilita la interacción con herramientas de consulta y análisis. Modelo Copo de Nieve Este modelo consta una tabla de hechos central que está relacionada con una o más tablas de dimensiones, quienes a su vez pueden estar relacionadas o no con una o más tablas de dimensiones. Este modelo es más cercano a un modelo de entidad relación, que al modelo en estrella, debido a que sus tablas de dimensiones están normalizadas. Una de los motivos principales de utilizar este tipo de modelo, es la posibilidad de segregar los datos de las tablas de dimensiones y proveer un esquema que sustente los requerimientos de diseño. Otra razón es que es muy flexible y puede implementarse después de que se haya desarrollado un esquema en estrella. Ventajas. Posee mayor complejidad en su estructura. Hace una mejor utilización del espacio. Es muy útil en tablas de dimensiones de muchas tuplas. Las tablas de dimensiones están normalizadas, por lo que requiere menos esfuerzo de diseño. ISC. Zoraya C. Flores Juárez Página 9 OLAP(OnLine Analytical Processing) Desventajas. Si se poseen múltiples tablas de dimensiones, cada una de ellas con varias jerarquías, se creará un número de tablas bastante considerable, que pueden llegar al punto de ser inmanejables. Al existir muchas uniones y relaciones entre tablas, el desempeño puede verse reducido. La existencia de las diferentes jerarquías de dimensiones debe estar bien fundamentada, ya que de otro modo las consultas demorarán más tiempo en devolver los resultados, debido a que se deben realizar las uniones entre las tablas. Modelo Constelación Este modelo está compuesto por una serie de esquemas en estrella, está formado por una tabla de hechos principal (“HECHOS_A”) y por una o más tablas de hechos auxiliares (“HECHOS_B”), las cuales pueden ser sumarizaciones de la principal. Dichas tablas yacen en el centro del modelo y están relacionadas con sus respectivas tablas de dimensiones. No es necesario que las diferentes tablas de hechos compartan las mismas tablas de dimensiones, ya que, las tablas de hechos auxiliares pueden vincularse con solo algunas de las tablas de dimensiones asignadas a la tabla de hechos principal, y también pueden hacerlo con nuevas tablas de dimensiones. Características Permite tener más de una tabla de hechos, por lo cual se podrán analizar más aspectos claves del negocio con un mínimo esfuerzo adicional de diseño. Contribuye a la reutilización de las tablas de dimensiones, ya que una misma tabla de dimensión puede utilizarse para varias tablas de hechos. ISC. Zoraya C. Flores Juárez Página 10 OLAP(OnLine Analytical Processing) No es soportado por todas las herramientas de consulta y análisis Jerarquías Representa una relación lógica entre dos o más atributos pertenecientes a un cubo multidimensional; siempre y cuando posean su correspondiente relación “padre-hijo”. Las jerarquías poseen las siguientes características: Pueden existir varias en un mismo cubo. Están compuestas por dos o más niveles. Se tiene una relación “1-n” o “padre-hijo” entre atributos consecutivos de un nivel superior y uno inferior. La principal ventaja de manejar jerarquías, reside en poder analizar los datos desde su nivel más general al más detallado y viceversa, al desplazarse por los diferentes niveles. Operaciones El manejo de jerarquías en los cubos de datos permite realizar operaciones que facilitan el análisis de la información. Las operaciones que pueden realizarse son: Slice(Corte). Es el acto de elegir un subconjunto de un cubo rectangular eligiendo un único valor para una de sus dimensiones, la creación de un nuevo cubo con una dimensión menos. Ejemplo: ISC. Zoraya C. Flores Juárez Página 11 OLAP(OnLine Analytical Processing) Las cifras de ventas de todas las regiones de ventas y todas las categorías de productos de la empresa en el año 2004 se han "cortado" del cubo de datos. Dice. Esta operación produce un subcubo que permite al analista tomar valores específicos de múltiples dimensiones. Ejemplo de un corte en anillos: El nuevo cubo muestra las cifras de venta de un número limitado de categorías de productos, las dimensiones de tiempo y región cubrir el mismo rango que antes. Drill Down / Up. Permite al usuario navegar entre los niveles de datos que van desde el más resumido (arriba) hasta los más detallados (abajo). El analista pasa de la categoría de resumen "Outdoor-Schutzausrüstung" para ver las cifras de ventas de los productos individuales. ISC. Zoraya C. Flores Juárez Página 12 OLAP(OnLine Analytical Processing) Roll-up. Resume los datos a lo largo de una dimensión. La regla sumarización podría calcular los totales a lo largo de una jerarquía o una aplicación de un conjunto de fórmulas como "ganancia = ventas - gastos". Pivot. Permite al analista rotar el cubo en el espacio para ver sus caras distintas. Por ejemplo, las ciudades podrían estar dispuestas verticalmente y horizontalmente productos mientras ve los datos de un trimestre determinado. Pivoteando podría reemplazar productos con períodos de tiempo para ver los datos a través del tiempo para un solo producto. ISC. Zoraya C. Flores Juárez Página 13 OLAP(OnLine Analytical Processing) Bibliografía. Kimball Ralph, Ross Margy, The Data Warehouse Toolkit 2da. Edición, The Complete Guide to Dimensional Modeling, John Wiley & Sons, Inc., 2002. Thomsen Erik, OLAP Solutions Building Multidimensional Information Systems 2da. Edición, The Complete Guide to Dimensional Modeling, John Wiley & Sons, Inc., 2002. Silberschatz Abraham, F. Korth Henry, Sudarshan S., Fundamentos de Bases de Datos 4ta. Edición, Mc. Graw. Hill, 2002. Date, C. J., Introducción a los sistemas de bases de datos., Prentice Hall, 2001. http://www.dssresources.com/glossary/olaptrms.html http://searchsqlserver.techtarget.com/definition/MOLAP http://www.dataprix.com/datawarehouse-manager http://en.wikipedia.org/wiki/OLAP_cube#Hierarchy http://es.wikipedia.org/wiki/Cubo_OLAP ISC. Zoraya C. Flores Juárez Página 14