1 / 35

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

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.

talbot
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Plano de Aula • Motivação • Arquitetura de Mediadores • Projeto de Mediadores • Integração do Esquema do Mediador • Especificação do Mediador • Exemplo • Conclusões

  3. 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

  4. Solução: • Desenvolver meios para prover acesso integrado e transparente aos dados, além de melhorar o acesso e a qualidade da informações Integração de Múltiplas Bases de Dados • Principal Problema: • Heterogeneidade - os sistemas tem sido desenvolvidos usando diferentes especificações e modelo de dados

  5. Nível de Aplicação Nível de Mediação Mediador 1 Mediador 2 Tradutor 1 Tradutor 2 Tradutor 3 Nível de Dados Base de Dados 1 Base de Dados 2 Base de Dados 3 Arquitetura de Mediadores

  6. Geram informações para aplicações residentes em uma camada superior • Exploram o conhecimento representado em um conjunto ou subconjunto de dados BD1 BD2 BD3 Mediadores MEDIADOR

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

  8. EMP_FOR EMP_RIO BD1: BD2: sal2 nome2 email2 sal1 nome1 tel1 local email sal nome tel Exemplo 1 Esquemas Locais: Esquema do mediador: EMP_M MED:

  9. Exemplo 1 Recupere todos os dados do empregado chamado Roberto Aplicação Mediador

  10. C1: select nome1, tel1, sal1 from EMP_RIO where nome = “Roberto” C2: select nome2, tel2, sal2 from EMP_FOR where nome = “Roberto” C2 C1 Emp_For Emp_Rio Exemplo 1 - Execução da Consulta C: select nome, tel, sal, local, email from EMP_M where nome = “Roberto” Med Tradutor1 Tradutor2

  11. nome1 = “Roberto” sal = 1000 tel = 221.2233 nome1 = “Roberto” sal = 1000 tel = 221.2233 Emp_For Emp_Rio Exemplo 1 - Resultado da Consulta C: select nome, tel, sal, local, email from EMP_M where nome = “Roberto” nome1 = “Roberto” sal = 1000 tel = 221.2233 local = rio email = null Med Tradutor1 Tradutor2

  12. EMP_PROJ2 EMP_PROJ1 BD3: BD4: sal2 nome2 email2 sal1 nome1 tel1 local email sal nome tel Exemplo 2 Esquemas Locais: Esquema do mediador: EMP_M1 MED1:

  13. Exemplo 2 Recupere o salário do empregado chamado Roberto Aplicação Mediador

  14. C1: select nome1, sal1 from EMP_PROJ1 where nome = “Roberto” C2: select nome2, sal2 from EMP_PROJ2 where nome = “Roberto” C2 C1 Emp_Proj2 Emp_Proj1 Exemplo 2 - Execução da Consulta C: select nome, sal from EMP_M1 where nome = “Roberto” Med1 Tradutor3 Tradutor4

  15. nome2 = “Roberto” sal2 = R$ 5000,00 nome1 = “Roberto” sal1 = R$ 1000,00 nome2 = “Roberto” sal2 = R$ 5000,00 nome1 = “Roberto” sal1 = R$ 1000,00 Emp_For Emp_Rio Exemplo 2 - Resultado da Consulta C: select nome, sal from EMP_M1 where nome = “Roberto” nome = “Roberto” sal = R$ 6000,00 Med Tradutor3 Tradutor4

  16. Modelo de dados comum Linguagem de consultas comum Ferramentas p/ criação de mediadores Suporte para arquitetura de mediadores 1 2 3

  17. Requisitos dos Usuários Definição do Esquema do Mediador Integração do Esquema do Mediador Projeto de Mediadores Esquema do Mediador Assertivas do mediador Mapeador de Estados e Mapeador de Atualizações Especificação do Mediador

  18. Integração do Esquema do Mediador Esquema do Mediador Esquemas Locais • Integração do Esquema • do Mediador Assertivas de Correspondência do Mediador

  19. 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

  20. R1 R2 EMP DEPTO GER S1: nome1 tel1 #depto1 nger1 data1 S2: sal2 EMPREGADO nger2 nome2 tel2 Integração do Esquema do Mediador Assertivas de Correspondência • 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

  21. (PC)POSSUI S1: (C1) CARRO (P1) PESSOA lic1 cpf1 (P2) PROPRIETÁRIO S2: cpf2 lic2 Integração do Esquema do Mediador Assertiva de Dependência Existencial 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)

  22. Requisitos dos Usuários Definição do Esquema do Mediador Integração do Esquema do Mediador Projeto de Mediadores Esquema do Mediador Assertivas do mediador Mapeador de Estados e Mapeador de Atualizações Especificação do Mediador

  23. s Estados dos Esquemas Locais Estado do Mediador M {DS1,...,DSn} DM = sM({DS1,...,DSn}) Especificação do Mediador Mapeador de Estados sM : mapeador de estados do mediador

  24. sM {DS1,...,DSn} DM = (sM{DS1,...,DSn}) tM tS1(u) tSn(u) u sM D’M = (sM{D’S1,...,D’Sn}) Especificação do Mediador Mapeador de Atualizações {D’S1,...,D’Sn} sM : mapeador de estados do mediador tM : mapeador de atualizações do mediador Mapeador de Atualizações = Conjunto de Tradutores

  25. Tradução (Seqüência de Atualizações) Pedido de Atualização Especificação do Mediador Definindo Tradutores TRADUTOR • 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

  26. EMP_RIO sal2 nome2 tel2 Exemplo R1 R2 EMP DEPTO GER S1: nome1 tel1 #depto1 nger1 S2: S3: EMP_FOR sal3 nome3 email3

  27. Exemplo Passo 1: Definição do Esquema do Mediador Esquema de med email EMP_M nger local nome tel sal

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

  29. 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

  30. Exemplo - Passo 2 Assertivas de Correspondência de Caminhos AC18: EMP_M-nger º EMP-R1-DEPTO-R2-GER-nger1 R1 R2 EMP DEPTO GER S1: nome1 tel1 #depto1 nger1 Smed: email EMP_M nger local nome tel sal

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

  32. Exemplo - Passo 3 Smed S1 R1 R2 EMP DEPTO GER email EMP_M nger local nome1 tel1 #depto1 nger1 data1 nome tel sal Passo 3: Especificação do Mediador (Mapeador de Atualizações) 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}

  33. 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)

  34. 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

  35. 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”, XIISimpó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

More Related