Post on 22-Jan-2016
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
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
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?
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
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
Adaptador Adaptador Adaptador
Extractor de Datos
Aplicación
Usuario
DataWareHouse
FD1FDi 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
AdaptadorAdaptador Adaptador
MediadorMediador
Mediador
Consulta
FD1 FD2FD3
Catálogo
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
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
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
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
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
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).
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).
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).
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).
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).
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 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).
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)
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ó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
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
FD1
FD2
FD3
Q: Consulta esquema integrado
Q’: Consulta en esquema de las Fuentes de datos
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
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
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
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
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
From Fd14: Suministro SWhere (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 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
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.
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.
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
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.
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
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
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.