Tema 8. Integración de datos - Departamento de Lenguajes y

Anuncio
07/05/2013
Departamento de Lenguajes y
Sistemas Informáticos
BLOQUE II: Integración de Sistemas Software
Integración de datos
Tema 8
Arquitectura e Integración de Sistemas Software
Curso 2012/2013
Índice







Definición de integración de datos
Retos
Tipos de integración de datos
Extract-Transform-Load (ETL)
Virtualización
Ejemplo
Bibliografía
1
07/05/2013
Índice







Definición de integración de datos
Retos
Tipos de integración de datos
Extract-Transform-Load (ETL)
Virtualización
Ejemplo
Bibliografía
Definición de integración de datos
 Data integration involves combining data residing in different
sources and providing users with a unified view of these data.
[Maurizio Lenzerini, 2002]
2
07/05/2013
Integración de datos
Query
Interfaz de consulta única
Fuentes
de datos
Fuente de
datos 1
Fuente de
datos 2
Fuente de
datos 3
Integración de datos vs Integración de aplicaciones
 Integración de datos:
• Declarativa (Ej. SQL)
SELECT * FROM Book WHERE price > 100.00 ORDER BY title;
 Integración de aplicaciones
• Programática (Ej. Java)
...
connection1 = connectTo(App1);
bookList = connection.get(Books);
for(Book book:bookList)
{
if(book.getPrice() > 100)
result.add(book);
}
sortByTitle(result);
return result;
3
07/05/2013
Índice







Definición de integración de datos
Retos
Tipos de integración de datos
Extract-Transform-Load (ETL)
Virtualización
Ejemplo
Bibliografía
Retos de la integración de datos
 Fuentes de datos heterogéneas: las fuentes de datos pueden
tener formatos diferentes (XML, RDF, Relacional, etc.) y los
datos contenidos pueden tener esquemas diferentes ( Ej.
libros con sus autores y libros con sus editoriales)
 Datos actualizados: Es importante que los datos de la vista
única estén siempre actualizados, es decir, si se modifica la
información en alguna de las fuentes, estos cambios se deben
reflejar en los resultados lo antes posible.
 Tiempo de respuesta: Es necesario que el tiempo de
respuesta a las consultas de los usuarios no sea muy alto,
especialmente si el número de fuentes de datos es alto.
4
07/05/2013
Índice







Definición de integración de datos
Retos
Tipos de integración de datos
Extract-Transform-Load (ETL)
Virtualización
Ejemplo
Bibliografía
Tipos de integración de datos
 ETL (Extract, Transform, Load)
 Virtualización
5
07/05/2013
Índice







Definición de integración de datos
Retos
Tipos de integración de datos
Extract-Transform-Load (ETL)
Virtualización
Ejemplo
Bibliografía
Extract, Transform, Load (ETL)
 ETL: Es un proceso en el que se extrae la información de las
fuentes de datos, se transforman para que sean homogéneos
y luego se cargan en una fuente destino. La idea es ofrecer
una fuente de datos única que contiene toda la información
contenida en las distintas fuentes de datos.
6
07/05/2013
Ejemplo de ETL
ETL
ETL
 Ventajas:
• La información está físicamente en un repositorio único
• Las consultas se resuelven de forma más rápida
 Desventajas:
• La información no suele estar actualizada: hay que
ejecutar el proceso ETL para sincronizar los datos en caso
de que las fuentes se actualicen.
7
07/05/2013
Índice







Definición de integración de datos
Retos
Tipos de integración de datos
Extract-Transform-Load (ETL)
Virtualización
Ejemplo
Bibliografía
Virtualización
• Definición: Ofrece una vista virtual que responde las
consultas de los usuarios . La integración de los datos se hace
en tiempo real, consultando cada una de las fuentes de datos
cada vez que un usuario hace una consulta, es decir, ofrecer
una vista en tiempo real de los datos.
• Se utiliza mapeo (mapping) para dividir consultas y componer
datos:
8
07/05/2013
Virtualización
 Ventajas:
• Ofrece una vista actualizada de los datos en tiempo real
• Las fuentes trabajan de forma independiente (No hay que
estar actualizando de forma continua)
 Desventajas:
• Es más difícil resolver las consultas para dividirlas en las
distintas fuentes y hacer el mapeo entre las fuentes y la
vista de datos (Supone más tiempo para resolver las
consultas)
Índice







Definición de integración de datos
Retos
Tipos de integración de datos
Extract-Transform-Load (ETL)
Virtualización
Ejemplo
Bibliografía
9
07/05/2013
Ejemplo
Esquemas de datos: Fuente y destino
10
07/05/2013
Mapping 1/3
Mapping 2/3
11
07/05/2013
Mapping 3/3
Reglas generadas automáticamente
Rule_v2_v0_512974586:
for each x26:
IBDBookSet(title: x26) -> exist Y27:
BookSet(title: x26, pubId: Y27).
Rule_v5_v1_923779658:
for each x30, x31:
IBLPublisherSet(id: x30, name: x31) ->
PublisherSet(id: x30, name: x31).
Rule_v4_v0_22178810:
for each x28, x29:
IBLBookSet(title: x28, pubId: x29) ->
BookSet(title: x28, pubId: x29).
Rule_v3_v0v1_692590998:
for each x32, x33:
LOCSet(title: x32, publisher: x33) -> exist
Y34:
BookSet(title: x32, pubId: Y34),
PublisherSet(id: Y34, name: x33).
Y34: SK(Tuples=[BookSet.Book.title: [x32]], [PublisherSet.Publisher.name:
[x33]]**Joins=[[PublisherSet.Publisher.name:
[x33]].PublisherSet.Publisher.id=[BookSet.Book.title: [x32]].BookSet.Book.pubId])
12
07/05/2013
SQL generado automáticamente
create table work.pos_CQWN_1697391144 AS
select distinct rel_v3.id AS v3id, rel_v3.name AS v3name, rel_v1.title AS v1title,
rel_v1.pubId AS v1pubId
from source.IBLPublisherSet AS rel_v3, source.IBLBookSet AS rel_v1
where rel_v3.id = rel_v1.pubId;
create table work.CQWN_1752073437 AS select distinct * from
work.pos_CQWN_1752073437 EXCEPT select distinct work.pos_CQWN_1752073437.*
from work.pos_CQWN_1752073437, work.pos_CQWN_1697391144
where work.pos_CQWN_1752073437.v0publisher =
work.pos_CQWN_1697391144.v3name AND work.pos_CQWN_1752073437.v0title =
work.pos_CQWN_1697391144.v1title ;
insert into target.PublisherSet
select distinct cast(work.TARGET_VALUES_rule_v0_v5v4_37675848.v5id as text) as v5id,
cast(work.TARGET_VALUES_rule_v0_v5v4_37675848.v5name as text) as v5name
from work.TARGET_VALUES_rule_v0_v5v4_37675848
UNION select distinct
cast(work.TARGET_VALUES_rule_v3_v5_908096794.v5id as text) as v5id,
cast(work.TARGET_VALUES_rule_v3_v5_908096794.v5name as text) as v5name
from work.TARGET_VALUES_rule_v3_v5_908096794;
…
Mapping de las entidades
13
07/05/2013
Algunas herramientas
The Clio Project
Índice







Definición de integración de datos
Retos
Tipos de integración de datos
Extract-Transform-Load (ETL)
Virtualización
Ejemplo
Bibliografía
14
07/05/2013
Bibliografía
 Tutorial de integración de datos (Maurizio Lenzerini-2002):
http://www.dis.uniroma1.it/~lenzerin/homepagine/talks/TutorialPODS02.pdf
 Survey sobre integración de datos:(Alon Y. Levy-2001)
 https://cs.uwaterloo.ca/~david/cs740/answering-queries-using-views.pdf
 Integración de datos basada en vistas (Yannis Katsis, Yannis
Papakonstantinou-2009) http://db.ucsd.edu/pubsFileFolder/355.pdf
Disclaimer and Terms of Use
All material displayed on this presentation is for teaching and personal use only.
Many of the images that have been used in the presentation are Royalty Free
images taken from http://www.everystockphoto.com/. Other images have been
sourced directly from the Public domain, from where in most cases it is unclear
whether copyright has been explicitly claimed. Our intention is not to infringe
any artist’s copyright, whether written or visual. We do not claim ownership of
any image that has been freely obtained from the public domain. In the event
that we have freely obtained an image or quotation that has been placed in the
public domain and in doing so have inadvertently used a copyrighted image
without the copyright holder’s express permission we ask that the copyright
holder writes to us directly, upon which we will contact the copyright holder to
request full written permission to use the quote or images.
15
Descargar