La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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.

Presentaciones similares


Presentación del tema: "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."— Transcripción de la presentación:

1 1 Agenda Sistemas de Integración

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

3 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)

4 4 Integración de Datos Acceso transparente a múltiples fuentes de datos heterogéneas

5 5 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?

6 6 Arquitectura de un sistema de integración de datos Adaptador Máquina de Ejecución de Consultas Reformulador de la consulta Optimizador de la 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

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

8 8 Arquitectura Materializada Adaptador Extractor de Datos Aplicación Usuario Data WareHouse FD1 FDiFDn

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

10 10 Arquitectura de Mediadores y Adaptadores Adaptador Mediador Consulta FD1FD2 FD3 Catálogo

11 11 Arquitectura Virtual Adaptador Máquina de Ejecución de Consultas Reformulador de la consulta Optimizador de la 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 Datos

12 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

13 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

14 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!

15 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)

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

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

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

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

20 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

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

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

23 23 Global-As-View (GAV) En un sistema de integración I= con GAV, las correspondencias en M asocian a cada elemento g en G una consulta q S sobre S. g :- q S 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.

24 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)

25 25 Global As View-Esquema Global Libro(CodLibro,Titulo,Peso,Estatus,Categoria). Existencia(CodCompania,CodLibro,Estatus,Inventario,Precio). Envio(CodCompania,Origen,Destino,Peso,Precio). Evaluacion(CodEvaluador,CodLibro,Evaluacion).

26 26 Global As View Libro(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).

27 27 Global As View Compania(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).

28 28 Global As View Envio(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).

29 29 Global As View Libro(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).

30 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).

31 31 Global As View Envio(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).

32 32 Reescribiendo consultas Global As View Select 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)

33 33 Cota superior de reescrituras Para una consulta Q con M descriptores de fuentes, existe O(M^|Q|) posibles enumeraciones.

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

35 35 Local-As-View (LAV) Dado un sistema de integración I= 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 -> q G 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.

36 36 Local-As-View (LAV) Tipos de fuentes de datos: s:- q G Fuentes de datos sólidas: Los objetos en s corresponden a un subconjunto de los elementos que satisfacen q G.  x s(x) -> q G (x) Fuentes de datos completas: Los objetos en s corresponden a un superconjunto de los elementos que satisfacen q G  x q G (x) -> s(x) Vistas exactas:  x q G (x) s(x)

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

38 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

39 39 Problema de Reescritura de Consultas Q FD1 FD2 FD3 Q: Consulta esquema integrado Q’: Consulta en esquema de las Fuentes de datos

40 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).

41 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).

42 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)

43 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).

44 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)

45 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).

46 46 Reescribiendo consultas Local As View Select S.CodLibro, S.Estatus, S.PrecioLibro, S.PrecioEnvio, S.CodCompania, S.Revision From Fd14: Suministro S Where (S.Categoria=“ninos”) AND (S.Inventario>0) AND (S.Origen=“NY”) AND (S.Destino=“CCS”)

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

48 48 Local As View-Information Manifold Selecció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

49 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 classes Let  be the mapping for the variables of V as follows If y is the k-th variable in Yj and y in Y Then  (y)=xi where xi is the k-th variable in Xi Else  (y)=new variable Let 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.

50 50 Local As View-Algoritmo En 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.

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

52 52 Comparación entre LAV y GAV LAV: 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.

53 53 Enfoque Mixto GLAV Cada afirmación tiene la forma: q s :- q g g s es una consulta sobre las fuentes de datos. q g es una consulta sobre el esquema global. Una base de datos BD satisface la afirmación q s :- q s con respecto a una fuente de datos B si q s B  q s BD Cada afirmación puede ser transformada en una GAV, creando un elemento r en el esquema global y añadiendo la regla: r:-q s r  q s

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

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


Descargar ppt "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."

Presentaciones similares


Anuncios Google