Usando Mediadores para
Integração de Múltiplas Bases de
Dados
Bernadette Farias Lóscio
DI - UFPE
Plano de Aula
• Motivação
• Arquitetura de Mediadores
• Projeto de Mediadores
– Integração do Esquema do Mediador
– Especificação do Mediador
• Exemplo
• Conclusões
Integração de Múltiplas
Bases de Dados
•
•
•
•
Tendência da descentralização
Cooperação intersistemas
Grande quantidade de dados disponíveis
Avanços tecnológicos na comunicação de dados
Integração de Múltiplas
Bases de Dados
• Principal Problema:
– Heterogeneidade - os sistemas tem sido desenvolvidos
usando diferentes especificações e modelo de dados
• Solução:
– Desenvolver meios para prover acesso integrado e
transparente aos dados, além de melhorar o acesso e a
qualidade da informações
Arquitetura de Mediadores
Nível de
Aplicação
Nível de
Mediação
Mediador 1
Tradutor 1
Mediador 2
Tradutor 2
Tradutor 3
Nível de
Dados
Base de Dados 1
Base de Dados 2
Base de Dados 3
Mediadores
Exploram o
conhecimento
representado
em um conjunto
ou subconjunto
de dados
MEDIADOR
BD2
BD1
BD3
Geram
informações para
aplicações residentes
em uma camada
superior
Consultas e Atualizações através de
Mediadores
1. As consultas são submetidas ao sistema, via
mediador, e este as transforma em subconsultas a
serem enviadas às bases de dados.
2. As subconsultas geradas pelo mediador
devem ser traduzidas para linguagens de
consultas de cada SGBD componente.
3. Os resultados das consultas são traduzidos
e a resposta é devolvida ao usuário.
Exemplo 1
Esquemas Locais:
BD1:
EMP_FOR
BD2:
EMP_RIO
sal2 nome2 email2
sal1 nome1 tel1
Esquema do mediador:
local
email
EMP_M
MED:
sal
nome
tel
Exemplo 1
Recupere todos os dados do empregado
chamado Roberto
Aplicação
Mediador
Exemplo 1 - Execução da Consulta
C: select nome, tel, sal, local, email
from EMP_M
where nome = “Roberto”
Med
C1: select nome1, tel1, sal1
from EMP_RIO
where nome = “Roberto”
Tradutor1
C1
Emp_Rio
C2: select nome2, tel2, sal2
from EMP_FOR
where nome = “Roberto”
Tradutor2
C2
Emp_For
Exemplo 1 - Resultado da Consulta
C: select nome, tel, sal, local, email
from EMP_M
where nome = “Roberto”
Med
nome1 = “Roberto”
sal = 1000
tel = 221.2233
local = rio
email = null
nome1 = “Roberto”
sal = 1000
tel = 221.2233
Tradutor1
Tradutor2
nome1 = “Roberto”
sal = 1000
tel = 221.2233
Emp_Rio
Emp_For
Exemplo 2
Esquemas Locais:
BD3:
BD4:
EMP_PROJ1
EMP_PROJ2
sal2 nome2 email2
sal1 nome1 tel1
Esquema do mediador:
MED1:
sal
local
email
EMP_M1
nome
tel
Exemplo 2
Recupere o salário do empregado
chamado Roberto
Aplicação
Mediador
Exemplo 2 - Execução da Consulta
C: select nome, sal
from EMP_M1
where nome = “Roberto”
Med1
C1: select nome1, sal1
from EMP_PROJ1
where nome = “Roberto”
Tradutor3
C1
Emp_Proj1
C2: select nome2, sal2
from EMP_PROJ2
where nome = “Roberto”
Tradutor4
C2
Emp_Proj2
Exemplo 2 - Resultado da Consulta
C: select nome, sal
nome = “Roberto”
sal = R$ 6000,00
from EMP_M1
where nome = “Roberto”
Med
nome1 = “Roberto”
sal1 = R$ 1000,00
Tradutor3
nome1 = “Roberto”
sal1 = R$ 1000,00
Emp_Rio
nome2 = “Roberto”
sal2 = R$ 5000,00
Tradutor4
nome2 = “Roberto”
sal2 = R$ 5000,00
Emp_For
Suporte para arquitetura de
mediadores
Modelo de
dados comum
1
3
2
Ferramentas
p/ criação de
mediadores
Linguagem de
consultas comum
Requisitos dos
Usuários
Projeto de
Mediadores
Definição do Esquema
do Mediador
Esquema do Mediador
Integração do Esquema
do Mediador
Assertivas do mediador
Especificação
do Mediador
Mapeador de Estados e
Mapeador de Atualizações
Integração do Esquema do Mediador
Esquema do
Mediador
Esquemas
Locais
Integração do Esquema
do Mediador
Assertivas de
Correspondência
do Mediador
Integração do Esquema do Mediador
Assertivas de Correspondência
• Assertivas de Correspondência de Tipos
• Assertivas de Correspondência de Atributos
• Assertivas de Correspondência de Caminhos
Integração do Esquema do Mediador
Assertivas de Correspondência
S 1:
EMP
R1
nome1 tel1
S2: EMPREGADO
nome2
DEPTO
R2
GER
#depto1
data1
nger1
sal2
nger2
tel2
1. Assertiva de Correspondência de Tipos
EMPREGADO EMP
2. Assertiva de Correspondência de Atributos
nome1 nome2
3. Assertiva de Correspondência de Caminhos
EMP-R1-DEPTO-R2-GER-nger1  EMP_RIO-nger2
Integração do Esquema do Mediador
Assertiva de Dependência
Existencial
S1:
(P1) PESSOA
(PC)POSSUI
(C1) CARRO
lic1
cpf1
S2:
(P2) PROPRIETÁRIO
cpf2
lic2
1. Assertiva de Dependência Existencial:
POSSUI [PC-P1-cpf1, PC-C1-lic1] PROPRIETÁRIO [P2-cpf2, P2-lic2]
(Um tipo de entidade é modelado como um tipo de relacionamento)
Requisitos dos
Usuários
Projeto de
Mediadores
Definição do Esquema
do Mediador
Esquema do Mediador
Integração do Esquema
do Mediador
Assertivas do mediador
Especificação
do Mediador
Mapeador de Estados e
Mapeador de Atualizações
Especificação do Mediador
Mapeador de Estados
Estados dos
Esquemas Locais
{DS1,...,DSn}
sM
Estado do
Mediador
DM = sM ({DS1,...,DSn})
sM : mapeador de estados do mediador
Especificação do Mediador
Mapeador de Atualizações
{DS1,...,DSn}
tS1(u) tSn(u)
{D’S1,...,D’Sn}
sM
tM
sM
DM = (sM{DS1,...,DSn})
u
D’M = (sM{D’S1,...,D’Sn})
sM : mapeador de estados do mediador
tM : mapeador de atualizações do mediador
Mapeador de Atualizações = Conjunto de Tradutores
Especificação do Mediador
Definindo Tradutores
Pedido de
Atualização
TRADUTOR
Tradução
(Seqüência de
Atualizações)
Processo de Definição de um Tradutor:
1. Determinar as ACs relevantes para a Operação de Atualização
2. Determinar a ação requerida para a preservação de cada AC
Exemplo
S1:
EMP
DEPTO
R1
nome1 tel1
S2: EMP_RIO
nome2
S3:
sal2
tel2
EMP_FOR
nome3
#depto1
email3
sal3
R2
GER
nger1
Exemplo
Passo 1: Definição do Esquema do
Mediador
Esquema de med
nger
EMP_M
nome
tel sal
email
local
Exemplo
Passo 2: Integração do Esquema do
Mediador
Assertivas de Correspondência de Tipos
AC5: EMP_M  EMP
AC6: EMP_M  Gen(EMP_RIO , EMP_FOR)
AC7: EMP_RIO  EMP_M [local = ‘rio’]
AC8: EMP_FOR  EMP_M[local = ‘for’]
Exemplo - Passo 2
Assertivas de Correspondência de
Atributos
AC9: nome  nome1
AC10: nome  nome2
AC11: nome  nome3
AC12: tel  tel1
AC13: tel  tel2
AC14: sal  sal2
AC15: sal sal3
AC16: local  [EMP_RIO :’rio’;EMP_FOR:’for’]
AC17: email  email3
Exemplo - Passo 2
Assertivas de Correspondência de
Caminhos
AC18: EMP_M-nger EMP-R1-DEPTO-R2-GER-nger1
S1:
EMP
R1
nome1 tel1
Smed: nger
DEPTO
#depto1
EMP_M
nome
tel sal
email
local
R2
GER
nger1
Exemplo
Passo 3: Especificação do Mediador
(Mapeador de Estados)
Regra 1:
<EMP_M {<nome N><tel T><sal S><nger G><email ‘null’><local ‘rio’}>
:- <EMP {<nome1 N> <tel1 T> <EMP-R1-DEPTO-R2-GER-nger1 G>}>
and
<EMP_RIO {<nome2 N> <tel2 T> <sal2 S>}>
Regra 2:
<EMP_M {<nome N><tel T><sal S><nger G><email ‘null’><local ‘for’}>
:- <EMP {<nome1 N> <tel1 T> <EMP-R1-DEPTO-R2-GER-nger1 G>}>
and
<EMP_RIO {<nome3 N> <tel3 T> <sal3 S>}>
Exemplo - Passo 3
Passo 3: Especificação do Mediador
(Mapeador de Atualizações)
Smed
nger
S1
EMP_M
nome tel sal
email
local
EMP
nome1
R1
tel1
DEPTO
#depto1
R2
GER
data1
nger1
1. Atualização: u = {e.nger := ‘v’} /*e = (nome:‘joão’, tel:‘223.9675’, ...., nger:‘pedro’)*/
2. AC Relevante: EMP_M-nger  EMP-R1-DEPTO-R2-GER-nger1
3. Tradutor “Modifica_nger “:
/*Ação Requerida para preservação de AC18*/
Se existir
(i) e’  EMP tal que e’ e
(ii) d DEPTO tal que d. (DEPTO.R2.GER-nger1) = ‘v’
(iii) r  R1 tal que e.(EMP-R1) = r
Então { r .(R1-DEPTO) := d}
Vantagens da Metodologia
• Uso de assertivas de correspondência para especificar
formalmente o relacionamento entre esquemas.
• Algoritmos para geração automática dos mapeadores de
estados e tradutores de atualização do mediador.
• A metodologia proposta também se aplica ao problema
de TAV (Tradução de Atualização de Visões)
Conclusões
• Mediadores são indicados quando:
– As informações mudam rapidamente
– Os usuários necessitam de informações imprevistas
– Aplicações necessitam que o estado da informação seja
o mais atualizado
• Problemas com o uso de mediadores:
– Processamento de consultas é ineficiente quando:
• Consultas são emitidas várias vezes
• F.I. São lentas, caras ou não estão disponíveis
– Os passos de filtragem, tradução e consultas podem
exigir alto custo de processamento
Referências
• [Chawathe94] Chawathe, S., Garcia Molina, H., Hammer, J. “The
TSIMMIS Project: Integration of Heterogeneous Information
Sources”, IPSJ’94.
• [Lóscio98] Lóscio, B.F., “Atualização de Múltiplas Bases de Dados
através de Mediadores”, Dissertação de Mestrado, Universidade
Federal do Ceará, Mar.1998.
• [Vidal97] Vidal, V. M. P., Lóscio, B.F., “Especificação de Mediadores
para Acesso e Atualização de Múltiplas Bases de Dados”, XII Simpósio
Brasileiro de Banco de Dados, Fortaleza, Ceará, Out.1997.
• [Wiederhold92] Widerhold, G., “Mediators in the Architecture of
Future Information Systems”, IEEE Computer, pp.38-49, Mar. 1992.
• Projeto TSIMMIS - www-db.stanford.edu
Download

Mediadores