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