220 likes | 321 Views
Arquitetura P2P (Integração de Dados). Luciana Pereira Oliveira lpo@cin.ufpe.br www.cin.ufpe.br/~lpo Professora: Valéria Times Duração: 30 minutos Data: 11/02/2005. Arquitetura Peer-to-Peer (P2P). Definição de Sistema de Banco de Dados P2P:
E N D
Arquitetura P2P (Integração de Dados) Luciana Pereira Oliveira lpo@cin.ufpe.br www.cin.ufpe.br/~lpo Professora: Valéria Times Duração: 30 minutos Data: 11/02/2005
Arquitetura Peer-to-Peer (P2P) • Definição de Sistema de Banco de Dados P2P: • Não há distinção entre Clientes e Servidores. • Todas as máquinas têm todas as funcionalidades dos SGBDs. • Podem se comunicar com outras máquinas para executar transações e consultas. (Distribuição da computação local). • Topologia da rede pode ser modificada dinamicamente. • Possivelmente, diferentes Esquemas • Vantagens: • Disponibilidade do Sistema e dos Dados • Escalabilidade • Dificuldades: • Consistência dos Dados • Otimização das Consultas • Maior Complexidade nas Operações
Processo de Integração DB 1 DB 2 DB n N modelos Tradução de Esquemas Tradutor 1 Tradutor 2 Tradutor n Representação Canônica Local esquema 1 Local esquema 2 Local esquema n Integração de Esquema Integrador Esquema Global • Esquema conceitual global • Descrição global e unificada da fontes; e transparência de distribuição. • Integração de Esquemas • Homogeneização • Integração: • Completa, Mínima • Mapeamento de Esquemas • Regras de mapeamento entre esquemas locais e o esquema global
Arquitetura Geral Esquema Externo1 Esquema Externo2 Esquema Externo3 Esquema Conceitual Global Esquema Conceitual Local_A Esquema Conceitual Local_B Esquema Conceitual Local_C Esquema Interno Local_A Esquema Interno Local_B Esquema Interno Local_C • EIL – Heterogeneidade da organização dos dados físicos. • ECG - Estrutura lógica dos dados em todos os sites. • ECL - Fragmentação e replicação. • O modelo favorece: • Independência de dados. • Transparência de localização. • Transparência de replicação.
Detalhes dos Componentes da Arquitetura Geral Processador do Usuário Tradutor da interface do usuário EE Controlador de dados semânticos ECG Otimizador de consulta global DG Monitor de execução global Processador de Dados ECL Processador de consulta local Log do Sistema Gerenciador de recuperação local Processador de suporte runtime EIL Usuário Respostas do Sistema Solicitação do Usuário
Componente Processador do Usuário Usuário Respostas do Sistema Solicitação do Usuário Processador do Usuário Tradutor da interface do usuário EE Controlador de dados semânticos ECG Otimizador de consulta global Processador de Dados ECL Processador de consulta local DG Log do Sistema Monitor de execução global Gerenciador de recuperação local Processador de suporte runtime EIL
Componente Processador de Dados Usuário Respostas do Sistema Solicitação do Usuário Processador do Usuário Tradutor da interface do usuário EE Controlador de dados semânticos ECG Otimizador de consulta global Processador de Dados DG ECL Processador de consulta local Monitor de execução global Log do Sistema Gerenciador de recuperação local Processador de suporte runtime EIL
Sistema P2P coDB • Baseado em modelos lógicos • Bancos de dados relacionais • Definições: • Banco de dados local: conjunto de dados, índices e restrições que serão compartilhados. • Regra de coordenação: mapear objetos que estão em diferentes nós. • Sistema P2P • Consulta
Integração P2P BD interno BD público BD da Agência de Pensões BD1 BD2 BD3 Regras BD1 e BD2: • Cidadão-1(x,y) => (Masculino-2(x) V Feminino-2(x)) Regras BD2 e BD3 • Masculino-2(x) => Cidadão-3(x) • Feminino-2(x) => Cidadão-3(x) Regras BD1 e BD3 • Cidadão-1(x) => Cidadão-3(x) Regras Cíclicas • Cidadão-1(x,”Casado”) => União-3(x,y) • União-3(x,y) => Cidadão-1(x,”Casado”) ^ Cidadão-1(y,”Casado”) Conclusão não desejável no P2P
Arquitetura para Processamento de Consultas Distribuídas Regra de Coordenação na Arquitetura coDB Cabeça peer1 Cabeça 1 peer3 Compartilha algumas variáveis da relação Compartilha algumas variáveis da relação Relações peer1 Relações peer3 Corpo 2 Corpo 2 C1 C1 Cabeça 1 peer2 C3 Possibilidade de Importar dados de peers conhecidos de um dado peer. Compartilha algumas variáveis da relação Relações peer2 Corpo 2
Arquitetura para Processamento de Consultas Distribuídas Regra de Coordenação na Arquitetura coDB Cidadão-1(x) peer1 Cabeça 1 peer3 Cidadão-1(x,y) Compartilha algumas variáveis da relação Cidadão-1 União-3 Cidadão-3 Cidadão-3(x) Corpo 2 Masculino-2(x) V Feminino-2(x)) C1 C1 • Masculino-2(x) peer2 C3 Possibilidade de Importar dados de peers conhecidos de um dado peer. Feminino-2 Masculino-2 Cidadão-3(x) C2
Comportamento Dinâmico da Rede • O gerenciado do banco de dados (MBD) pode variar dinamicamente: • adicionar(corpo i,cabeça j, regra,identificados) • remover(corpo i,cabeça j, regra,identificados) • adicionar(nó, regra) • remover(nó)
= Solicita = Encaminha Consulta Processamento de Consulta e Atualização = Processa Consulta = Encontra Resulta = Encaminha Resposta
Arquitetura P2P (coDB) • Um nó consiste de: • Uma camada P2P • Um banco de dados local (LDB) • Um esquema de banco de dados (DBS) • A camada P2P possui: • A interface com o usuário (UI) • Camada JXTA • Tradutor (Wrapper) • Gerenciador do banco de • dados (DBM)
Camadas do coDB Interface com o Usuário Gerenciador do banco de dados JXTA Wrapper Camada P2P DBS Banco de dados Local (LDB) Peer 1
Camadas do coDB Interface com o Usuário • Processa: • Consultas de usuários • Consultas que vieram da rede • Requisições de atualizações globais • Requisições de consultas dependentes • É responsável pelo processamento de resultados de consultas do banco de dados local e da rede. • Gerencia: • A propagação de consultas • Pedidos de atualização • Resultados de atualização na rede Gerenciador do banco de dados JXTA Wrapper Camada P2P DBS Banco de dados Local (LDB) Peer 1
Camadas do coDB Interface com o Usuário Gerenciador do banco de dados JXTA Wrapper Camada P2P DBS Banco de dados Local (LDB) Peer 1
Camadas do coDB Interface com o Usuário Por exemplo, quando o banco de dados local não suporta consultas aninhadas, é responsabilidade do wrapper fornecer este suporte Gerenciador do banco de dados JXTA Wrapper Camada P2P DBS Banco de dados Local (LDB) Peer 1
Camadas do coDB Interface com o Usuário peer3 Gerenciador do banco de dados peer2 peer4 JXTA Wrapper Rede de banco de dados P2P Camada P2P DBS Banco de dados Local (LDB) Peer 1
Considerações Finais • Visão geral de integração • Diversas possibilidades de integração • XML • Tabelas Virtuais (Oracle) • Regras de coordenação • Arquiteturas de Sistemas de Bancos de Dados: • P2P • Cliente/Servidor • Vários Bancos de Dados
Referências • F. Enrico, K. Gabriel, L. Andrei e Z. Ilya; “The coDB Robust Peer-to-Peer Database System”. • M. Tamer Özsu e Patrick Valduriez; “Princípios de Sistemas de Bancos de Dados Distribuídos”