CATEDRA: INTRO. BASES DE DATOS PROFESOR: Asc. PAUTSCH, German TITULAR: Ing. CASTAÑO Rubén UNIVERSIDAD NACIONAL DE MISIONES FACULTAD IENCIAS EXACTAS, QUÍMICAS Y NATURALES Bases de Datos 1. Introducción.....................................................................................................................2 1.1 Bases de datos....................................................................................3 1.1.1Definición..........................................................................................3 1.1.2 Objetivos y Características..................................................................3 1.1.3Sistemas OLTP...................................................................................4 1.2 Data Warehouse.........................................................................................................5 1.2.1 Definición.........................................................................................5 1.2.2 Características y Objetivos..................................................................5 1.2.3 Arquitectura de una Data Warehouse...................................................6 1.2.4 Sistemas OLAP.................................................................................9 Base de datos multidimensional.................................................................10 1.2.5 Diferencias entre OLTP y OLAP..........................................................13 1. Introducción Todos los días, y casi sin darnos cuenta, estamos generando gran cantidad de datos. Cuando realizamos una compra, cuando marcamos el ingreso y el egreso en nuestros trabajos, cuando pasamos con nuestro coche por una carretera que es monitoreada. Particularmente en la universidad, cada vez que los alumnos se inscriben a cursar o rendir una materia, cuando aprueban o reprueban la misma, están generando gran cantidad de datos. Las computadoras actuales con su gran capacidad de almacenamiento nos permiten registrar todas estas acciones en transacciones. Esta capacidad de almacenar datos se ha potenciado como nunca en los últimos años, se estima que las bases de datos de las organizaciones se duplican cada veinte (20) meses. Pero las técnicas de análisis de la información no han tenido un desarrollo equivalente. Muchas organizaciones mantienen grandes bases de datos, pero dentro de esta masa de datos hay información oculta de gran importancia que a través de la Minería de Datos (MD) (data mining) se podría llegar a descubrir. Lo que se busca con esta tecnología es descubrir conocimiento oculto útil y no evidente a partir de grandes bases de datos. Fundamentalmente, la diferencia de la MD con otras técnicas reside en que permite construir modelos de manera automática. La MD es una etapa dentro de un proceso más amplio llamado extracción de conocimiento en bases de datos (Knowledge Discovery – Descubrimiento del Conocimiento) Data Artificial, mining la concentra Computación varias Gráfica, áreas las como Bases de la Inteligencia Datos y el Procesamiento Masivo, principalmente usando como materia prima las bases de Información. Este último concepto esta asociado a un proceso esencial en la minería de datos como es la construcción de una Data Warehouse (DW o Almacén de Datos). 1.1 Bases de datos 1.1.1 Definición Una base de datos es un sistema computarizado que, en general, tiene la finalidad de almacenar información para luego permitir a los usuarios recuperar, eliminar y actualizar sus datos. De esta manera ayudan a las organizaciones administración, haciendo que sus en el proceso de operaciones, al menos las más importantes, queden registradas. Estas funciones integran un proceso denominado OLTP (On Line Transaction Processing o Procesamiento de transacciones en línea) 1.1.2 Objetivos y Características Una base de datos que soportar procesos OLTP, ha sido diseñada para maximizar la capacidad transaccional de sus datos y las conexiones concurrentes de varios usuarios. Generalmente tiene cientos de tablas y la gran mayoría están normalizadas. Su diseño esta orientado hacia los procesos operacionales de la empresa. Su estructura es estable y sus tablas principales están en constantes y continuo cambio. Si bien a través de sentencias SQL se pueden realizar consultas sobre la base de datos, en la misma hay información oculta de gran importancia para la toma de decisión de las organizaciones. Para extraer dicha información es necesario emplear otras técnicas. 1.1.3 Sistemas OLTP En estos tiempos tan competitivos las organizaciones intentan sacar la mayor utilidad de la información disponible en sus bases de datos. Pero, el hecho de que se cuente con un gran volumen de información o con millones de registros, no garantiza una buena calidad en la misma. Esto influye directamente en la toma de decisiones. Algunos de los principales inconvenientes que presentan las bases de datos son: Información proveniente de varias fuentes. Por lo general no existe una base de datos única donde se pueda consultar sobre los distintos temas, sino que se cuenta con varios sistemas independientes en las distintas áreas (Por ejemplo: sistema de facturación, contaduría, stock) Datos que se representan de distinta formato o codificación (por ejemplo: el estado civil, el sexo o fecha) Datos históricos que a menudo son resguardados, comprimidos y sacados del sistema OLTP. El nivel de detalle en los sistemas OLTP no suele ser apropiado para permitir a los administradores de las organizaciones, establecer decisiones estratégicas. 1.2 Data Warehouse 1.2.1 Definición Podríamos empezar diciendo que DW es una combinación de hardware de alto rendimiento y capacidad de almacenamiento que combinado con varios software especializados, consolida, integra y analiza datos provenientes de distintas fuentes. Esto, con el objetivo de apoyar y mejorar la toma de decisión de los administradores en los niveles estratégicos de las empresas u organizaciones. Podemos citar una definición dada por W: H. Inmon “Data Warehouse es un conjunto de datos integrado orientados a una materia, que varían con el tiempo y que no son transitorios, los cuales soportan el proceso de toma de decisiones de una administración” 1.2.2 Características y Objetivos Si analizamos esta frase dada en el párrafo anterior, podemos describir en profundidad las siguientes características: Integrado: Los datos tomados de los diferentes sistemas de la organización y/o fuentes externas, son recopilados y almacenados de forma coherente. En una aplicación el sexo de una persona podría codificarse como “M” (masculino) y “F” (femenino), y en otra simplemente como “0” y “1”. Cuando los datos fluyen de un entorno OLTP a una codificación consistente. Por almacenado como “M” y “F”. ejemplo DW, asumen una sexo siempre será Orientado: Los datos en un DW están orientados para consultar de modo eficiente la información relevante relacionada a la operatoria de la organización. Los sistemas OLTP solo poseen información de las áreas para la cual fueron creados (Contaduría, Stock, Facturación, etc.). Variables en el tiempo (histórico y no volátil): Los datos en una DW siempre son agregados y nunca removidos. Tampoco son actualizados. Esto permite analizar los temas y ver a la organización a través del tiempo. Podemos decir que el objetivo de una DW es convertir datos en información. En este proceso se toman datos de distintas fuentes, se los consolida y almacena en una DW. A partir de aquí de crean subconjuntos de esta para permitir su utilización a los usuarios finales y así satisfacer sus necesidades específicas. La utilización de una DW exige a los usuarios la necesidad de disponer de la información al momento de la toma de decisión. Esta base de información debe generar una demanda atractiva y los usuarios deben percibir su utilidad. 1.2.3 Arquitectura de una Data Warehouse La arquitectura de un DW esta integrada por los siguientes componentes (Figura 1): Middle Ware Figura 1. Arquitectura de una Data Warehouse. Fuentes internas (OLTP): Son las bases de datos de los distintos sistemas de gestión que operan en la companía o entidad, en los cuales se reflejan las transacciones día a día. Fuentes externas: Son los datos que deben ser obtenidos fuera de la empresa u organización. Consolidación (ETL): Es el proceso que se encarga de producir el cambio de OLTP a OLAP (On Line Analytical Process). Consolida, sumariza, disgrega y transforma los datos de las aplicaciones que no están integradas. Este procedimiento se compone por tres etapas: Extracción, Transformación y Carga (Load) (Figura 2): Extracción: de datos de las distintas bases de datos operacionales. Transformación: de los datos en un formato consistente de forma que se puedan insertar en el DW. Carga: toma la masa de datos transformados y los transfiere a la DW (proceso Batch). Esto se repite frecuentemente a medida que los sistemas OLPT y las fuentes externas van incrementando su volumen (se refresca la DW con la nueva información) Figura 2. Extracción, Transformación y Transporte de datos Middleware: Es un software que se encuentra entre el cliente y en el servidor de comunicaciones. Su función es la de actuar como traductor entre las distintas tecnologías, permitiendo que los sistemas trabajen juntos aunque no estén preparados para hacerlo. Algunas características son: Poseer más de una máquina virtual para soportar diferentes entornos de desarrollo. Gestiona la comunicación con la DW. Controla los procesos Batch y la concurrencia. Contienen una biblioteca de controladores de bases de datos para acceder a las distintas fuentes, como por ejemplo: Oracle, Sybase, Informix, etc. Data Mart Son subconjuntos de datos que se crean una vez que la base de información (DW) ya esta totalmente integrada. El objetivo de un Data Mart es satisfacer la necesidad de información a un grupo, sección o área específica dentro de la organización. Se caracterizan por poseer menos datos detallados y más información agregada. Aplicaciones EIS (Executive Information System): Son herramientas que proveen información estratégica para la toma de decisión a los directivos de las organizaciones. Esto lo realizan mediante reportes, gráficos y tableros de control multidimensionales. DDS (Decisión Support System): Suma a las posibilidades del EIS reglas de decisión y análisis. Podemos encontrar también aplicaciones como sistemas expertos o sistemas de simulación. 1.2.4 Sistemas OLAP Son aplicaciones que generan información táctica y estratégica que sirve a la organización como soporte para la toma de decisiones. A diferencia de los sistemas OLTP que utilizan bases de datos relacionales u otros archivos, OLAP (On Line Analytical Process – Procesamiento Analítico En Línea) logra su máximo rendimiento y flexibilidad trabajando sobre una data warehouse. Presentan al usuario un esquema multidimensional en el cual se pueden realizar consultas seleccionando atributos sobre el tema en particular que se trate. Esto desconociendo totalmente la estructura interna del DW. La aplicación OLAP se encarga de generar la consulta y enviarla al gestor, por ejemplo, a través de una sentencia Select. 1.2.5 Base de datos multidimensional Las bases de datos multidimensionales, proveen una estructura que permite, a través de la creación y consulta a una estructura de datos determinada (cubo multidimensional, Business Model, etc), tener acceso flexible a los datos, para explorar y analizar sus relaciones, y consiguientes resultados. Las bases de datos multidimensionales implican tres variantes posibles de modelamiento, que permiten realizar consultas de soporte de decisión: • Esquema en Estrella (Star Scheme). • Esquema Copo de Nieve (Snowflake Scheme). • Esquema Constelación o copo de estrellas (Starflake Scheme). Los mencionados esquemas pueden ser implementados de diversas maneras, que, independientemente al tipo de arquitectura, requieren que toda la estructura de datos este desnormalizada o semi desnormalizada, para evitar desarrollar uniones (Join) complejas para acceder a la información, con el fin de agilizar la ejecución de consultas. Los diferentes tipos de implementación son los siguientes: • Relacional — ROLAP. • Multidimensional — MOLAP. • Híbrido — HOLAP. La estructura multidimensional consta de una tabla de sucesos o hechos (por ejemplo ventas), cuyos atributos describen la actividad que es el objeto del análisis, y varias tablas llamadas dimensiones. Los atributos de cada dimensión tienen el objetivo de aportar información particular sobre cada ítem de la tabla de hechos, por ejemplo, lugar donde se realizan las ventas, fecha o periodo realizadas, sucursal, etc. (Figura 3) Figura 3. Estructura multidimensional en que fueron Estas vistas multidimensionales son llamadas “Cubos” y pueden ser construidos de distintas formas: ROLAP Se implementa sobre tecnología relacional. Utiliza un esquema en estrella cuyo nodo central es la tabla de hechos y los extremos o puntas, las dimensiones. Existen variantes del esquema en estrella como ser las constelaciones de hechos o copos de nieve. Con esta metodología, cuando la consulta es realizada se genera el cubo correspondiente. Esta alternativa de generación de cubos se utiliza cuando no se posee gran capacidad de almacenamiento. Al generarse los cubos en tiempo de ejecución su rendimiento es pobre MOLAP Tiene la estructura de arrays multidimensionales. Los cubos son generados y almacenados antes de ser consultados. Los datos son tomados de la tabla de hechos y las dimensiones son calculadas y almacenadas. Si se dispone de suficiente espacio en disco, esta alternativa aumenta el rendimiento y mejora los tiempos de respuesta (Figura 4) HOLAP Es una combinación de las técnicas ROLAP y MOLAP. Los cubos frecuentemente consultados son generados y almacenados. Cualquier otra consulta debe generarse en tiempo de ejecución Figura 4. Modelo ROLAP y MOLAP 1.2.6 Diferencias entre OLTP y OLAP Las principales diferencias entre un sistema OLTP y OLAP, se expresan en la Tabla 1. Sistemas OLTP Datos actuales. Volumen de datos acotados. Actualización continua. Actualizacion On Line. Atomizado. Un registro a la vez. Orientado a la Aplicación. Orientado a la Operación. Muchos usuarios concurrentes. Consultas predefinidas y actualizables. Requerimientos de respuesta inmediata. Datos con relaciones. Baja Redundancia. Sistemas OLAP Datos actuales más históricos. Gran Volumen de datos. Estable. Actualización Batch. Sumarizado. Varios registros a la vez. Orientado al sujeto. Orientado a la Información Estratégica. Pocos usuarios concurrentes. Consultas complejas no anticipadas (ad-hoc) Los tiempos de respuesta no son críticos. Datos Multidimensionales. Alta Redundancia. Tabla 1. Principales diferencian entra OLTP y OLAP