55
1 Agenda Sistemas de Integración

1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

Embed Size (px)

Citation preview

Page 1: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

1

Agenda

Sistemas de Integración

Page 2: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

2

Integración de Datos

Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso unificado de los datos.

Page 3: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

3

Integración de Datos

Es el problema de ofrecer: Acceso (consultar y eventualmente actualizar) uniforme (transparente a los usuarios) a múltiples (aún 2 es un problema!) fuentes de datos (no únicamente bases de

datos) autónomas (no afecta la conducta de las

fuentes de datos) heterogéneos (diferentes modelos de datos y

esquemas) estructurados (al menos semi-estructurados)

Page 4: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

4

ReviewsSh ipp ingO rdersInven toryBooks

m ybooks .com M edia ted S chem a

W es t

...

F edEx

W AN

a lt.books .re v iews

In te rne tIn te rne t In te rne t

UPS

Eas t O rde rs Cus tome rRev iews

NYTimes

...

Mo rgan-Kaufman

P rentic e -Ha ll

Integración de Datos

Acceso transparente a múltiples fuentes de datos heterogéneas

Page 5: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

5

ReviewsSh ipp ingO rdersInven toryBooks

m ybooks .com M edia ted S chem a

W es t

...

F edEx

W AN

a lt.books .re v iews

In te rne tIn te rne t In te rne t

UPS

Eas t O rde rs Cus tome rRev iews

NYTimes

...

Mo rgan-Kaufman

P rentic e -Ha ll

Sistema Mediador

a) Listar los libros de niños disponibles (usados/nuevos), el costo de su envio, la opinión de los evaluadores y el tiempo estimado para el envío.

b) Identificar las fuentes de datos que mantienen datos sobre libros que pueden ser enviados hacia Venezuela a traves de DHL?

Cómo un sistema mediador puede responder esta pregunta?Diferencia entre ambas consultas?

Page 6: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

6

Arquitectura de un sistema de integración de datos

Adaptador Adaptador

Máquina de Ejecución de Consultas

Reformulador de la consulta

Optimizador dela consulta

Consulta en el sistema mediado

Consulta en la unión de los esquemas de las fuentes

Plan de ejecución en las fuentes

Consulta en los esquema de las fuentes

Consulta en las fuentes

Esquema de datos local

Esquema de datos global

Page 7: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

7

Integración de datos-Arquitecturas Arquitecturas Materializadas

Datos físicamente integrados. Actualizaciones en las fuentes pueden

conducir a desactualizaciones. Actualizaciones de los datos integrados

pueden ser muy costosas. Acceso integrado a los datos integrados

es económico. Confidencialidad en el uso de los datos.

Page 8: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

8

Arquitectura Materializada

Adaptador Adaptador Adaptador

Extractor de Datos

Aplicación

Usuario

DataWareHouse

FD1FDi FDn

Page 9: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

9

Integración de datos-Arquitecturas Arquitecturas Virtuales:

Datos lógicamente integrados. Los datos reales se encuentran en las

fuentes de datos. Acceso integrado a los datos implica acceso

a las fuentes de datos disponibles. Actualizaciones en las fuentes de datos no

afectan al sistema. Acceso integrado a los datos puede ser muy

costoso.

Page 10: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

10

Arquitectura de Mediadores y Adaptadores

AdaptadorAdaptador Adaptador

MediadorMediador

Mediador

Consulta

FD1 FD2FD3

Catálogo

Page 11: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

11

Arquitectura Virtual

Adaptador Adaptador

Máquina de Ejecución de Consultas

Reformulador de la consulta

Optimizador dela consulta

Consulta en el sistema mediado

Consulta en la unión de los esquemas de las fuentes

Plan de ejecución en las fuentes

Consulta en los esquema de las fuentes

Consulta en las fuentes

Esquema de datos local

Esquema de datos global

Mediador

Adaptador

Acceso Transparente a las Fuentes de DatosAcceso Transparente a las Fuentes de Datos

Page 12: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

12

Componente de software que: Muestra una interfaz única a diversas fuentes de datos. Descompone la consulta en subconsultas de acuerdo a

las fuentes de datos disponibles y sus capacidades. Requiere la capacidad de razonar sobre las propiedades

de las fuentes de datos y las respuestas retornadas por ellas!

Identifica un buen plan de ejecución para la consulta en las fuentes de datos seleccionadas.

Evalúa el plan de ejecución seleccionado. Unifica o integra las respuestas obtenidas en las

fuentes de datos.

Mediador-Sistema Virtual

Page 13: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

13

Componente de software que: Encapsula el acceso a una fuente de datos. Toma una consulta en formato propio del mediador, y la

convierte en una consulta que entiende la fuente de datos.

Requiere la capacidad de razonar sobre las propiedades de la fuente de datos y los datos publicados por ellas!

Procesa el resultado producido por la fuente de datos y lo coloca en formato que entiende el mediador.

Procesa consultas sobre las propiedades de los datos publicados sobre las fuentes de datos (metadatos).

Adaptador-Sistema Virtual

Page 14: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

14

Catálogo de un Sistema Mediator

Mantiene: Descripción del contenido de las fuentes de datos. Capacidad de las fuentes de datos. Completitud del contenido de las fuentes de

datos. Propiedades físicas de las fuentes de datos y de la

red. Estadísticas sobre los datos. Equivalencias u otras propiedades entre fuentes

de datos. Requiere capacidad de inferencia!

Page 15: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

15

Algunos Prototipos-Arquitectura de Mediadores y Adaptadores

DISCO(INRIA) Garlic (IBM) HERMES/WebSrcMed (U. Maryland) InfoMaster(Stanford) Information Manifold (AT & T) IRO-DB (Versailles) SIMS, ARIADNE (USC/ISI) The Internet Softbot/ Occam/ Razor/ Tukwila

(UW) TSIMMIS (Stanford), XMAS (UCSD)

Page 16: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

16

Funcionalidad Mediadores y Wrappers.

Descripción de las fuentes de datos: Modelamiento de la completitud de los datos. Modelamiento de las capacidades de

procesamiento de las fuentes de datos. Capacidad de razonamiento sobre datos y

metadatos. Selección de Fuentes de Datos. Optimización de consultas. Ejecución de consultas. Detección de Conflictos estructurales y conflictos

semánticos. Correspondencia de esquemas y reformulación. Correspondencia de entes.

Page 17: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

17

Otros Aspectos a Considerar... Cuántas fuentes de datos se están accediendo? Qué tan autónomas son las fuentes de datos? Qué tanto conocimiento se tiene de las fuentes de

datos? Qué tan estructurados están los datos? Cuando dos respuestas corresponden al mismo ente

del mundo real. Requerimientos de las respuestas:

Precisión. Completitud. Entendible por máquinas/ entendible por humanos. Manejo de inconsistencias. Capacidad de las fuentes de datos. Velocidad.

Asumpción de mundo cerrado vs. asumpción de mundo abierto.

Page 18: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

18

Sistemas de Integración de Datos-Metadatos

Son capaces de ofrecer acceso transparente a las fuentes de datos.

Gran parte de su capacidad se basa en su posibilidad de inferencia.

Page 19: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

19

Tecnologías Relacionadas

Bases de Datos Distribuidas: Fuentes de datos son homogéneas. Usan el mismo

modelo de datos y el mismo esquema. Los datos son distruidos a priori. Fuentes de datos no son autónomos. Similitudes al nivel de optimización de consultas y al

nivel de ejecución.Information retrieval: búsquedas por claves, no semántica.Data mining: descubrimiento de patrones y propiedades de los

datos.Bases de Datos Heterogéneas: usualmente el sistema ofrece

un acceso transparente de los datos publicados por las diferentes fuentes de datos no de los metadatos.

Page 20: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

20

Sistema de Integración

Componentes principales: G: Esquema Global. S: Conjunto de Fuente de Datos. M: correspondencia entre G y S. La respuesta a una pregunta q son

todas las interpretaciones que hacen verdad:

M|= q

Page 21: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

21

Correspondencias entre Esquema Global y Fuentes de Datos

Global as View: el esquema global es definido en función de las fuentes de datos.

Local as View: las fuentes de datos son definidas en función de las estructuras del esquema global.

Page 22: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

22

Mediador-técnicas para definirlo Global as View:

Esquema del mediador corresponde a una vista de los esquemas de las fuentes de datos.

Los atributos de las relaciones del mediador deben estar definidas en los esquemas de las fuentes de datos.

Ventajas: Una consulta en el mediador puede ser fácilmente

expresada en los esquemas de las fuentes de datos. Desventajas:

Cambios en las fuentes de datos pueden implicar cambios en el esquema del mediador.

Page 23: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

23

Global-As-View (GAV)En un sistema de integración I=<G,S,M> con

GAV, las correspondencias en M asocian a cada elemento g en G una consulta qS sobre S.

g :- qS Informalmente, cada elemento en el esquema

global se caracteriza por una expresión lógica sobre los elementos en S. Especifa como recuperar desde las fuentes de datos, los elementos representados virtualmente esquema global.

Page 24: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

24

Consulta en el Mediador

Select L.CodLibro, L.Estado, E1.Precio, E2.Precio, E2.CodCompania, E3.Evaluacion

From Libro L, Existencia E1, Envio E2, Evaluacion E3

Where (L.CodLibro=E1.CodLibro) AND

(L.Categoria=“ninos”) AND (L.Estado=E1.Estado) AND

(E1.Inventario>0) AND (E2.Origen=“NY”) AND (E2.Destino=“CCS”) AND (E2.Peso=L.Peso)

AND (E3.CodLibro=L.CodLibro)

Page 25: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

25

Global As View-Esquema GlobalLibro(CodLibro,Titulo,Peso,Estatus,Categoria).Existencia(CodCompania,CodLibro,Estatus,Inventario,Preci

o).Envio(CodCompania,Origen,Destino,Peso,Precio).Evaluacion(CodEvaluador,CodLibro,Evaluacion).

Page 26: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

26

Global As ViewLibro(CodLibro,Titulo,Peso,usado,Categoria):- Fd1:Libro(CodLibro,Titulo,Peso,Categoria).Libro(CodLibro,Titulo,Peso,Estatus,Categoria):- Fd2:Libro(CodLibro,Titulo,Peso,Estatus,Categoria). Libro(CodLibro,Titulo,Peso,nuevo,Categoria):- Fd3:Libro(CodLibro,Titulo,Peso,Categoria).

Autor(CodAutor,NombreAutor):- Fd2:Autor(CodAutor,NombreAutor).Escribe(CodLibro,CodAutor):- Fd2:Escribe(CodLibro,CodAutor).

Page 27: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

27

Global As ViewCompania(CodCompania,Nombre,envio):- Fd6: Compania(CodCompania,Nombre).Compania(CodCompania,Nombre,envio):- Fd7: Compania(CodCompania,Nombre).

Existencia(CodCompania,CodLibro,usado,Inventario,Precio):- Fd4: Inventario(CodCompania,CodLibro,Inventario,Precio). Existencia(CodCompania,CodLibro,Estatus,Inventario,Precio):- Fd5:

Inventario(CodCompania,CodLibro,Estatus,Inventario,Precio).

Page 28: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

28

Global As ViewEnvio(CodCompania,Origen,Destino,Peso,Precio):- Fd6: Envio(CodCompania,Origen,Destino,Peso,Precio).Envio(CodCompania,Origen,Destino,Peso,Precio):- Fd7: Envio(CodCompania,Origen,Destino,Peso,Precio).Evaluacion(CodEvaluador,CodLibro,Evaluacion):- Fd10: Evaluacion(CodEvaluador,CodLibro,Evaluacion).Evaluacion(CodEvaluador,CodLibro,Evaluacion):- Fd11: Evaluacion(CodEvaluador,CodLibro,Evaluacion).

Page 29: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

29

Global As ViewLibro(CodLibro,Titulo,Peso,usado,Categoria):- Fd1:Libro(CodLibro,Titulo,Peso,Categoria).

Libro(CodLibro,Titulo,Peso,Estatus,Categoria):-

Fd2:Libro(CodLibro,Titulo,Peso,Estatus,Categoria).

Libro(CodLibro,Titulo,Peso,nuevo,Categoria):- Fd3:Libro(CodLibro,Titulo,Peso,Categoria).

Page 30: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

30

Global As View

Existencia(CodCompania,CodLibro,usado,Inventario,Precio):- Fd4: Inventario(CodCompania,CodLibro,Inventario,Precio).

Existencia(CodCompania,CodLibro,Estatus,Inventario,Precio):- Fd5:

Inventario(CodCompania,CodLibro,Estatus,Inventario,Precio).

Page 31: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

31

Global As ViewEnvio(CodCompania,Origen,Destino,Peso,Precio):- Fd6: Envio(CodCompania,Origen,Destino,Peso,Precio).

Envio(CodCompania,Origen,Destino,Peso,Precio):- Fd7: Envio(CodCompania,Origen,Destino,Peso,Precio).

Evaluacion(CodEvaluador,CodLibro,Evaluacion):- Fd10: Evaluacion(CodEvaluador,CodLibro,Evaluacion).

Evaluacion(CodEvaluador,CodLibro,Evaluacion):- Fd11: Evaluacion(CodEvaluador,CodLibro,Evaluacion).

Page 32: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

32

Reescribiendo consultas Global As ViewSelect L.CodLibro, L.Estado, E1.Precio, E2.Precio,

E2.CodCompania, E3.Evaluacion

From Fd2: Libro L, Fd5: Existencia E1,

Fd7: Envio E2, Fd11: Evaluacion E3

Where (L.CodLibro=E1.CodLibro) AND

(L.Categoria=“ninos”) AND (L.Estado=E1.Estado) AND

(E1.Inventario>0) AND (E2.Origen=“NY”) AND (E2.Destino=“CCS”) AND (E2.Peso=L.Peso) AND

(E3.CodLibro=L.CodLibro)

Page 33: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

33

Cota superior de reescrituras Para una consulta Q con M

descriptores de fuentes, existe O(M^|Q|) posibles enumeraciones.

Page 34: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

34

Mediador-Técnicas de Definición Local As View:

Los esquemas de las fuentes de datos son expresados como vistas de las relaciones en el esquema del mediador.

Ventajas: Las relaciones del mediador pueden tener atributos

que no son definidos por fuentes de datos alguna. Las relaciones del mediador no deben alterarse si

existe algún cambio en las fuentes de datos. Desventajas:

El problema de reescribir el esquema del mediador en función de las fuentes de datos es NP-completo.

Page 35: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

35

Local-As-View (LAV)Dado un sistema de integración I=<G,S,M>

basado en LAV, la correspondencia M asocia a cada elemento en S una consulta sobre los elementos en G.

LAV es un conjunto de afirmaciones, una para cada elemento s en S,

s -> qG Informalmente, cada fuente de datos es

caracterizado por una vista sobre el esquema global.

Si se añade una nueva fuente de datos, se debe añadir una nueva afirmación.

Page 36: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

36

Local-As-View (LAV)Tipos de fuentes de datos:

s:- qG

Fuentes de datos sólidas: Los objetos en s corresponden a un subconjunto de los

elementos que satisfacen qG.

x s(x) -> qG(x) Fuentes de datos completas:

Los objetos en s corresponden a un superconjunto de los elementos que satisfacen qG

x qG(x) -> s(x) Vistas exactas:

x qG(x) <-> s(x)

Page 37: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

37

Enfoques LAV Reescritura basada en vistas:

La consulta se reescribe en función de la definición de las fuentes de datos.

El lenguaje de la consulta y de las descripciones es el mismo.

Respondiendo consultas basadas en vistas: Util cuando la consulta inicial no puede ser reescrita en

una consulta equivalente en función de las descripciones.

Existe la extensión de los datos definidos por las vistas. Unificar las extensiones de las vistas en una respuesta

consistente a la consulta.

Page 38: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

38

Problema de Reformulación de Consultas

Problema: Reformular la consulta sobre relaciones en el esquema mediador en consultas en las relaciones de los esquemas locales.

Dado: Una consulta Q en función de las relaciones del

esquema mediador. Descripciones de las fuentes de datos.

Encontrar una consulta Q' que use solo relaciones de las fuentes de datos, tal que:

Q' Q (es decir, la respuestas son correctas) Q' da todas las posibles respuestas a Q usando

las fuentes de datos disponibles

Page 39: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

39

Problema de Reescritura de Consultas

Q

FD1

FD2

FD3

Q: Consulta esquema integrado

Q’: Consulta en esquema de las Fuentes de datos

Page 40: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

40

Ejemplo de Definición Local As View Fd1:Libro(CodLibro,Titulo,Peso,Categoria)

Libro(CodLibro,Titulo,Peso,Estatus,Categoria), Estatus=“usado”.

Fd2:Libro(CodLibro,Titulo,Peso,Categoria) Libro(CodLibro,Titulo,Peso,Estatus,Categoria).

Fd12: Evaluacion(CodLibro,Titulo,Peso,Categoria,Revision,Estatus)

Libro(CodLibro,Titulo,Peso,Estatus,Categoria), Evaluacion(CodEvaluador,CodLibro,Evaluacion . Fd13:

Venta(CodLibro,Estado,Inventario,Origen,Destino,PrecioLibro,PrecioEnvio, CodCompania,Peso)

Existencia(CodCompania,CodLibro,Estado,Inventario,PrecioLibro), Envio(CodCompania,Origen,Destino,Peso,PrecioEnvio), America(Destino).

Page 41: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

41

Ejemplo de Definición Local As View Fd14:

Suministro(CodLibro,Titulo,Peso,Categoria,Revision,Estatus,Inventario,Origen, Destino, PrecioLibro,PrecioEnvio,CodEvaluador)

Libro(CodLibro,Titulo,Peso,Estatus,Categoria), Evaluacion(CodEvaluador,CodLibro,Evaluacion), Existencia(CodCompania,CodLibro,Estado,Inventario,PrecioLibro), Envio(CodCompania,Origen,Destino,Peso,PrecioEnvio),

America(Destino).

Page 42: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

42

Consulta en el Mediador

Select L.CodLibro, L.Estado, E1.Precio, E2.Precio, E2.CodCompania, E3.Evaluacion

From Libro L, Existencia E1, Envio E2, Evaluacion E3

Where (L.CodLibro=E1.CodLibro) AND

(L.Categoria=“ninos”) AND (L.Estado=E1.Estado) AND

(E1.Inventario>0) AND (E2.Origen=“NY”) AND (E2.Destino=“CCS”) AND (E2.Peso=L.Peso)

AND (E3.CodLibro=L.CodLibro)

Page 43: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

43

Ejemplo de Definición Local As View Fd1:Libro(CodLibro,Titulo,Peso,Categoria)

Libro(CodLibro,Titulo,Peso,Estatus,Categoria), Estatus=“usado”.

Fd2:Libro(CodLibro,Titulo,Peso,Categoria) Libro(CodLibro,Titulo,Peso,Estatus,Categoria).

Fd12: Evaluacion(CodLibro,Titulo,Peso,Categoria,Revision,Estatus)

Libro(CodLibro,Titulo,Peso,Estatus,Categoria), Evaluacion(CodEvaluador,CodLibro,Evaluacion) . Fd13:

Venta(CodLibro,Estado,Inventario,Origen,Destino,PrecioLibro,PrecioEnvio, CodCompania,Peso)

Existencia(CodCompania,CodLibro,Estado,Inventario,PrecioLibro), Envio(CodCompania,Origen,Destino,Peso,PrecioEnvio), America(Destino).

Page 44: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

44

Reescribiendo consultas Local As View

Select E.CodLibro, V.Estado, V.PrecioLibro, V.PrecioEnvio, V.CodCompania, E.Revision

From Fd12: Evaluacion E, Fd13: Venta V,

Where (E.CodLibro=V.CodLibro) AND

(E.Categoria=“ninos”) AND (E.Estatus=V.Estado) AND (V.Inventario>0) AND (V.Origen=“NY”) AND (V.Destino=“CCS”) AND (E.Peso=V.Peso)

Page 45: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

45

Ejemplo de Definición Local As View Fd14:

Suministro(CodLibro,Titulo,Peso,Categoria,Revision,Estatus,Inventario,Origen, Destino, PrecioLibro,PrecioEnvio,CodEvaluador)

Libro(CodLibro,Titulo,Peso,Estatus,Categoria), Evaluacion(CodEvaluador,CodLibro,Evaluacion), Existencia(CodCompania,CodLibro,Estado,Inventario,PrecioLibro), Envio(CodCompania,Origen,Destino,Peso,PrecioEnvio),

America(Destino).

Page 46: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

46

Reescribiendo consultas Local As View

Select S.CodLibro, S.Estatus, S.PrecioLibro, S.PrecioEnvio, S.CodCompania, S.Revision

From Fd14: Suministro SWhere (S.Categoria=“ninos”) AND

(S.Inventario>0) AND (S.Origen=“NY”) AND

(S.Destino=“CCS”)

Page 47: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

47

Local as View Si las consultas y las vistas son consultas

conyuntivas, el problema de dedicir si existe una reescritura de una consulta en función de un conjunto de vistas es NP-completo. Existe un número exponencial de

posibilidades que hay que chequear!

Si las consultas y las vistas son consultas disyuntivas, el problema de dedicir si existe una reescritura de una consulta en función de un conjunto de vistas es coNP-completo.

Page 48: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

48

Local As View-Information ManifoldSelección de fuentes de datos se realiza

en tres pasos: Paso 1:

Se crea un bucket para cada sub-objetivo en la consulta. En cada buckets se almacenan los descriptores que pueden ser

usados para constestar la consulta. Paso 2:

Se consideran todas las posibilidades de combinaciones de fuentes de datos, una por cada bucket y se chequea cual de ellas corresponde a un plan semánticamente correcto.

Paso 3: Se minimiza cada plan eliminando sub-objetivos redundantes.

Los sub-objetivos pueden ser Fuentes de datos Predicados

Page 49: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

49

Algoritmo de Creación de Buckets Entrada: V un conjunto de descriptores de contenido

Q consulta conjuntiva: Q(X)<-R1(X1),..,Rm(Xm),Cq.

Salida:Conjunto de m Buckets. Asignar empty Buckets. For I=1, …, m do

For each v in V Let v be of the form v(Y) S1(Y1),…,Sn(Yn) For j=1,…,n do If Ri=Sj or Ri and Sj are nodisjunt classesLet be the mapping for the variables of V as followsIf y is the k-th variable in Yj and y in YThen (y)=xi where xi is the k-th variable in XiElse (y)=new variableLet Q’ be the 0-ary query:Q’<-R1(X1),…,Rm(Xm),Cq, (S1(Y1),…,Sn(Yn))If Q’ is satisfactibe, then add (v) to Bucket I.

Page 50: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

50

Local As View-AlgoritmoEn el algortimo: Se crea los buckets relevantes para cada subobjetivo en

la consulta. Una vista se considera si los atributos de proyectados en la consulta que están proyectados en la vista.

La consulta Q’ es satisfactible si: La conjuncion de los predicados predefinidos es

satisfcatible. No existen dos subobjetivos C(x) y D(x) que sean

disjuntas. Una vez que las fuentes de datos que en cada bucket son

seleccionadas, se haya el producto cartesiano de las fuentes de datos en cada bucket.

Page 51: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

51

Cota superior del algoritmo Para una consulta Q con M

descriptores de fuentes, existe O(M^(2^|Q|)) posibles enumeraciones.

El algortimo reduce el espacio de posibilidades al reducir los posibles descriptores de fuentes.

Page 52: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

52

Comparación entre LAV y GAVLAV: Procesar consultas es costoso. El único conocimiento que existe de las fuentes de

datos es aquel que puede ser expresado como consultas en en el esquema global.

GAV: Procesar consultas es económico. Para cada elemento g en el esquema global se

especifiica la consulta en las fuentes de datos que permiten obtener los datos virtualmente almacenados en g.

Page 53: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

53

Enfoque Mixto GLAVCada afirmación tiene la forma:

qs :- qg

gs es una consulta sobre las fuentes de datos.

qg es una consulta sobre el esquema global.

Una base de datos BD satisface la afirmación qs:- qs con respecto a una fuente de datos B si qs

B qs

BD

Cada afirmación puede ser transformada en una GAV, creando un elemento r en el esquema global y añadiendo la regla:

r:-qs

r qs

Page 54: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

54

Referencias:

A. Levy, A. Rajaraman, J. Ordille, “Querying Heterogeneous Information Sources Using Source Descriptions”. VLDB 96.

J. Ullman, “Information Integration Using Local Views”. Proceedings of the Sixth International Conference on DataBase Theory 1997.

M. Lenzerini, “Data Integration: A Theoretical Perspective”. PODS 2002.

A. Halavey, R. “”, Journal VLDB 2001.

Page 55: 1 Agenda Sistemas de Integración. 2 Integración de Datos Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso

55

Tarea Dar un ejemplo donde se muestre

la aplicación del algoritmo de Buckets. Identificar una cota para el número

de combinaciones que tienen que ser consideradas.

Es el algoritmo sólido? Es completo? Justificar.