INTEGRAÇÃO DE DADOS: UMA PERSPECTIVA TEÓRICA Guilherme P. K. Caminha Disciplina: IF696.

Post on 07-Apr-2016

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

INTEGRAÇÃO DE DADOS: UMA PERSPECTIVA TEÓRICA

Guilherme P. K. CaminhaDisciplina: IF696

ROTEIRO

• Introdução• Motivação• Objetivos• Conceitos• Modelagens• GAV: Um exemplo• Estado da Arte• Aplicações• Referências

INTRODUÇÃO

• Integração de dados• Conjunto de fontes

• Dados reais• Esquema global

• View virtual e integrada das fontes

MOTIVAÇÃO

• Processo importante• Comercial

• Caso de uso: unir bancos de dados• Científico

• Combinando resultados de repositórios diferentes

MOTIVAÇÃO

• Fontes isoladas de dados (Information Silos)• Fontes distribuídas• Fontes heterogêneas

MOTIVAÇÃO

• No contexto de Warehousing• ETL (Extract, Transform, and Load)• Arquitetura fortemente acoplada

• Dados fisicamente reconciliados• Único repositório de dados• Queries mais rápidas

• E se as fontes forem frequentemente atualizadas?• E se não houver acesso aos dados completos, apenas a interface de query?

OBJETIVOS

• Estudar uma arquitetura que atenda às questões levantadas.

CONCEITOS

• Solução:• Integração fracamente acoplada• Interface de query unificada

• Através de um esquema mediador• Informação obtida diretamente das fontes

• Não mais de um único repositório

CONCEITOS

• Mapeamentos• Entre esquema mediador e esquemas fonte• Query no esquema mediadoré transformada em query especializada

CONCEITOS

• Há dois tipos de mapeamento• Global as View (GAV)

• Mapeia entidades do esquemamediador para fontes

• Local as View (LAV)• Mapeia entidades das fontespara o esquema mediador

CONCEITOS

• Queries feitas em termosdo esquema global• Portanto, é necessário reformularas queries

CONCEITOS

• Formalizando:• Componentes de um sistema de integração de dados (I)

• Esquema Global (G)• Fontes (S)• Mapeamento (M)

• Resulta na tripla (G, S, M)

CONCEITOS

• Esquema Global (G)• Expresso numa linguagem LG

• Sobre um alfabeto AG

• AG inclui um símbolo para cada elemento de G• (relações, classes, etc...)

CONCEITOS

• Esquema Fonte (S)• Expresso numa linguagem LS

• Sobre um alfabeto AS

• AS inclui um símbolo para cada elemento das fontes

CONCEITOS

• Mapeamento (M)• Constituído por asserções

• Onde e são queries sobre G e S• são expressas em termos da linguagem LM,S sobre o alfabeto AS

• são expressas em termos da linguagem LM,G sobre o alfabeto AG

CONCEITOS

• Queries em I são portanto...• Feitas em termos de G• Expressas numa linguagem LQ

• Sobre o alfabeto AG

CONCEITOS

• Semântica de um sistema I = (G, S, M)• Dado um banco de dados fonte D para I

• D é conforme com o esquema S• Um banco de dados global B é legal com respeito a I, se

• B satisfaz todas as restrições de G• B satisfaz o mapeamento M com respeito a D

MODELAGENS

• Local as View• Num sistema I = (G, S, M),• O mapeamento M,• Associa a cada elemento s de S• Uma query qG sobre G

• Portanto, no LAV para cada s em S,

MODELAGENS

• Global as View• Num sistema I = (G, S, M),• O mapeamento M,• Associa a cada elemento g de G• Uma query qs sobre S

• Portanto, no LAV para cada s em S,

MODELAGENS

• Equivalência• Dados dois sistemas I = (G, S, M) e I’ = (G’, S, M’),• Sobre o mesmo esquema S,• E dado que , então• I’ é query-preservativo em relação a I, se• Para toda query q a I e a todo banco fonte D,

MODELAGENS

• Equivalência• Dadas as classe C1 e C2 de sistemas de integração,• C1 é query-redutível a C2, se• Existe uma função , tal que• Para cada ,• é query-preservativo em relação a I1

GAV: UM EXEMPLO

• Seja I = (G, S, M),• Seja G constituído pelas relações

• Employee(Ecode, Ename, Ecity)• Company(Ccode, Cname)• Employed(Ecode, Ccode)

• E pelas restrições• Key(employee) = {Ecode}• Key(company) = {Ccode}• employed[Ecode] employee[Ecode]• Employed[Ccode] company[Ccode]

GAV: UM EXEMPLO

• Consideremos 3 fontes de dados• s1, de aridade 4, contém

informações sobre empregados• s2, de aridade 2, contém códigos

e nomes de companhias• s3, de aridade 2, contém

informações sobre empregação

• Seja I = (G, S, M),• Seja G constituído pelas relações

• Employee(Ecode, Ename, Ecity)• Company(Ccode, Cname)• Employed(Ecode, Ccode)

• E pelas restrições• Key(employee) = {Ecode}• Key(company) = {Ccode}• employed[Ecode] employee[Ecode]• Employed[Ccode] company[Ccode]

GAV: UM EXEMPLO

• Seja I = (G, S, M),• Seja G constituído pelas relações

• Employee(Ecode, Ename, Ecity)• Company(Ccode, Cname)• Employed(Ecode, Ccode)

• E pelas restrições• Key(employee) = {Ecode}• Key(company) = {Ccode}• employed[Ecode] employee[Ecode]• Employed[Ccode] company[Ccode]

GAV: UM EXEMPLO

• Seja I = (G, S, M),• Seja G constituído pelas relações

• Employee(Ecode, Ename, Ecity)• Company(Ccode, Cname)• Employed(Ecode, Ccode)

• E pelas restrições• Key(employee) = {Ecode}• Key(company) = {Ccode}• employed[Ecode] employee[Ecode]• Employed[Ccode] company[Ccode]

• O mapeamento M é definido:• Employee {x, y, z | s1(x, y, z, w)}

• Company {x, y | s2(x, y)}

• Employed {x, w | s3(x, w)}

GAV: UM EXEMPLO

• Seja I = (G, S, M),• Seja G constituído pelas relações

• Employee(Ecode, Ename, Ecity)• Company(Ccode, Cname)• Employed(Ecode, Ccode)

• E pelas restrições• Key(employee) = {Ecode}• Key(company) = {Ccode}• employed[Ecode] employee[Ecode]• Employed[Ccode] company[Ccode]

• O mapeamento M é definido:• Employee {x, y, z | s1(x, y, z, w)}

• Company {x, y | s2(x, y)}

• Employed {x, w | s3(x, w)}

GAV: UM EXEMPLO

• Façamos uma query:• {x | employee(x, y, z)}

ESTADO DA ARTE

• OLE-DB • API de SQL para acessar várias fontes• Permite data mining em várias fontes OLE-DB• Permite OLAP

• Oracle• Através da tecnologia Oracle Gateway

ESTADO DA ARTE

• Cast Iron (www.castiron.com)• Permite a criação de projetos com listeners para:

• HTTP,• FTP,• SMTP, e• BDs

ESTADO DA ARTE

• Cast Iron (www.castiron.com)• Permite fluxo de controle

• If/Then• Do/While• Try/Catch

ESTADO DA ARTE

• Cast Iron (www.castiron.com)• Totalmente visual

• Facilita uso em empresas não TI• O objetivo é tornar fácil mover dados

• Ex: Sincronizar um BD de clientes com seu BD do salesforce.com• Possível associar dados apenas arrastando:

APLICAÇÕES

• Mineração de Dados• Uma view unificada facilita a mineração

• Consolidação de Dados• Coletar e integrar dados em um único lugar

• Merge de databases• Combinação de resultados

APLICAÇÕES

• Exemplo• Aplicação web com consultas a estatísticas de cidades

• Crime,• Tempo, • Hotéis, etc

• Tradicionalmente, a informação fica em um BD• Porém, problemas surgem utilizando diversas fontes

• Exemplo: duplicações

APLICAÇÕES

• Exemplo• Solução: Integração de dados!

REFERÊNCIAS

• M. Lenzerini, Data Integration: A Theoretical Perspective• https://en.wikipedia.org/wiki/Data_integration• G. Thomas et al, Heterogeneous Distributed Database Systems for Production

Use • http://

orbinary.com/blog/2010/07/enterprise-data-integration-the-state-of-the-art• S. Pllana et al, A Survey of the State of the Art in Data Mining and Integration

Query Languages • https://en.wikipedia.org/wiki/Semantic_data_model

REFERÊNCIAS

• T. Kirk, The Information Manifold• A. Calì et al, On the Expressive Power of Data Integration Systems

REFERÊNCIAS

• Abiteboul, Hull, Vianu

top related