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

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

Marcelino Pereira CIn-UFPE
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Agentes Cooperativos num ambiente dinâmico
Prof. Bruno Rafael de Oliveira Rodrigues
Sistema para Criação e Testes de Modelos Formais
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Maurício Edgar Stivanello
Sistema Gerenciador de Banco de Dados SGBD
Por que Construir um Data Warehouse ?
Otimização de Consultas em SQL Parte I - Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 19 Profa. Sandra de Amo Programa.
Gerenciamento de Banco de Dados
SQL Exercícios de Revisão
Otimização de Consultas em SQL Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 24 Profa. Sandra de Amo GBC053 – BCC
Resolução.
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
Hierarquia de Visões de Objeto
Subconsultas ou Consultas Aninhadas
Tópicos em Engenharia de Software II
Chapter 4: Threads.
Árvore Binária de Busca
Introdução a Teoria da Classificação
INTRODUÇÃO À PROGRAMAÇÃO
Fundamentals of Database Processing
Junções Adaptativas em consultas Federadas sobre Linked Data
Material III-Bimestre Wagner Santos C. de Jesus
Using Concept Hierarchies in Knowledge Discovery
7.1 © 2004 by Pearson Education 7 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo.
Prof. Alexander Roberto Valdameri
Prof. Alexander Roberto Valdameri
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Composição e Geração de Aplicações usando Aspectos
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Visão Geral de Equipamentos de Rede
Administração de Sistemas de Informação Banco de Dados
Recuperação de Informação Distribuída por Fontes Autónomas com Sobreposição Joaquim Macedo Departamento de Informática Escola de Engenharia.
JAVA: Conceitos Iniciais
Transformação ODMG Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional Transformação Esquema Objeto Esquema.
Aplicando tecnologias semânticas ao Balanced Scorecard
Programação de Computadores I Apresentação da Disciplina Prof. André Renato 2º Semestre / 2012.
Compiladores, Aula Nº 7 João M. P. Cardoso
Dispositivos Lógicos Programáveis (DLP) Ideia e Arquiteturas
Banco de Dados II Prof. Antônio Cordeiro.
Otimizador de consultas
Tipos Estruturados de Dados
Tecnologia da Informação
Otimização de Consultas em SQL Planos de Execução
Módulo: Gerenciamento de Incidentes e
Arquitetura do Software
Conjuntos (continuação)
IF696 - Integração de Dados e DW
1.
1 My GRID: Bio-informática personalizada em uma grade de informação. Francisco Silva
Desenvolvendo um script SQL
Introdução a Banco de dados
Vânia Maria P. Vidal, José Maria Monteiro, Luís Eufrasio T. Neto
Exercícios SGBD - CESPE
QBE e QUEL Ana Carolina Salgado Fernando Fonseca Valéria Times.
Software engineering, the software process and their support M.M. Lehman Apresentadora: Tarciana Dias da Silva.
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
1 Segunda fase do projeto: Desenvolvimento do “Catálogo Virtual” Foco em Sistemas de Informação Desenvolvimento baseado no diagnóstico e na interação com.
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
A abordagem de banco de dados para gerenciamento de dados
Comandos SQL.
Tradutor Oracle SQL Server Núcleo comum Lookup Middleware consultas esquema de mediação Base de dados das fontes locais Ambiente de geração das consultas.
Disciplina : Tópicos Avançados em Inteligência Artificial Simbólica Professores: Dr. Fred Freitas / Dra. Bernadette Farias Aluno: Clovis Holanda Introdução.
Banco de Dados I I Comandos SQL
Projeto de Banco de Dados
Lenylda Albuquerque ISO Processos de Ciclo de Vida de Software Universidade Federal de Pernambuco.
INTEGRAÇÃO DE DADOS: UMA PERSPECTIVA TEÓRICA Guilherme P. K. Caminha Disciplina: IF696.
Transcrição da apresentação:

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 Mediador 1 Mediador 2 Nível de Mediação Tradutor 1 Tradutor 2 Tradutor 3 Nível de Dados Base de Dados 1 Base de Dados 2 Base de Dados 3

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

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: EMP_RIO sal1 nome1 tel1 BD1: EMP_FOR sal2 email2 BD2: Esquema do mediador: local EMP_M MED: email sal nome tel

Recupere todos os dados do empregado chamado Roberto 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” C1 C2: select nome2, tel2, sal2 from EMP_FOR C2 Tradutor1 Tradutor2 Emp_Rio Emp_For

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 nome1 = “Roberto” sal = 1000 tel = 221.2233 Tradutor1 Tradutor2 Emp_Rio Emp_For

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

Recupere o salário do empregado chamado Roberto 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” C1 C2: select nome2, sal2 from EMP_PROJ2 C2 Tradutor3 Tradutor4 Emp_Proj1 Emp_Proj2

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

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

Assertivas do mediador 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 Esquemas Locais Integração do Esquema do Mediador Assertivas de Correspondência do Mediador

Assertivas de Correspondência 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

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

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

Assertivas do mediador 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

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

Mapeador de Atualizações Especificação do Mediador Mapeador de Atualizações DM = (sM{DS1,...,DSn}) {DS1,...,DSn} sM tS1(u) tSn(u) tM u D’M = (sM{D’S1,...,D’Sn}) 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

Definindo Tradutores TRADUTOR Processo de Definição de um Tradutor: Especificação do Mediador Definindo Tradutores Pedido de Atualização Tradução (Seqüência de Atualizações) 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

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

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

Passo 2: Integração do Esquema do Mediador 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’]

Assertivas de Correspondência de Atributos 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

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

Passo 3: Especificação do Mediador (Mapeador de Estados) 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>}>

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