35
Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Embed Size (px)

Citation preview

Page 1: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Usando Mediadores para Integração de Múltiplas Bases de

Dados

Bernadette Farias Lóscio

DI - UFPE

Page 2: 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

Page 3: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

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

Page 4: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

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

Page 5: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Arquitetura de Mediadores

Nível de Aplicação

Mediador 1 Mediador 2Nível de Mediação

Tradutor 1 Tradutor 2 Tradutor 3Nível de Dados

Base de Dados 1Base de Dados 1 Base de Dados 2Base de Dados 2 Base de Dados 3Base de Dados 3

Page 6: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Mediadores

MEDIADORMEDIADOR

BD1

BD2

BD3

Exploram o conhecimento representado em um conjunto ou subconjunto de dados

Geram informações para aplicações residentes em uma camada superior

Page 7: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Consultas e Atualizações através de Mediadores

1. 1. As consultas são submetidas ao sistema, via mediador, e este as transforma em subconsultas a

serem enviadas às bases de dados.

1. 1. As consultas são submetidas ao sistema, via mediador, e este as transforma em subconsultas a

serem enviadas às bases de dados.

2.2. As subconsultas geradas pelo mediador devem ser traduzidas para linguagens de consultas de cada SGBD componente.

2.2. As subconsultas geradas pelo mediador devem ser traduzidas para linguagens de consultas de cada SGBD componente.

3.3. Os resultados das consultas são traduzidos e a resposta é devolvida ao usuário.

3.3. Os resultados das consultas são traduzidos e a resposta é devolvida ao usuário.

Page 8: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Exemplo 1

EMP_RIOEMP_RIO

sal1sal1 nome1nome1 tel1tel1

BD1BD1:: EMP_FOREMP_FOR

sal2sal2 nome2nome2 email2email2

BD2BD2::

EMP_MEMP_M

salsal nomenome teltel

locallocalMEDMED::

Esquemas Locais:Esquemas Locais:

Esquema do mediador:Esquema do mediador:

emailemail

Page 9: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Recupere todos os dados do Recupere todos os dados do empregado chamado Robertoempregado chamado RobertoRecupere todos os dados do Recupere todos os dados do

empregado chamado Robertoempregado chamado Roberto

Exemplo 1

MediadorMediadorAplicaçãoAplicação

Page 10: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Exemplo 1 - Execução da Consulta

MedMed

Tradutor1Tradutor1 Tradutor2Tradutor2

Emp_RioEmp_Rio Emp_ForEmp_For

CC: select nome, tel, sal, local, email: select nome, tel, sal, local, email from EMP_Mfrom EMP_M where nome = “Roberto”where nome = “Roberto”

C1C1: select nome1, tel1, sal1: select nome1, tel1, sal1 from EMP_RIOfrom EMP_RIO where nome = “Roberto”where nome = “Roberto”

C1C1

C2C2: select nome2, tel2, sal2: select nome2, tel2, sal2 from EMP_FORfrom EMP_FOR where nome = “Roberto”where nome = “Roberto”

C2C2

Page 11: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Exemplo 1 - Resultado da Consulta

MedMed

Tradutor1Tradutor1 Tradutor2Tradutor2

Emp_RioEmp_Rio Emp_ForEmp_For

CC: select nome, tel, sal, local, email: select nome, tel, sal, local, email from EMP_Mfrom EMP_M where nome = “Roberto”where nome = “Roberto”

nome1 = “Roberto”nome1 = “Roberto”sal = 1000sal = 1000tel = 221.2233tel = 221.2233

nome1 = “Roberto”nome1 = “Roberto”sal = 1000sal = 1000tel = 221.2233tel = 221.2233

nome1 = “Roberto”nome1 = “Roberto”sal = 1000sal = 1000tel = 221.2233tel = 221.2233local = riolocal = rioemail = nullemail = null

Page 12: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Exemplo 2

EMP_PROJ1EMP_PROJ1

sal1sal1 nome1nome1 tel1tel1

BD3BD3:: EMP_PROJ2EMP_PROJ2

sal2sal2 nome2nome2 email2email2

BD4BD4::

EMP_M1EMP_M1

salsal nomenome teltel

locallocalMED1MED1::

Esquemas Locais:Esquemas Locais:

Esquema do mediador:Esquema do mediador:

emailemail

Page 13: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Recupere o salário do empregado Recupere o salário do empregado chamado Robertochamado Roberto

Exemplo 2

MediadorMediadorAplicaçãoAplicação

Page 14: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Exemplo 2 - Execução da Consulta

Med1Med1

Tradutor3Tradutor3 Tradutor4Tradutor4

Emp_Proj1Emp_Proj1 Emp_Proj2Emp_Proj2

CC: select nome, sal: select nome, sal from EMP_M1from EMP_M1 where nome = “Roberto”where nome = “Roberto”

C1C1: select nome1, sal1: select nome1, sal1 from EMP_PROJ1from EMP_PROJ1 where nome = “Roberto”where nome = “Roberto”

C1C1

C2C2: select nome2, sal2: select nome2, sal2 from EMP_PROJ2from EMP_PROJ2 where nome = “Roberto”where nome = “Roberto”

C2C2

Page 15: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Exemplo 2 - Resultado da Consulta

MedMed

Tradutor3Tradutor3 Tradutor4Tradutor4

Emp_RioEmp_Rio Emp_ForEmp_For

CC: select nome, sal: select nome, sal from EMP_M1from EMP_M1 where nome = “Roberto”where nome = “Roberto”

nome1 = “Roberto”nome1 = “Roberto”sal1 = R$ 1000,00sal1 = R$ 1000,00

nome1 = “Roberto”nome1 = “Roberto”sal1 = R$ 1000,00sal1 = R$ 1000,00

nome2 = “Roberto”nome2 = “Roberto”sal2 = R$ 5000,00sal2 = R$ 5000,00

nome2 = “Roberto”nome2 = “Roberto”sal2 = R$ 5000,00sal2 = R$ 5000,00

nome = “Roberto”nome = “Roberto”sal = R$ 6000,00sal = R$ 6000,00

Page 16: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Modelo de Modelo de dados comumdados comum

Linguagem de Linguagem de consultas comumconsultas comum

Ferramentas Ferramentas p/ criação de p/ criação de mediadoresmediadores

11 2233

Suporte para arquitetura de mediadores

Page 17: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Requisitos dos Requisitos dos UsuáriosUsuários

Definição do Esquema Definição do Esquema do Mediadordo Mediador Esquema do MediadorEsquema do MediadorEsquema do MediadorEsquema do Mediador

Integração do Esquema Integração do Esquema do Mediadordo Mediador Assertivas do mediadorAssertivas do mediadorAssertivas do mediadorAssertivas do mediador

Especificação Especificação do Mediadordo Mediador

Mapeador de Estados eMapeador de Estados eMapeador de AtualizaçõesMapeador de Atualizações

Mapeador de Estados eMapeador de Estados eMapeador de AtualizaçõesMapeador de Atualizações

Projeto de Mediadores

Page 18: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Assertivas de Assertivas de

Correspondência Correspondência

do Mediadordo Mediador

Integração do Esquema Integração do Esquema do Mediadordo Mediador

Esquema doEsquema doMediadorMediador

Esquemas Esquemas LocaisLocais

Integração do Esquema do Mediador

Page 19: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

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

Page 20: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

1. Assertiva de Correspondência de Tipos1. Assertiva de Correspondência de Tipos

EMPREGADOEMPREGADO EMPEMP

2. Assertiva de Correspondência de Atributos2. Assertiva de Correspondência de Atributos

nome1 nome1 nome2nome2

3. Assertiva de Correspondência de Caminhos3. Assertiva de Correspondência de Caminhos

EMP-R1-DEPTO-R2-GER-nger1 EMP-R1-DEPTO-R2-GER-nger1 EMP_RIO-nger2EMP_RIO-nger2

Integração do Esquema do Mediador

S1:

nome1 nger1tel1 #depto1 data1

EMP DEPTO GERR1 R2

S2:

nome2

sal2

tel2

EMPREGADOnger2

Assertivas de Correspondência

Page 21: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

1. Assertiva de Dependência Existencial:1. Assertiva de Dependência Existencial:

POSSUI [PC-P1-cpf1, PC-C1-lic1] POSSUI [PC-P1-cpf1, PC-C1-lic1] PROPRIETÁRIO [P2-cpf2, P2-lic2]PROPRIETÁRIO [P2-cpf2, P2-lic2]

(Um tipo de entidade é modelado como um tipo de relacionamento)

(P2) PROPRIETÁRIO

cpf2 lic2

S2:

cpf1 lic1

(P1) PESSOA (C1) CARRO(PC)POSSUIS1:

Assertiva de Dependência Existencial

Integração do Esquema do Mediador

Page 22: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Requisitos dos Requisitos dos UsuáriosUsuários

Definição do Esquema Definição do Esquema do Mediadordo Mediador Esquema do MediadorEsquema do MediadorEsquema do MediadorEsquema do Mediador

Integração do Esquema Integração do Esquema do Mediadordo Mediador Assertivas do mediadorAssertivas do mediadorAssertivas do mediadorAssertivas do mediador

Especificação Especificação do Mediadordo Mediador

Mapeador de Estados eMapeador de Estados eMapeador de AtualizaçõesMapeador de Atualizações

Mapeador de Estados eMapeador de Estados eMapeador de AtualizaçõesMapeador de Atualizações

Projeto de Mediadores

Page 23: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Mapeador de Estados

Estado do Mediador

DM = ({DS1,...,DSn})

Estados dos Esquemas Locais

M{DS1,...,DSn}

M : mapeador de estados do mediador

Especificação do Mediador

Page 24: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Mapeador de Atualizações

{D’S1,...,D’Sn}

DM = (M{DS1,...,DSn}){DS1,...,DSn}M

S1(u) Sn(u)M

D’M = (M{D’S1,...,D’Sn})M

u

M : mapeador de estados do mediador

M : mapeador de atualizações do mediador

Especificação do Mediador

Mapeador de Atualizações = Conjunto de Tradutores

Page 25: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Definindo Tradutores

TRADUTORTRADUTORTradução

(Seqüência de Atualizações)

Pedido de Atualização

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

Especificação do Mediador

Page 26: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

S2:

nome2

sal2

tel2

EMP_RIO

S1:

nome1 nger1tel1 #depto1

EMP DEPTO GERR1 R2

S3:

email3nome3

sal3EMP_FOR

Exemplo

Page 27: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

nome tel sal

Exemplo

localemail

nger EMP_M

Esquema de

med

Passo 1: Definição do Esquema do Mediador

Page 28: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

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’]

Assertivas de Correspondência de Tipos

Exemplo

Passo 2: Integração do Esquema do Mediador

Page 29: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

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 Atributos

Page 30: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

AC18: EMP_M-nger EMP-R1-DEPTO-R2-GER-nger1

Exemplo - Passo 2

Assertivas de Correspondência de Caminhos

S1:

nome1 nger1tel1 #depto1

EMP DEPTO GERR1 R2

nome tel sal

localemail

nger EMP_MSmed:

Page 31: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

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>}>

Exemplo

Passo 3: Especificação do Mediador (Mapeador de Estados)

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>}>

Page 32: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

Passo 3: Especificação do Mediador (Mapeador de Atualizações)

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}

Exemplo - Passo 3

nome1 nger1tel1 #depto1 data1

EMP DEPTO GERR1 R2 local

nome tel

email

sal

nger EMP_M

SS11SSmedmed

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

Page 33: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

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)

Page 34: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

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

Page 35: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE

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