Usando Mediadores para Integrao de Mltiplas Bases de
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 3 Nível de Dados Base de Dados 1 Base de Dados 2 Base de Dados 3
Mediadores FExploram o conhecimento representado em um conjunto ou subconjunto de dados MEDIADOR BD 2 BD 1 BD 3 FGeram 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: BD 1: EMP_FOR BD 2: EMP_RIO sal 2 nome 2 email 2 sal 1 nome 1 tel 1 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 C 1: select nome 1, tel 1, sal 1 from EMP_RIO where nome = “Roberto” Tradutor 1 C 1 Emp_Rio C 2: select nome 2, tel 2, sal 2 from EMP_FOR where nome = “Roberto” Tradutor 2 C 2 Emp_For
Exemplo 1 - Resultado da Consulta C: select nome, tel, sal, local, email from EMP_M where nome = “Roberto” Med nome 1 = “Roberto” sal = 1000 tel = 221. 2233 local = rio email = null nome 1 = “Roberto” sal = 1000 tel = 221. 2233 Tradutor 1 Tradutor 2 nome 1 = “Roberto” sal = 1000 tel = 221. 2233 Emp_Rio Emp_For
Exemplo 2 Esquemas Locais: BD 4: EMP_PROJ 2 BD 3: EMP_PROJ 1 sal 2 nome 2 email 2 sal 1 nome 1 tel 1 Esquema do mediador: MED 1: sal local email EMP_M 1 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_M 1 where nome = “Roberto” Med 1 C 1: select nome 1, sal 1 from EMP_PROJ 1 where nome = “Roberto” Tradutor 3 C 1 Emp_Proj 1 C 2: select nome 2, sal 2 from EMP_PROJ 2 where nome = “Roberto” Tradutor 4 C 2 Emp_Proj 2
Exemplo 2 - Resultado da Consulta C: select nome, sal nome = “Roberto” sal = R$ 6000, 00 from EMP_M 1 where nome = “Roberto” Med nome 1 = “Roberto” sal 1 = R$ 1000, 00 Tradutor 3 nome 1 = “Roberto” sal 1 = R$ 1000, 00 Emp_Rio nome 2 = “Roberto” sal 2 = R$ 5000, 00 Tradutor 4 nome 2 = “Roberto” sal 2 = 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 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 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 R 1 nome 1 tel 1 S 2: EMPREGADO nome 2 DEPTO R 2 GER #depto 1 data 1 nger 1 sal 2 nger 2 tel 2 1. Assertiva de Correspondência de Tipos EMPREGADO º EMP 2. Assertiva de Correspondência de Atributos nome 1 º nome 2 3. Assertiva de Correspondência de Caminhos EMP-R 1 -DEPTO-R 2 -GER-nger 1 º EMP_RIO-nger 2
Integração do Esquema do Mediador Assertiva de Dependência Existencial S 1: (P 1) PESSOA (PC)POSSUI (C 1) CARRO lic 1 cpf 1 S 2: (P 2) PROPRIETÁRIO cpf 2 lic 2 1. Assertiva de Dependência Existencial: POSSUI [PC-P 1 -cpf 1, PC-C 1 -lic 1] Í PROPRIETÁRIO [P 2 -cpf 2, P 2 -lic 2] (Um tipo de entidade é modelado como um tipo de relacionamento)
Requisitos dos Usuários Projeto de Mediadores Definição do 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 dos Esquemas Locais {DS 1, . . . , DSn} s. M Estado do Mediador DM = s. M ({DS 1, . . . , DSn}) s. M : mapeador de estados do mediador
Especificação do Mediador Mapeador de Atualizações {DS 1, . . . , DSn} t. S 1(u) t. Sn(u) {D’S 1, . . . , D’Sn} s. M t. M s. M DM = (s. M{DS 1, . . . , DSn}) u D’M = (s. M{D’S 1, . . . , D’Sn}) s. M : mapeador de estados do mediador t. M : 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) FProcesso 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 S 1: EMP DEPTO R 1 nome 1 tel 1 S 2: EMP_RIO nome 2 S 3: sal 2 tel 2 EMP_FOR nome 3 #depto 1 email 3 sal 3 R 2 GER nger 1
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 AC 5: EMP_M º EMP AC 6: EMP_M º Gen(EMP_RIO , EMP_FOR) AC 7: EMP_RIO º EMP_M [local = ‘rio’] AC 8: EMP_FOR º EMP_M[local = ‘for’]
Exemplo - Passo 2 Assertivas de Correspondência de Atributos AC 9: nome º nome 1 AC 10: nome º nome 2 AC 11: nome º nome 3 AC 12: tel º tel 1 AC 13: tel º tel 2 AC 14: sal º sal 2 AC 15: sal º sal 3 AC 16: local º [EMP_RIO : ’rio’; EMP_FOR: ’for’] AC 17: email º email 3
Exemplo - Passo 2 Assertivas de Correspondência de Caminhos AC 18: EMP_M-nger º EMP-R 1 -DEPTO-R 2 -GER-nger 1 S 1: EMP R 1 nome 1 tel 1 Smed: nger DEPTO #depto 1 EMP_M nome tel sal email local R 2 GER nger 1
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 {<nome 1 N> <tel 1 T> <EMP-R 1 -DEPTO-R 2 -GER-nger 1 G>}> and <EMP_RIO {<nome 2 N> <tel 2 T> <sal 2 S>}> Regra 2: <EMP_M {<nome N><tel T><sal S><nger G><email ‘null’><local ‘for’}> : - <EMP {<nome 1 N> <tel 1 T> <EMP-R 1 -DEPTO-R 2 -GER-nger 1 G>}> and <EMP_RIO {<nome 3 N> <tel 3 T> <sal 3 S>}>
Exemplo - Passo 3: Especificação do Mediador (Mapeador de Atualizações) Smed nger S 1 EMP_M nome tel sal email local EMP nome 1 R 1 tel 1 DEPTO #depto 1 R 2 GER data 1 nger 1 1. Atualização: u = {e. nger : = ‘v’} /*e = (nome: ‘joão’, tel: ‘ 223. 9675’, . . , nger: ‘pedro’)*/ 2. AC Relevante: EMP_M-nger º EMP-R 1 -DEPTO-R 2 -GER-nger 1 3. Tradutor “Modifica_nger “: /*Ação Requerida para preservação de AC 18*/ Se existir (i) e’ Î EMP tal que e’º e (ii) d ÎDEPTO tal que d. (DEPTO. R 2. GER-nger 1) = ‘v’ (iii) r Î R 1 tal que e. (EMP-R 1) = r Então { r. (R 1 -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 • [Chawathe 94] Chawathe, S. , Garcia Molina, H. , Hammer, J. “The TSIMMIS Project: Integration of Heterogeneous Information Sources”, IPSJ’ 94. • [Lóscio 98] 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. • [Vidal 97] 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. • [Wiederhold 92] Widerhold, G. , “Mediators in the Architecture of Future Information Systems”, IEEE Computer, pp. 38 -49, Mar. 1992. • Projeto TSIMMIS - www-db. stanford. edu
- Slides: 35