Story 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. …