Download Tema 5: Integración de Datos Distribuidos
Document related concepts
Transcript
Tema 5: Integración de Datos Distribuidos Integración de Datos Distribuidos El problema de la integración de datos distribuidos consiste en integrar datos de fuentes distribuidas, heterogéneas y posiblemente autónomas. Heterogéneas Distribuidas Autónomas Poco estructuradas Sistema De Integración Tipos de Heterogeneidad (1) Heterogeneidad a múltiples niveles: Nivel de estructuración: Información estructurada (bases de datos), Información no estructurada y semi-estructurada (documentos, sitios web). Información en formatos “legibles para humanos” pero no para máquinas. Ejemplo: HTML. Modelo de datos (e.g. Modelo relacional vs Modelo jerárquico). Plataforma software (e.g. MySQL vs Postgress). Convenciones de sintaxis (“Calle Alcalá, nº 32”, “C\Alcalá, 32 ”). Convenciones semánticas. Taxonomías: Una fuente clasifica ofertas de empleo de informática y telecomunicaciones en categoría “Informática y Teleco”. Otra las separa en dos categorías: “Informática”, “Teleco”. Otra agrupa todas las de ingeniería en “Ingenieros”. Otra tiene una categoría “Telemática” que tiene ofertas para ambos. Tipos de Heterogeneidad (y 2) Heterogeneidad a múltiples niveles: Diferencias de granularidad. Heterogeneidad de esquema. Ejemplo: representación de información de criminales y tipos de delito: Una fuente tiene una tabla con un campo Una BD tiene una tabla CRIMINALES y una tabla DELITOS con una relación M:N. Otra BD tiene una única tabla CRIMINALES que indica el tipo o tipos de delito. Otra BD tiene en una tabla distinta a los criminales de cada tipo de delito: tablas ASESINOS, LADRONES, ESTAFADORES, etc. Etc. Clasificación Sistemas Integración de Datos Criterio 1: Materializados vs Virtuales Datos se copian a un gran almacén central (materializado) o se mantienen en las fuentes y sistema hace de intermediario (virtual). Criterio 2: Tipo de información que tratan: Información no estructurada: Información estructurada: Motores de recuperación y clasificación automática de información. Materializado. Útiles en Gestión del conocimiento, portales, etc. Base de datos universal (no integración). Data Warehouse (almacén de datos). Materializado. Bases de Datos Federadas. Virtual. Información estructurada y semi-estructurada: Sistemas EII: Enterprise Information Integration. Virtual Base de Datos Universal Se construye un nuevo sistema integrando todos los datos -> Modelo de datos único compartido por todas las aplicaciones. Las fuentes de información originales desaparecen. Problemas: Hay que rehacer todas las aplicaciones Hay que volver a formar a los usuarios Requiere un caro y crítico servidor central No es válido para fuentes autónomas Difícil o imposible que un único modelo tenga en cuenta las necesidades de todas las aplicaciones. Te obliga a usar aplicaciones desarrolladas ad-hoc, en lugar de paquetes comerciales (no pueden “saberse” tu modelo). Conclusión: inviable muchas veces. Cuando es viable, largo, costoso y con problemas graves inherentes como enfoque global. Puede ser una opción para una parte del problema. Data Warehouse (1) Los datos de las fuentes se copian periódicamente a un almacén central. Pueden copiarse todos los datos o sólo un subconjunto. Para disminuir la carga de las actualizaciones, las fuentes pueden enviar sólo los cambios producidos. Requiere dicho soporte por parte de las fuentes. Ventajas: No es necesario rehacer aplicaciones ni volver a formar a los usuarios Eficiente Data Warehouse (2) Problemas: Datos no actualizados Puede no ser posible o muy ineficiente con fuentes autónomas Sistema de integración “pesado” Organizaciones quieren mantener el control sobre sus datos. No es factible hacer copias masivas periódicas. Contiene gran cantidad de datos. Conclusión: muy útil para informes, tratamiento de históricos, análisis de tendencias, etc. Menos útil en otros ámbitos. En informes/análisis de tendencias, a menudo no es importante tiempo real, pero sí lo es mucho la eficiencia (a veces, los procesos son muy pesados). Data Warehouse (y 3) Arquitectura típica de una instalación Data Warehouse: Herramienta ETL (Extraction, Transformation and Load) para extraer la información de las bases de datos origen, transformarla de la forma deseada y volcarla en el repositorio central. Base de datos OLAP. Base de datos especial optimizada para consultas que involucren grandes cantidades de datos. Herramienta de generación de informes. Permite crear de forma sencilla informes complejos que utilicen la información almacenada en el repositorio central. Sistemas EII (1) La capa lógica de las bases de datos fue creada para aislar a los programas de aplicación de la necesidad de ocuparse de la lógica de combinación de datos: En su lugar, se utiliza una capa específica, independiente de la aplicación. Ventajas: No es necesario codificar cada operación de combinación de datos (simplemente escribimos una consulta SQL). El sistema implementa las principales operaciones y se ocupa de la optimización de consultas. El sistema se ocupa de las políticas de control de acceso a datos. Independencia lógica. El sistema se ocupa de tratar condiciones especiales: e.g. swapping a disco si la consulta devuelve muchas tuplas, evitando desbordamientos. … Sistemas EII (2) En los entornos distribuidos y heterogéneos de hoy, las aplicaciones (ad-hoc o EAI) se ven forzadas a combinar los datos por sí mismas (como en los “viejos tiempos”). Implementar operaciones de combinación de datos… Optimización. Condiciones especiales. … Además, los nuevos entornos necesitan aún más de la capa de combinación de datos: Heterogeneidad: e.g. combinar datos en modelo relacional con datos en modelo XML. Distribución: consideraciones de eficiencia llevan a la necesidad de técnicas específicas (e.g. cache). Sistemas EII (3) EII: Enterprise Information Integration. Datos permanecen en las fuentes y se define un esquema “virtual” de integración. Cuando el sistema recibe una consulta, la subdivide en consultas para los esquemas de las fuentes origen. El sistema EII combina los resultados de las fuentes y devuelve la respuesta unificada de acuerdo al esquema global. Pueden tratar fuentes como bases de datos, servicios web, XML, CSV, aplicaciones paquetizadas. A veces, incluso fuentes web (mediante aplicaciones de automatización web). Sistemas EII (4): Ejemplo APLICACIÓN USUARIO DATOS R SELECT * FROM R WHERE TITULO=‘Moby Dick’ IVEL LÓGICO DATOS R=(DATOS A)∞(DATOS B) R={TITULO,AUTOR,PRECIO ,PUTOS} IVEL FÍSICO SELECT * FROM A WHERE TITULO=‘Moby Dick’ DATOS A DATOS B SELECT * FROM B WHERE TITULO=‘Moby Dick’ SOAP HTTP EVOLTORIO1 EVOLTORIO 2 XML A={TITULO,AUTOR,PRECIO} B={TITULO,AUTOR,PUTOS} Sistemas EII (5) En ocasiones, pueden permitir inserciones: En fuentes que implementen Two-Phase Commit. Problema de inserciones sobre vistas: algunas vistas “pierden información”, con lo cuál no es factible hacer inserciones. Ventajas: Datos en tiempo real. Válidos para fuentes autónomas. Sistema de integración “ligero”. Tratan fuentes semi-estructuradas. Inconveniente: Menos eficiente. Puede usar precargas para las fuentes que se desee. En realidad, contiene “lógicamente” al esquema Data Warehouse, aunque los paquetes software actuales no siempre proporcionen esta funcionalidad. Sistemas EII (6) Tareas principales: Reformulación y ejecución de consultas. Traducir consulta general sobre el esquema global en una lista de subconsultas sobre las fuentes. Optimización de consultas. Tener en cuenta retardos de red, trabajar con poca información de costes de las fuentes, etc. Diversidad de formatos. Heterogeneidad de taxonomías, convenciones semánticas, esquema, etc. Heterogeneidad en las capacidades de consulta de las fuentes (e.g. un formulario web). Acceso y recuperación de datos puede ser complejo (e.g. traducción de consulta SQL a invocación SOAP). Sistemas EII (y 7): Arquitectura APP1 APP2 SOAP JDBC Web Services APP3 APP4 ODBC JDBC XQUERY ODBC XQuery ACCESS INTERFACES SQL / XQuery / XPath Full Text Result Sets / XML EII SYSTEM Metadata Repository Query Analyzer and Decomposer Plan Generator Caché Optimizer Execution Engine Wrapper Creator Database Wrapper Proprietary Wrappers JDBC/ODBC Web Services Wrapper Proprietary APIS and Protocols SOAP Web Wrapper HTTP HTML JDBC/ODBC Propietary Interface Web Services http Local Databases and Data Warehouses Backoffice and Propietary Applications Partner´s Applications External Websites Graphical Tool AI - Based Web Wrapper Generation Valoración EII (1) Idea análoga al EAI, pero con la integración de datos. Se crea una sola vez un wrapper para cada fuente Para los tipos de fuentes más comunes, el EII permitirá que el wrapper se cree sólo mediante configuración. Después, cada necesidad de combinación de datos se realiza de forma declarativa, sin programar: Se requerirá sólo definir una vista en el lenguaje del sistema EII (SQL, Xquery, …). Valoración EII (2) Ventajas similares al EAI pero en el contexto de integración de datos: Crear un nuevo proceso de combinación de datos no implica programar El sistema se encarga de tareas complejas como la reformulación de consultas, el swapping de conjuntos de resultados muy grandes su optimización o la interacción con las fuentes. La respuesta a cambios es más rápida. Independencia Lógica: cambios en las fuentes no obligan a modificar los programas de aplicación. Valoración EII (y 3) Todos los procesos de combinación de datos son gestionados desde un único punto: Facilidad de administración y obtención de informes. Facilita la implantación de políticas globales: autenticación, seguridad, etc. Las herramientas traen ya implementados wrappers configurables, para los tipos principales de fuentes: Bases de datos. Servicios Web. Fuentes XML Aplicaciones típicas de fabricantes populares: ERPs, CRMs, etc. …