INTEGRAÇÃO DE DADOS: UMA PERSPECTIVA TEÓRICA Guilherme P. K. Caminha Disciplina: IF696.
-
Upload
rafael-bergler-canejo -
Category
Documents
-
view
214 -
download
0
Transcript of INTEGRAÇÃO DE DADOS: UMA PERSPECTIVA TEÓRICA Guilherme P. K. Caminha Disciplina: IF696.
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