7.1 Introducción a los sistemas de
integración de datos distribuidos
Integración de Datos Distribuidos
n
El problema de la integración de datos distribuidos
consiste en integrar datos de fuentes distribuidas,
heterogéneas y posiblemente autónomas.
Heterogéneas
Autónomas Distribuidas
Poco estructuradas
Ámbito (1)
n
Mundo actual -> Grandes volúmenes de información
accesibles:
n Explosión de informatización y herramientas de creación y
compartición de contenidos
n Internet: WWW es la norma de facto para compartición de
información
n
Heterogeneidad interna:
n 2000 principales empresas USA tienen más de 15
plataformas diferentes y de 8 arquitecturas de
almacenamiento con esquemas y convenciones semánticas incompatibles (Gartner Group).
n
Heterogeneidad externa:
n Internet tiene multitud de fuentes de información útiles. n Información proveniente de otras organizaciones (socios,
Ámbito (2)
n
Heterogeneidad a múltiples niveles:
n Nivel de estructuración:
n Información estructurada (bases de datos),
n Información no estructurada y semi-estructurada (documentos,
sitios web).
n Información en formatos “legibles para humanos” pero no para
máquinas. Ejemplo: HTML.
n Modelo de datos (e.g. Modelo relacional vs Modelo
jerárquico).
n Plataforma software (e.g. MySQL vs Postgress).
n Convenciones de sintaxis (“Calle Alcalá, nº 32”, “C\Alcalá, 32
”).
n Convenciones semánticas. Taxonomías:
n Una fuente clasifica ofertas de empleo de informática y
telecomunicaciones en categoría “Informática y Teleco”.
n Otra las separa en dos categorías: “Informática”, “Teleco”. n Otra agrupa todas las de ingeniería en “Ingenieros”.
n Otra tiene una categoría “Telemática” que tiene ofertas para
Ámbito (y 3)
n
Heterogeneidad a múltiples niveles:
n
Diferencias de granularidad.
n Una fuente tiene una tabla con un campo
n
Heterogeneidad de esquema. Ejemplo:
representación de información de criminales y
tipos de delito:
n Una BD tiene una tabla CRIMINALES y una tabla
DELITOS con una relación M:N.
n Otra BD tiene una única tabla CRIMINALES que indica el
tipo o tipos de delito.
n Otra BD tiene en una tabla distinta a los criminales de
cada tipo de delito: tablas ASESINOS, LADRONES, ESTAFADORES, etc.
Información No Estructurada
n Sólo puede ser consultada
mediante consultas imprecisas:
n Granularidad de documento
(estructura de presentación, no de contenido)
n Búsquedas por palabra
clave, combinadas mediante operadores booleanos.
n En información
n En metainformación
Información Estructurada (1)
n Datos presentan un esquema
rígido:
n Define tipos de datos para
los elementos atómicos
n Define su organización
interna (como se combinan los elementos)
n Define las restricciones a
aplicar
n Definido por separado de
los datos
n Ejemplos típicos: Bases de
Datos
n Modelo relacional, orientado
Información Estructurada (y 2)
n
Admiten consultas precisas:
n Granularidad de elemento de información
n Pueden manejar la información del esquema para la
construcción de condiciones
n Ejemplos típicos: los lenguajes de consulta sobre bases de
Información Semi-estructurada (1)
n
Presentan algún tipo de esquema, pero:
n No es conocido de antemano.
n Es relativamente grande y puede cambiar con frecuencia y
sin previo aviso.
n Se admiten ciertas violaciones del esquema. n No hay tipado fuerte.
n
Además puede ocurrir:
n El modo de acceso/almacenamiento no es “consciente” del
esquema.
n Formato de representación no contiene información sobre el
esquema o la semántica de sus contenidos (e.g. HTML).
n Puede haber partes irrelevantes y/o cambiantes n Las capacidades de consulta pueden ser limitadas
Información Semi-estructurada (3)
Página html (Publicidad, logos...) Lista de productos obtenidos (libros) Diferencia s en el conjunto de datos para un item determinadoInformación Semi-estructurada (y 4)
n
Ejemplos típicos:
n Documentos XML (esquema no rígido)
n Resultado de una consulta en una fuente web.
n Cualquier “lista” en formato imprimible (Word, PDF, etc.)
n Catálogos de productos n Listas de personal
n Etc.
n
Lo ideal sería poder tratar esta información de la
manera más similar posible a como si fuese
estructurada:
n Enfoques que “aprenden” la estructura de la información
partiendo de algunos ejemplos.
n Enfoques basados en proporcionar normas para la
Clasificación Sistemas Integración de Datos
n Criterio 1: Materializados vs Virtualesn Criterio 2: Tipo de información y tipo de consultas que tratan:
n Consultas imprecisas sobre información no estructurada (no los
veremos):
n Motores de recuperación y clasificación automática de información.
Materializado.
n Metabúsqueda. Virtual.
n Útiles en Gestión del conocimiento, portales, etc.
n Consultas precisas sobre información estructurada:
n Base de Datos Universal. Materializado.
n Data Warehouse (almacén de datos). Materializado. n Bases de Datos Federadas. Virtual.
n Consultas precisas sobre información estructurada y
semi-estructurada:
Sistemas Materializados
n
Los datos de las fuentes se copian periódicamente de
forma masiva al sistema de integración.
n
Consultas eficientes:
n Datos son locales al sistema de integración.
n
Datos no actualizados.
n La información se carga periódicamente.
n
Es necesario construir un gran repositorio central:
largo y costoso de construir y mantener
n
No siempre es posible con fuentes autónomas:
n Organizaciones quieren mantener el control sobre cómo se
consulta su información (e.g. Vendedores de contenidos on-line, socios B2B).
n No es factible proporcionar copias periódicas completas de la
Sistemas Virtuales (1)
n
Los datos permanecen en las fuentes.
n
Cuando se recibe una consulta sobre el sistema de
integración:
n La consulta se reformula en una serie de subconsultas sobre
las fuentes,
n El sistema ejecuta las subconsultas sobre las fuentes en
tiempo real, recogiendo de cada fuente los datos precisos para contestar la consulta del usuario.
n Integra los sub-resultados obtenidos.
Sistemas Virtuales (y 2)
n
Datos actualizados.
n Se recogen los datos en tiempo real de las fuentes.
n
El Sistema de Integración es “ligero” ya que no
maneja por si mismo grandes cantidades de datos.
n
Más adecuado con fuentes autónomas.
n Las fuentes mantienen el control sobre cómo se consulta su
información.
n Se pueden aprovechar los interfaces de consulta ya
existentes y no hay cargas masivas.
n
Menos eficiente:
n Hay que transmitir los datos por la red desde las fuentes en
el momento de la consulta.
n Pueden usarse sistemas de cache para materializar las
fuentes no autónomas y que no precisemos actualizadas en tiempo real.
Base de Datos Universal
n
Se construye un nuevo sistema integrando todos los
datos.
n
Las fuentes de información originales desaparecen.
nLecturas y Escrituras se realizan sobre el sistema de
integración.
n
Ventaja: Eficiente
n
Problemas:
n Hay que rehacer todas las aplicaciones n Hay que volver a formar a los usuarios n Requiere un caro y crítico servidor central n No es válido para fuentes autónomas
n Intrusivo.
n Conclusión: inviable muchas veces. Cuando es viable, largo y
Data Warehouse (1)
n Los datos de las fuentes se copian periódicamente a un almacén
central.
n Pueden copiarse todos los datos o sólo un subconjunto. n Para disminuir la carga de las actualizaciones, las fuentes
pueden enviar sólo los cambios producidos.
n Requiere dicho soporte por parte de las fuentes.
n Ventajas:
n No es necesario rehacer aplicaciones ni volver a formar a los
usuarios
Data Warehouse (y 2)
n
Problemas:
n Datos no actualizados
n Puede no ser posible o muy ineficiente con fuentes
autónomas
n Organizaciones quieren mantener el control sobre sus datos. n No es factible hacer copias masivas periódicas.
n Sistema de integración “pesado”
n Contiene gran cantidad de datos.
n
Conclusión: muy bueno para obtención de informes,
tratamiento de históricos, análisis de tendencias, etc.
Menos útil en otros ámbitos.
n 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).
Sistemas EII (1)
n EII: Enterprise Information Integration.
n Similares conceptualmente a las bases de datos federadas.
n Bases de datos federadas se limitan a fuentes que sean bases de
datos.
n Pueden tratar otras fuentes que no sean BDs: Servicios Web,
XML, aplicaciones populares …
n Algunos pueden tratar fuentes semi-estructuradas “casi”
como si fuesen estructuradas.
n A veces, incluso fuentes web no “etiquetadas” (sólo “legibles
para humanos”), mediante técnicas de aprendizaje.
n Datos permanecen en las fuentes y se define un esquema
“virtual” de integración.
n Cuando el sistema recibe una consulta, la subdivide en
consultas para los esquemas de las bases de datos origen.
n El sistema EII combina los resultados de las fuentes y
devuelve la respuesta unificada de acuerdo al esquema global.
HTTP HTTP
HTML HTML
SELECT * FROM R WHERE TITULO=‘Moby Dick’
SELECT * FROM B WHERE TITULO=‘Moby Dick’
SELECT * FROM A WHERE TITULO=‘Moby Dick’ DATOS R DATOS A DATOS B NIVEL FÍSICO NIVEL LÓGICO ENVOLTORIO1 ENVOLTORIO 2 A={TITULO,AUTOR,PRECIO} B={TITULO,AUTOR,PUNTOS} R={TITULO,AUTOR,PRECIO ,PUNTOS} APLICACIÓN USUARIO
DATOS R=(DATOS A)∞(DATOS B)
Sistemas EII (3)
n En ocasiones, pueden permitir inserciones:
n En fuentes que implementen Two-Phase Commit.
n Problema de inserciones sobre vistas: algunas vistas “pierden
información”, con lo cuál no es factible hacer inserciones sobre ellas.
n Pueden incluir funcionalidades de consulta imprecisa
combinadas con las de consulta precisa.
n Ventajas:
n Datos en tiempo real.
n Válidos para fuentes autónomas. n Sistema de integración “ligero”. n Tratan fuentes semi-estructuradas.
n Inconveniente: Menos eficiente.
n 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 (y 4)
n
Tareas principales:
n Reformulación y ejecución de consultas. Traducir consulta
general sobre el esquema global en una lista de subconsultas sobre las fuentes.
n Optimización de consultas. Tener en cuenta retardos de
red, trabajar con poca información de costes de las fuentes, etc.
n Diversidad de formatos. Heterogeneidad de taxonomías,
convenciones semánticas, esquema, etc.
n Mayor flexibilidad en manejo de esquema (datos
semi-estructurados).
n Mayor número de fuentes y más autónomas.
n Heterogeneidad en las capacidades de consulta de las
fuentes (e.g. un formulario web).
n Acceso y recuperación de datos puede ser complejo (e.g.
Arquitectura EII (1)
EII SYSTEM Caché
Execution Engine Optimizer Plan Generator Query Analyzer and Decomposer Propietary Interface Proprietary Wrappers Web Services Web Services Wrapper http Web Wrapper External Websites Partner´s Applications Backoffice and Propietary Applications Local Databases and Data Warehouses J DBC/ODBC Database Wrapper JDBC/ODBC Proprietary
APIS and Protocols SOAP HTTP HTML
APP1 APP2 APP3 APP4
ACCESS INTERFACES
Web
Services J DBC ODBC XQuery
SQL / XQuery / XPath Full Text Result Sets / XML SOAP J DBC ODBC XQUERY
Graphical Tool AI - Based Web Wrapper Generation Metadata Repository Wrapper Creator
Arquitectura EII (2)
n
Envoltorios (capa física):
n Proporcionan una visión de las relaciones de las fuentes
(relaciones base) de acuerdo a un modelo común (p.e. Relacional con extensiones semi-estructuradas).
n Suelen tratar al menos:
n Bases de Datos. n Fuentes XML. n Web Services.
n Algunos incorporan mecanismos de generación automática
de wrappers para fuentes web convencionales (no etiquetadas).
Arquitectura EII (3)
n
Capa Lógica:
n Generador de planes de consulta:
n Descomposición de consulta global en subconsultas y
determinación de las acciones de recombinación necesarias con los sub-resultados obtenidos.
n Debe tener en cuenta que las fuentes pueden tener
capacidades de consulta limitadas.
n Optimizador:
n Escoge el plan de ejecución más óptimo en función del número
de resultados esperado de cada fuente, los retardos de red, etc.
n Motor de ejecución
n Se encarga ejecutar el plan de consulta escogido:
n Ejecutar sub-consultas (en paralelo cuando sea posible). n Combinar sub-resultados.
Arquitectura EII (4)
n
Capa de aplicación:
n Sistema EII ofrece como interfaz un lenguaje para consultas
precisas, que puede incluir ciertas peculiaridades para fuentes semi-estructuradas e incluso no estructuradas.
n Variantes de SQL. n XQuery.
n Normalmente es posible acceder al sistema EII de la misma
forma que si fuese una BD convencional:
n JDBC. n ODBC.
n También es habitual que ofrezca algún tipo de interfaz Web
Service.
n Notar que puede ser útil que un sistema EII sea fuente de
Arquitectura EII (5)
n
Idea análoga al EAI, pero con la integración
de datos.
n
Se crea una sola vez un wrapper para cada
fuente
n
Para los tipos de fuentes más comunes, el EII
permitirá que el wrapper se cree sólo mediante
configuración.
n
Después, cada necesidad de combinación de
datos se realiza de forma declarativa, sin
programar:
n
Se requerirá sólo definir una vista en el lenguaje
del sistema EII (SQL, Xquery, …).
Arquitectura EII (6)
n
Ventajas similares al EAI pero en el contexto
de integración de datos:
n
Crear un nuevo proceso de combinación de datos
no implica programar
n
El sistema se encarga de tareas complejas como
la reformulación de consultas, su optimización o la
interacción con las fuentes.
n
La respuesta a cambios es mucho más rápida.
n
No es necesario escribir cada vez código ad-hoc
para acceder a cada fuente de datos.
Arquitectura EII (y 7)
n Todos los procesos de combinación de datos son
gestionados de la misma forma y desde un único punto:
n Facilidad de administración y obtención de informes.
n Facilita la implantación de políticas globales: autenticación,
seguridad, etc.
n Las herramientas traen ya implementados wrappers
configurables, para los tipos principales de fuentes:
n Bases de datos. n Servicios Web. n Fuentes XML
n Aplicaciones típicas de fabricantes populares: ERPs, CRMs, etc.
n Algunas incorporan sistemas de aprendizaje