1 / 55

Agenda

Agenda. Sistemas de Integración. Integración de Datos. Es el problema de combinar datos almacenados en fuentes de datos diferentes y proveer un acceso unificado de los datos. Integración de Datos. Es el problema de ofrecer: Acceso (consultar y eventualmente actualizar)

zack
Download Presentation

Agenda

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 unificado de los datos.

  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. Integración de Datos Acceso transparente a múltiples fuentes de datos heterogéneas

  5. Sistema Mediador • 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. • 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. Arquitectura de un sistema de integración de datos Consulta en el sistema mediado Esquema de datos global Reformulador de la consulta Consulta en la unión de los esquemas de las fuentes Optimizador de la consulta Plan de ejecución en las fuentes Máquina de Ejecución de Consultas Consulta en los esquema de las fuentes Adaptador Adaptador Consulta en las fuentes Esquema de datos local

  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. Arquitectura Materializada Usuario Aplicación Data WareHouse Extractor de Datos Adaptador Adaptador Adaptador FD1 FDi FDn

  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. Arquitectura de Mediadores y Adaptadores Consulta Catálogo Mediador Mediador Mediador Adaptador Adaptador Adaptador FD3 FD1 FD2

  11. Arquitectura Virtual Consulta en el sistema mediado Reformulador de la consulta Esquema de datos global Mediador Consulta en la unión de los esquemas de las fuentes Optimizador de la consulta Plan de ejecución en las fuentes Adaptador Máquina de Ejecución de Consultas Consulta en los esquema de las fuentes Adaptador Adaptador Consulta en las fuentes Esquema de datos local Acceso Transparente a las Fuentes de Datos

  12. Mediador-Sistema Virtual 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.

  13. Adaptador-Sistema Virtual 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).

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

  24. Consulta en el Mediador SelectL.CodLibro, L.Estado, E1.Precio, E2.Precio, E2.CodCompania, E3.Evaluacion FromLibro 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. 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. 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. 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. 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. 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. 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. 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. Reescribiendo consultas Global As View SelectL.CodLibro, L.Estado, E1.Precio, E2.Precio, E2.CodCompania, E3.Evaluacion FromFd2: 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. Cota superior de reescrituras • Para una consulta Q con M descriptores de fuentes, existe O(M^|Q|) posibles enumeraciones.

  34. Mediador-Técnicas de DefiniciónLocal 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. 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.

  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)

  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. 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. Problema de Reescritura de Consultas Q: Consulta esquema integrado Q Q’: Consulta en esquema de las Fuentes de datos FD2 FD1 FD3

  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. 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. Consulta en el Mediador SelectL.CodLibro, L.Estado, E1.Precio, E2.Precio, E2.CodCompania, E3.Evaluacion FromLibro 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. 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. Reescribiendo consultas Local As View Select E.CodLibro, V.Estado, V.PrecioLibro, V.PrecioEnvio, V.CodCompania, E.Revision FromFd12: 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. 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. Reescribiendo consultas Local As View Select S.CodLibro, S.Estatus, S.PrecioLibro, S.PrecioEnvio, S.CodCompania, S.Revision FromFd14: Suministro S Where (S.Categoria=“ninos”) AND (S.Inventario>0) AND (S.Origen=“NY”) AND (S.Destino=“CCS”)

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

More Related