• Nenhum resultado encontrado

Gerenciamento de Dados em Sistemas P2P XXI SBBD Florianópolis 16 a 18 de Outubro de 2006

N/A
N/A
Protected

Academic year: 2021

Share "Gerenciamento de Dados em Sistemas P2P XXI SBBD Florianópolis 16 a 18 de Outubro de 2006"

Copied!
187
0
0

Texto

(1)

Gerenciamento de Dados em Sistemas P2P

XXI SBBD – Florianópolis

16 a 18 de Outubro de 2006

Ana Carolina Salgado, Carlos Eduardo Santos Pires,

(2)

Cenário Ponto-a-Ponto

database.pd f database.pd f 0 arquivos encontrados database.pdf 2 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Auto-organização  Ausência de controle

centralizado

 Comportamento dinâmico  Dados não-estruturados  Busca por palavra-chave

(3)

Paradigma Ponto-a-Ponto

Compartilhamento de

serviços

e

serviços

e

recursos computacionais

(4)

P2P – Questões Importantes



Como reconhecer um outro ponto na rede?



Como publicar informações para os demais

pontos?



Como identificar unicamente um ponto?

4 SBBD'06 - Gerenciamento de Dados em Sistemas P2P



Como compartilhar dados na rede?

(5)

Cenário PDMS (Peer Data Management System) Histórico do Paciente Histórico do Paciente  Compartilhamento de dados estruturados

 Dados representados através

de esquemas

(6)

Novos Desafios



Localização dos Dados

 Pontos devem saber localizar dados em outros pontos



Processamento de Consultas

 Pontos devem localizar os dados e executar a consulta

eficientemente

6 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

eficientemente



Integração de Dados

 A heterogeneidade da representação dos dados nos

vários pontos deve ser resolvida



Consistência dos Dados

 A consistência deve ser mantida em caso de replicação

(7)

Agenda



Bancos de Dados X Sistemas P2P



Paradigma Ponto-a-Ponto (P2P)

 Características

 Topologias de Rede



P2P x Grades Computacionais



PDMS – Peer Data Management System

 Gerenciamento de Dados em PDMS  Principais PDMS

(8)

Bancos de Dados

X

Sistemas P2P

(9)

Evolução dos Sistemas de

Gerenciamento de Dados Distribuídos

SGBDD PDMS BD Federados Heterogeneidade Web P2P SGBDD Multi-BD Esquema

Global de MediaçãoEsquema

Sistema de Integração de Dados

(10)

Bancos de Dados Distribuídos



BD Distribuído

É uma coleção de múltiplos BD logicamente

inter-relacionados distribuídos através de uma

rede de computadores



Sistema de BD Distribuídos

10 SBBD'06 - Gerenciamento de Dados em Sistemas P2P



Sistema de BD Distribuídos

É definido como um sistema que permite o

gerenciamento de BD distribuídos deixando a

distribuição dos dados

transparente ao usuário

(11)

Evolução dos BD Distribuídos



Bancos de Dados Distribuídos

 Dados homogêneos  Acesso e atualização



Multi-Bancos de Dados

 Dados heterogêneos

 Acesso e atualização usando um esquema global



Bancos de Dados Federados

 Dados heterogêneos

(12)

Evolução dos BD Distribuídos



Sistemas de Integração de Dados

 Tipo particular de middleware

 Integração de fontes de dados distribuídas, autônomas e

heterogêneas

 Visão lógica unificada de dados (esquema global)

12 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Visão lógica unificada de dados (esquema global)

 Evita lidar com as inúmeras fontes, interfaces e representações

dos dados diferentes

 Apenas consultas aos dados

 Abordagens para integração de dados: virtual e

materializada

(13)

Vários Mediadores

Mediador Aplicação Aplicação Aplicação PDMS Mediador Mediador

Mediador Mediador Mediador

(14)

Sistemas de Gerenciamento de Dados

Ponto-a-Ponto (PDMS)



Compartilhamento de dados

descentralizado



Processamento e armazenamento de dados

distribuídos em

pontos autônomos



Comportamento dinâmico

dos pontos: podem

14 SBBD'06 - Gerenciamento de Dados em Sistemas P2P



Comportamento dinâmico

dos pontos: podem

entrar e sair do sistema a qualquer momento



Escalabilidade

sem servidores poderosos



Mapeamentos semânticos

dos dados

(15)

DB Distribuídos X PDMS

 BD Distribuídos

 Pequeno número de fontes  Nós controlados na rede  Dados consistentes

 Coordenação

 Dados estruturados (e.g.,

 PDMS

 Grande número de fontes  Nós entram e saem da rede  Dados não confiáveis

 Autonomia

 Dados semi-estruturados (e.g.,  Dados estruturados (e.g.,

modelo relacional)

 Transações

 Restrições de integridade  Consultas complexas

 Esquemas criados pelo

 Dados semi-estruturados (e.g.,

XML)

 Sem transações

 Sem restrições de integridade  Consultas simples

(16)

Banco de Dados X P2P



No paradigma P2P falta

semântica

,

transformação

de dados e

relacionamento

entre dados



BD oferecem

consultas

,

visões

e

restrições de

integridade

16 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

integridade



BD possibilitam

consultas complexas

e reuso

de resultados de consultas anteriormente

processadas

(17)

Banco de Dados P2P

P2 P3

P1 P4 Consultas Externas Minhas Consultas

(18)

Paradigma

Ponto-a-Ponto

(19)

Terminologia



Peer ≡

Ponto

 Componente de uma rede P2P

 Pode assumir o papel de cliente e servidor



Cluster

 Agrupamento de pontos com interesses específicos  Exemplo: cluster semântico



Topologia

de rede e localização dos dados

 Estruturada

(20)

Terminologia



Serviço

 Funcionalidades oferecidas os pontos  Transferência de conteúdo

 Disponibilização de status

 Motivação para agrupamento de pontos em uma rede

20 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Motivação para agrupamento de pontos em uma rede

P2P



Anúncio

 Forma de comunicar a disponibilidade de um recurso por

(21)

Terminologia

Rede Overlay

enlace virtual



Rede overlay

 Rede virtual criada sobre uma rede já existente  Não é exatamente igual à rede física

Rede Overlay

(22)

Classificação dos Sistemas Computacionais

Sistemas Computacionais

Sistemas Sistemas

22 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

Sistemas Centralizados

Sistemas Distribuídos

(23)

Sistemas Distribuídos

Cliente/Servidor

Cliente/Servidor Servidor

(24)

Paradigma Ponto-a-Ponto (P2P)

Consiste de uma ampla rede de

pontos computacionais

(ou nós de informação)

interconectados

que cooperam uns com os outros,

24 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

que cooperam uns com os outros,

trocando serviços e informações

Cada ponto

compartilha

recursos com

os outros pontos e se beneficia dos

recursos dos demais

(25)

Paradigma Ponto-a-Ponto (P2P)



Recursos compartilhados



Recursos computacionais

 Espaço em disco  Processamento  Processamento



Recursos de rede



Conteúdo

(26)

Paradigma Ponto-a-Ponto (P2P)



Sistemas P2P



Pontos possuem relativamente as

mesmas

características e funções



Pontos trocam mensagens através dos seus

links lógicos

sem a interferência de um

26 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

links lógicos

sem a interferência de um

coordenador

(ponto servidor)



Pontos são organizados através de uma

rede

(27)

Paradigma Ponto-a-Ponto (P2P)



Principais características

 Sem coordenação central  Sem repositório central

 Sem local único de falha ou gargalo

 Nenhum ponto tem visão global do sistema  Nenhum ponto tem visão global do sistema

 Todos os dados e serviços são acessíveis de qualquer

ponto

 Pontos são autônomos

(28)

Sistemas Ponto-a-Ponto (P2P)



Tipos de Sistemas

 Não Estruturados  Estruturados



Não Estruturados

28 SBBD'06 - Gerenciamento de Dados em Sistemas P2P



Não Estruturados

 Sem restrição de localização dos dados

 Principal aplicação: compartilhamento de arquivos  Busca por palavra-chave

(29)



Estruturados

 Referenciados como Distributed Hash Tables (DHT)  Alta escalabilidade

 Boa cobertura e alta precisão

Sistemas Ponto-a-Ponto (P2P)

 Dois aspectos importantes  Busca aos dados

 Acesso aos dados

camada virtual de rede (overlay network)

(30)

Paradigma Ponto-a-Ponto (P2P)



Vantagens

 Poder computacional (recursos dos demais pontos)  Pontos com diferentes papéis (cliente ou servidor)  Compartilhamento de recursos

30 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Melhor desempenho, tolerância a falhas (replicação)  Autonomia dos pontos participantes

 Ausência de administração

 Escalabilidade (e.g. KaZaA com ~3-4 milhões de

(31)

Paradigma Ponto-a-Ponto (P2P)



Desvantagens

 Ausência de tratamento semântico na troca de dados  Problemas com disponibilidade e consistência

 Falta de estratégia para distribuição dos dados  Pode prejudicar o desempenho de pontos

 Pode prejudicar o desempenho de pontos  Ausência de administração centralizada

 Usuários responsáveis por gerenciar seus próprios

recursos

(32)

Topologias de Redes

Ponto-a-Ponto

(33)

Topologias de Redes P2P



Topologia

 Define a organização lógica dos pontos na rede



Tipos

[Fiorano 2003]

 Pura  Híbrida

(34)

Topologias de Redes P2P

Sistemas Computacionais Sistemas Centralizados Sistemas Distribuídos 34 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

Centralizados Distribuídos

Cliente-Servidor Ponto-a-Ponto

(35)

Topologia Pura

 Inexistência de um servidor ou

repositório centralizado

 Todos os pontos são “iguais” e

conectados entre si Ponto  Busca  Não-Estruturada  Flooding  TTL (time-to-live)  Estruturada: DHT

(36)

Topologia Pura



Responsabilidades do ponto, como

cliente

:

 Enviar pedidos de serviço a outros pontos  Receber as respostas dos pedidos feitos



Responsabilidades do ponto, como

servidor

:

36 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Receber pedidos de serviço de outros pontos

 Processar os pedidos e executar um serviço requerido  Enviar a resposta com os resultados do serviço requerido  Propagar os pedidos de serviço a outros pontos

(37)

Busca na Topologia Pura Não-Estruturada

Ponto D Ponto E Ponto F

TTL = 1007

?

04

?

02 Q(X)

Ponto A Ponto B Ponto C

Ponto G Ponto H Ponto I

Arquivo X

?

?

IP do Ponto I IP do Ponto I

(38)

Topologia Híbrida

 Existência de um ou mais

servidores centrais

 Informações de controle são

armazenadas e fornecidas Ponto

Servidor Central

38 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

armazenadas e fornecidas por um servidor central

 Gerência facilitada

 Servidor central representa

um ponto único de falha

 Sistema: Napster

(39)

Topologia Híbrida

 Responsabilidades do ponto, como cliente:  Registrar no servidor seus serviços disponíveis

 Enviar ao servidor pedidos de busca por serviços e receber

respostas contendo listas de pontos com os serviços desejados

 Enviar a outros pontos pedidos de serviço e receber as respostas

destes pedidos

 Processar e executar os serviços requerido e enviar repostas a  Processar e executar os serviços requerido e enviar repostas a

quem fez o pedido

 Responsabilidades do ponto, como servidor:  Registrar serviços disponíveis nos pontos

 Receber pedidos de busca por serviços disponíveis, buscar por

esses serviços e enviar respostas com as localizações dos serviços desejados

(40)

Busca na Topologia Híbrida

IP do Ponto B

Ponto A Ponto Servidor Tabela Indexada Ponto D Upload de Nomes de Arquivos Q(X) 40 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

IP do Ponto B Ponto A Tabela Indexada Ponto B (Arquivo X) Ponto C

(41)

Topologia Super-Peer

Considera:



Heterogeneidade

dos pontos



Muitos pontos em conexões de baixa

capacidade

e alta

instabilidade



Poucos pontos em conexões de alta

capacidade

(42)

Topologia Super-Peer



Pontos heterogenêneos



Organização hierárquica



Grupos de pontos

comunicam-se com outros

42 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

grupos através de

super-peers



Cada super-peer indexa as

informações armazenadas

no seu conjunto de pontos



Sistemas: KaZaA, Morpheus

Ponto

Super Peer

(43)

Busca na Topologia Super-Peer

Ponto A1 Ponto A2 Ponto A3

Super-Peer A

Q(X)

Super-Peer A

Super-Peer B

Ponto B1 Ponto B2 Ponto B3 Ponto C1 Ponto C2 Ponto C3

(44)

Desafios da Topologia Super-Peer



Qual a taxa ideal de pontos por super-peer?



Como os super-peers devem conectar-se entre si?

 Topologia estruturada ou não-estruturada?



Variação:

44 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 K-redundant

(45)

Comparativo entre Topologias

Arquitetura Segurança (Pontos Maliciosos) Consistência (Dados) Escalabilidade (Entrar e Sair) Confiabilidade (Ponto de Falha) P2P Pura

















P2P Híbrida









Super-Peer

(46)

Propriedades dos

Sistemas P2P

(47)

Principais Propriedades dos Sistemas P2P



Conectividade



Auto-Organização



Descentralização



Descentralização



Escalabilidade



Roteamento



[Walkerdine 2002]

(48)

Conectividade



Ad-hoc e dinâmica



Envolve

 Conexão

 Desconexão (normal, falha)

48 SBBD'06 - Gerenciamento de Dados em Sistemas P2P



Conexão de um ponto na rede

 Feita através de outro que já esteja participando



Alguns pontos podem atuar como entry points



Pontos relacionados devem ficar “próximos” uns

(49)

Auto-Organização



Capacidade dos pontos se realocarem na rede

após a ocorrência de um evento

 Conexão

 Desconexão e/ou Falha  Timeout

 Timeout



A inexistência de uma administração centralizada

faz com que a reorganização de rede P2P fique ao

encargo dos próprios pontos

(50)

Descentralização



Dados e metadados estão distribuídos entre os

pontos



Não existe um servidor central responsável por

tarefas como

 Reorganização da rede

50 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Reorganização da rede

 Armazenamento de metadados



Próprios pontos devem ser responsáveis por tais

tarefas

(51)

Escalabilidade



Capacidade da rede P2P crescer sem ficar

sobrecarregada



Sistema cliente-servidor

 Administradores podem estender ou rebalancear os

recursos computacionais para compensar o crescimento recursos computacionais para compensar o crescimento da rede



Sistema P2P

(52)

Escalabilidade

 Depende da topologia adotada  Híbrida

 Dificuldade em tratar a escalabilidade

 Pontos centrais podem necessitar de balanceamento e/ou

expansão física do hardware para compensar o crescimento da rede

 Preocupação com os custos de manutenção dos pontos centrais

52 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Preocupação com os custos de manutenção dos pontos centrais  Contra-exemplo: Napster mostrou-se robusto e eficiente

 Pura

 Sobrecarga de troca de mensagens para descoberta de novos

pontos e buscas na rede

 Super-Peer

(53)

Roteamento



Principais mecanismos de roteamento para redes

P2P

 Híbrido

 Flooding (ou inundação): modelo descentralizado

não-estruturado estruturado

 Tabela Hash Distribuída (DHT): modelo descentralizado

estruturado

(54)

Roteamento – Flooding

 Problemas

 Excesso de mensagens  Mensagens duplicadas  Valor ideal de TTL

 TTL alto: sobrecarga na rede

 TTL baixo: nenhum resultado encontrado

54 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 TTL baixo: nenhum resultado encontrado

 Variações

 Busca informada: uso de cache local  Busca informada com replicação

(55)

Roteamento – Modelo DHT



Tentativa de melhorar os algoritmos de roteamento

dos sistemas P2P não-estruturados



Itens (arquivos) são distribuídos entre os pontos de

acordo com um algoritmo

 Pontos não escolhem os itens à vontade

(56)

Roteamento – Modelo DHT



Função hash

 Mapeia um ponto em um identificador único  h(‘172.17.166.99’)  8400

 Mapeia um item (arquivo) em um identificador único  h(‘TutorialP2P.ppt’)  8045

56 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 h(‘TutorialP2P.ppt’)  8045

 Qualquer função aleatória de hash “boa” é suficiente  Padrão SHA-1 (colisão praticamente impossível)



Faixa de resultados da função hash é distribuída

(57)

Roteamento – Modelo DHT



Cada ponto é responsável por armazenar itens cujo

identificador é igual ou próximo ao identificador do

ponto



Dado um identificador, um ponto deve ser capaz de

encaminhar a consulta para o ponto cujo

identificador mais se aproxima

(58)

Roteamento – Modelo DHT

 Para cada objeto, o(s) ponto(s) cuja faixa “cobre” o objeto

deve ser alcançável por um caminho “curto”

 De qualquer outro ponto  Abordagens

 Chord, CAN, Pastry, Tapestry, ...

 Diferem na escolha do algoritmo de roteamento (determina a

58 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Diferem na escolha do algoritmo de roteamento (determina a

geometria da rede)

 Geometrias  Anel: Chord

 Árvore: Pastry, Tapestry  XOR: Kademlia

 Hipercubo: CAN

(59)
(60)

Roteamento

 Ineficiência de consultas no modelo de inundação

(escalabilidade)

 Consultas no modelo DHT  Escalonável, porém “pobre”  Não permite

 Consultas por aproximação

60 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Consultas por aproximação  Consultas por faixa

 Uma consulta deve ser enviada apenas para os pontos

aptos a respondê-la

 Em geral, é possível representar o conteúdo compartilhado

através de ontologias

(61)

Semantic Overlay Network

 Virtual, abstrata, camada independente de pontos selecionados

Vantagens

 Introduz visões semânticas sobre a rede física

 Mediação e integração

Roteamento - SON

 Mediação e integração (correspondências, reescrita de consultas)  Reduz a quantidade de mensagens na rede

(62)

Roteamento - SON



Pontos agrupados em

clusters



Overlap de clusters



Consultas enviadas

62 SBBD'06 - Gerenciamento de Dados em Sistemas P2P



Consultas enviadas

apenas para clusters

relevantes



Clusters irrelevantes

são descartados

(63)

Roteamento - SON

 SON associada ao conceito de hierarquia de

classificação

 Exemplos

 9 SON para classificação de músicas por estilo  4 SON para classificação de músicas por ton

Música Rock Jazz Soft Dance New Orlean Fusion Estilos u b -e st ilo s Música

Warm Exciting Sweet

(64)

SON: Critérios para Definição da Hierarquia



Documentos devem ser

associados a

conceitos

para que o ponto seja associado

a(s) SON correspondente(s)



Pontos devem possuir documentos em

64 SBBD'06 - Gerenciamento de Dados em Sistemas P2P



Pontos devem possuir documentos em

um

número reduzido de categorias

(65)

SON: Estratégias para Alocação de Pontos

 Estratégia conservadora

 Aloque um ponto em SONc

,

se o mesmo possui algum

documento classificado no conceito c

Produz muitos links

 Estratégia menos conservadora

 Aloque um ponto em SONc, caso o mesmo possua uma quantidade de

(66)

Outras Propriedades de Sistemas P2P



Autonomia

 Um ponto não deve ter controle sobre os recursos

compartilhados por outro ponto



Anonimato

 Capacidade do sistema ocultar a identificação do usuário

66 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Capacidade do sistema ocultar a identificação do usuário



Descoberta de Recursos

 Os pontos devem comunicar a disponibilidade de

(67)
(68)

Plataformas de Desenvolvimento

 Desenvolvimento de sistemas P2P

 Implementação de protocolo de comunicação próprio para permitir a

interoperabilidade entre os pontos da rede

 Conseqüências

 Esforço de implementação adicional

 Aplicações que oferecem o mesmo serviço não podiam

comunicar-68 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Aplicações que oferecem o mesmo serviço não podiam

comunicar-se entre si

 Exemplo

 Arquivos compartilhados por sistemas como o KaZaA, e-Mule e Gnutella  São acessíveis exclusivamente dentro de suas próprias redes

(69)

Plataformas de Desenvolvimento



Popularização dos sistemas P2P

 Esforço maior em construir plataformas e frameworks de

desenvolvimento

 Aplicações distintas podem comunicar-se entre si

naturalmente



Exemplos de plataformas

 JXTA

 Web Services  .NET

(70)

Plataforma JXTA

 Plataforma aberta para desenvolvimento de sistemas P2P  Começou como um projeto de pesquisa incubado na Sun

Microsystems

 Oferece um conjunto de protocolos para comunicação,

colaboração e compartilhamento de recursos, entre

diferentes tipos de dispositivo, e.g. celulares, estações de

70 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

diferentes tipos de dispositivo, e.g. celulares, estações de trabalho, PDA e servidores

 Principais objetivos

 Interoperabilidade (entre diferentes sistemas e comunidades P2P)  Independência de plataforma (diversas linguagens de programação,

sistemas operacionais e redes)

 Generalidade (qualquer tipo de dispositivo digital)  Segurança

(71)
(72)

Classes de

Aplicações P2P

(73)

Classes de Aplicações P2P



Computação Distribuída



Troca de Mensagens



Trabalho Colaborativo



Compartilhamento de Dados



Compartilhamento de Dados

Não-estruturado Estruturado/Semi-estruturado

(74)

Computação Distribuída



A idéia de aproveitar recursos computacionais

ociosos não é nova



Grade Computacional

 Solução de computação distribuída para engenharia e

ciências, baseada em compartilhamento de recursos em

74 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

ciências, baseada em compartilhamento de recursos em larga escala

 Discutiremos adiante



SETI@Home (http://setiathome.ssl.berkeley.edu)

 The Search for Extraterrestrial Intelligence  Usuários executam partes da “busca”

(75)
(76)

Troca de Mensagens



Instant Messaging (IM)



Aplicação popular na Internet, pela facilidade de

enviar mensagens on-line



Exemplos

76 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Yahoo! Messenger (http://messenger.yahoo.com)  AIM (AOL Instant Messenger - http://www.aim.com)  ICQ – (http://web.icq.com)

 MSN Messenger (http://messenger.msn.com)  Trillian Messenger – (http://www.trilian.de)

(77)
(78)

Trabalho Colaborativo



Groupware

 Aplicação que suporta colaboração, comunicação e

coordenação de vários usuários em uma rede

 Exemplo Cliente/Servidor: Lotus Notes



A combinação de groupware com computação P2P

78 SBBD'06 - Gerenciamento de Dados em Sistemas P2P



A combinação de groupware com computação P2P

trouxe novas oportunidades



Groove (http://www.groove.net)

 Usuários criam e compartilham espaços de trabalho  Oferece servidores centralizados para maior garantia  Oferece uma plataforma de desenvolvimento (GDK)

(79)
(80)

Compartilhamento de Arquivos



Aplicação de maior sucesso na Internet



Os usuários podem compartilhar diretamente seus

arquivos, músicas, vídeos, entre outros



Pode apresentar problemas de violação de direitos

autorais

80 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

autorais



Características

 Área de armazenamento  Disponibilidade de informações  Anonimato  Gerenciamento

(81)

Compartilhamento de Arquivos



Napster (http://www.napster.com)



KaZaA (http://www.kazaa.com)



Gnutella (http://www.gnutella.com)



Freenet (http://www.freenetproject.org)



BitTorrent (http://www.bittorrent.com)



Morpheus (http://www.morpheus.com)

(82)

P2P e Grades

Computacionais

(83)

Grades Computacionais

Paradigma para

compartilhamento

coordenado de recursos

e

resolução de problemas

resolução de problemas

em organizações virtuais,

multi-institucionais e dinâmicas

(84)

Grades Computacionais



Computação em grade

 Plataforma de computação distribuída geograficamente  Máquinas heterogêneas

 Interface única de acesso

 Disponibiliza camadas virtuais

84 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Disponibiliza camadas virtuais

 Recursos computacionais variados e dispersos em um único

“supercomputador virtual”

 Aplicações de alto desempenho

(85)

P2P e Grades Computacionais

 Computação em Grade

 Caso especial de computação P2P

 Nós participantes dispõem de muitos recursos  Colaboração entre os nós é restrita e organizada  Computação P2P é mais amigável

 Usuários compartilham recursos e conteúdo de forma simples e  Usuários compartilham recursos e conteúdo de forma simples e

gratuita

 Semelhanças

 Modelos de computação distribuída

 Computadores ligados em rede colaboram entre si, de modo

descentralizado

(86)

Comparativo P2P x Grades Computacionais

Critério P2P Grade Computacional

Nós Participantes -Muitos (usuários comuns) -Conexões variadas

-PCs

-Poucos (Organizações) -Redes de alta capacidade -Servidores (Clusters)

Segurança -Comunidades abertas

-Pouco explorado -Anonimato -Comunidades Fechadas -Muito explorado -Autenticação/Autorização/Confiabilidade 86 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

-Anonimato

-Difícil de gerenciar

-Autenticação/Autorização/Confiabilidade -Mais simples de gerenciar

Conectividade Instável Estável

Consultas Resultados incompletos Resultados completos Aplicações Simples Alto Desempenho Descoberta de

Recursos

Informações disponíveis em um ponto

Nós enviam mensagens periodicamente

Tolerância à Falhas Bastante explorado Pouco explorado

(87)
(88)

Sistemas de Gerenciamento de Dados

Ponto-a-Ponto (PDMS)

Sistema de Gerenciamento de Dados

com arquitetura

descentralizada

,

facilmente

extensível

, na qual qualquer

usuário pode contribuir com novos

88 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

usuário pode contribuir com novos

dados

, novos

esquemas

, ou

mapeamentos

entre os esquemas dos

(89)

Sistemas de Gerenciamento de Dados

Ponto-a-Ponto (PDMS)

São uma evolução natural dos

Sistemas de Integração de Dados

substituindo seu único esquema lógico

substituindo seu único esquema lógico

(mediação) por uma

coleção de

mapeamentos semânticos

entre os

(90)

Sistemas de Gerenciamento de Dados

Ponto-a-Ponto (PDMS)



Algumas características

 Autonomia: controle sobre os dados locais

 Dinamismo: pontos e recursos podem entrar e sair a

qualquer momento

 Descentralização: cada ponto é independente dos outros

90 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Cooperação: compartilhamento de recursos e serviços

entre os pontos

 Esquema local do BD: cada ponto tem seu esquema

(ausência de esquema global)

 Dados: podem estar incompletos, indisponíveis ou

(91)

Arquitetura Genérica de um Ponto

Camada de Gerenciamento de Dados Camada de Gerenciamento de Dados

Gerenciador de Consultas Gerenciador de Atualizações C am ad a de A ce ss o ao s D ad os C am ad a de A ce ss o ao s D ad os In te rf ac e co m o U su ár io In te rf ac e co m o U su ár io C am ad a de R ed e P 2P C am ad a de R ed e P 2P Consulta Local Consulta Global Rede P2P Ponto Ponto Fonte de Mapeamentos Cache de Dados Wrapper de Atualizações Gerenciador de Cache C am ad a de A ce ss o ao s D ad os C am ad a de A ce ss o ao s D ad os In te rf ac e co m o U su ár io In te rf ac e co m o U su ár io C am ad a de R ed e P 2P C am ad a de R ed e P 2P Resposta Ponto Ponto Ponto Ponto

(92)

Sistemas de Gerenciamento de Dados

Ponto-a-Ponto (PDMS)



Gerenciamento de dados distribuídos



Compartilhamento de dados em larga escala



Solução depende fortemente da topologia

adotada

92 SBBD'06 - Gerenciamento de Dados em Sistemas P2P



Impraticável a existência de esquema de

(93)

Problemas de um Esquema de Mediação Único  Conflito com as propriedades dos sistemas P2P

 Dinamismo

 Atualização do esquema de mediação a cada conexão e/ou

desconexão

 Autonomia

 Nem todos os pontos querem compartilhar todos os dados  Escalabilidade

 Onde armazenar um esquema de mediação único?

 Centralizado

• Ponto único de falha

• Investimento em hardware e conectividade

 Distribuído

(94)

Pontos Positivos dos PDMS



Não existe esquema global

 Manutenção



Mapeamentos

definidos da forma mais conveniente

(pontos “próximos”)



Consultas

são elaboradas de acordo com o

94 SBBD'06 - Gerenciamento de Dados em Sistemas P2P



Consultas

são elaboradas de acordo com o

esquema do ponto

 Resultados vêm de qualquer lugar do sistema



PDMS x Compartilhamento de Arquivos

 Dados possuem semântica mais “rica”

(95)

Pontos Positivos dos PDMS

 Inexistência de Ponto Único de Falha

 Dados altamente distribuídos usando caching local  Se um ponto falha, as consultas podem continuar  Pouca administração

 Escopo dos dados  Escopo dos dados

 Grande quantidade de dados de diferentes tipos  Replicação

 Dados podem ser replicados nos pontos

 Resultados de consultas podem ir para cache local

(96)

Gerenciamento de

Dados em PDMS

(97)

Aspectos do Gerenciamento de Dados em

Sistemas P2P



Mapeamentos entre Esquemas



Processamento de Consultas



Consistência de Dados



Localização de Dados



Localização de Dados



Conectividade entre Pontos



Tolerância a Falhas

(98)

PDMS – Mapeamentos entre Esquemas



Mapeamentos

 Estabelecem relacionamentos entre esquemas

 Em sistemas de integração de dados são estabelecidos

entre o esquema de mediação e as fontes de dados

 Em PDMS são estabelecidos entre os pontos

98 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 A qualidade dos mapeamentos possui forte influência no

resultado das consultas



Principais formalismos

 Global-as-view (GAV)  Local-as-view (LAV)

(99)

PDMS – Mapeamentos entre Esquemas



Mapeamentos em

Sistemas de Integração

de Dados

 Global-as-view  Relações no esquema

global são descritas como

Esquema de Mediação

Fonte de Fonte de Fonte de

global são descritas como visões sobre a coleção de relações locais

 Local-as-view

 Cada relação em uma

visão local é descrita como visão sobre o esquema de mediação

Fonte de

dados A Fonte de dados B Fonte de dados C

Esquema de Mediação

(100)

PDMS – Mapeamentos entre Esquemas

 Mapeamentos em Sistemas de Integração de Dados - GAV  Exemplo

 Esquema de Mediação

 CD(Álbum, Artista, Ano)

 Contrato(Artista, Ano, Gravadora)

100 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Contrato(Artista, Ano, Gravadora)  Música(Álbum, Nome)

 Esquemas Locais

 BD1(Álbum, Artista, Ano)

 BD2(Álbum, Artista, Ano, Gravadora)  BD3(Álbum, Música)

(101)

PDMS – Mapeamentos entre Esquemas

 Mapeamentos em Sistemas de Integração de Dados – GAV  Mapeamento 1 (CD):

CD(Álbum, Artista, Ano)  BD1(Álbum, Artista, Ano)

CD(Álbum, Artista, Ano)  BD2(Álbum, Artista, Ano, Gravadora) A relação CD é definida como a união das projeções de BD1 e BD2 CD = ππÁlbum, Artista, AnoÁlbum, Artista, Ano(BD1) ∪ ππÁlbum, Artista, AnoÁlbum, Artista, Ano(BD2)

 Mapeamento 2 (Contrato):

Contrato(Artista, Ano, Gravadora)  BD2(Álbum, Artista, Ano, Gravadora) Contrato = π Artista, Ano, Gravadora (BD2)

 Mapeamento 3 (Música):

(102)

PDMS – Mapeamentos entre Esquemas

 Mapeamentos em Sistemas de Integração de Dados – LAV

 Mapeamento 1 (Fonte 1)

V1(Álbum,Artista, Ano ) ← CD(Álbum, Artista, Ano), Contrato(Artista, Ano, EMI), Ano ≥ 2000

A tabela (V1) armazena os dados dos álbuns que foram produzidos

102 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

A tabela (V1) armazena os dados dos álbuns que foram produzidos depois do ano 2000 pela gravadora EMI.

 Mapeamento 2 (Fonte 2)

V2(Álbum, Música) ← Música(Álbum, Música)

(103)

PDMS – Mapeamentos entre Esquemas



Mapeamentos em um PDMS

 Pontos em um PDMS são relacionados através de

mapeamentos

 O conjunto de mapeamentos define a rede semântica de

um PDMS

 A otimização da rede semântica considera  Eliminação de mapeamentos redundantes

 Redução do diâmetro do PDMS (para reduzir a perda de

informação na reformulação de consultas)

(104)

PDMS – Mapeamentos entre Esquemas



Mapeamentos em um PDMS

 Vantagem de um PDMS

 Quando um novo ponto entra no sistema será preciso fornecer

mapeamentos para um pequeno número de pontos já existentes

 Em termos de esquema, os pontos existentes devem ser

similares ao novo ponto

104 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

similares ao novo ponto

 Dada uma consulta submetida a um ponto, o sistema

reformulará a consulta de acordo com os esquemas dos pontos vizinhos

(105)

PDMS – Mapeamentos entre Esquemas



Mapeamentos em um PDMS

P1 P2 Ponto Esquema do Ponto Fonte de Dados Mapeamento Local

Mapeamento entre Pontos

P5

P3

P4

(106)

PDMS – Mapeamentos entre Esquemas



Diferentes formalismos podem ser usados para a

definição dos mapeamentos (GAV, LAV)

 Exemplos

 Mapeamentos locais: LAV

 Mapeamentos entre pontos: GAV

106 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Mapeamentos entre pontos: GAV



Os mapeamentos podem ser direcionados

P1 P2

M12

(107)

PDMS – Mapeamento de Dados



Mapeamentos entre dados são necessários

quando seus valores (formatos) são diferentes



Tabelas de mapeamento podem ser usadas para

especificar a correspondência entre valores de

atributos

atributos

 Associam valores dentro de um único domínio ou entre

domínios

 Representam o conhecimento de especialistas  Ex.: Para

Fortaleza

Origem

(108)

PDMS – Processamento de consultas



Cada ponto tem um esquema associado



Pontos são conectados através de “caminhos de

mapeamentos”



Pontos podem ser servidores de dados,

mediadores entre pontos e clientes que submetem

108 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

mediadores entre pontos e clientes que submetem

consultas

(109)

PDMS – Processamento de Consultas

1.

Uma consulta Q é submetida a um ponto P1 de

acordo com o esquema de P1

2.

Se P1 possui seus próprios dados, então o PDMS

recupera a resposta de Q a partir de P1

3.

Em seguida, de acordo com os mapeamentos

3.

Em seguida, de acordo com os mapeamentos

correspondentes, Q será reformulada para os

vizinhos de P1

4.

As consultas reformuladas são submetidas aos

vizinhos de P1 e assim sucessivamente

(110)

PDMS – Processamento de Consultas

Ponto P2 (Q, P2)

PDMS Reformulação de Q

M21 M23

110 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

Ponto P1 Ponto P4 Ponto P3 (Q1, P1) (Q4, P4) (Q3, P3) M14 Caminho de mapeamentos

(111)

PDMS – Processamento de Consultas



A técnica de reformulação de consulta

dependerá do formalismo para definição dos

mapeamentos



View Unfolding (Abordagem GAV)

(112)

PDMS – Processamento de Consultas



Exemplo

 Ponto P1

 Ofertas (código, descrição, organização, dataInício)  Ponto P2

 OfertasEmprego (código, descrição, empresa, área, data)

112 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 OfertasEmprego (código, descrição, empresa, área, data)  Mapeamento entre P2 e P1 (M21)

 P2.OfertasEmprego (código, descrição, empresa, data) ⊆

(113)

PDMS – Processamento de Consultas



Exemplo

Esquema do Ponto P1

Ofertas (código, descrição,

Esquema do Ponto P2

OfertasEmprego (código,

M21

Ofertas (código, descrição, organização, dataInício)

OfertasEmprego (código,

descrição, empresa, área, data)

Mapeamento local

Relações locais Mapeamento local

(114)

PDMS – Processamento de Consultas

 Exemplo 1

 Consulta submetida em P2:

 Q  OfertasEmprego(código, ‘Desenvolvimento’, ‘Microsoft’, ‘TI’, ’01/10/2006’)

 Passos de execução da consulta:

1. P2 usa os mapeamentos locais para reformular Q de acordo com as relações locais de P2

2. P2 passa Q para P1 de acordo com o mapeamento (M21)

3. A reformulação de consultas é view unfolding

114 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

3. A reformulação de consultas é view unfolding

4. P1 usa os mapeamentos locais para reformular Q’ de acordo com as relações locais de P1

Esquema do Ponto P1

Ofertas (código, descrição, organização, dataInício)

Esquema do Ponto P2

OfertasEmprego (código,

descrição, empresa, área, data)

M21 Q

Q’

(115)

PDMS – Processamento de Consultas

 Exemplo 1

 Passos de execução da consulta:

5. Como não existem mais mapeamentos o processo de reformulação é finalizado

6. Em seguida as consultas são avaliadas nas relações locais, seus resultados integrados e retornados para P2

r2

Esquema do Ponto P1

Ofertas (código, descrição, organização, dataInício)

Esquema do Ponto P2

OfertasEmprego(código,

descrição, empresa, área, data)

R R’

(116)

PDMS – Processamento de Consultas

 Exemplo 2

 Consulta submetida em P1:

 Q  Ofertas(código, ‘Desenvolvimento’, ‘Microsoft’, ’01/10/2006’)

 Passos de execução da consulta:

1. P1 usa os mapeamentos locais para reformular Q de acordo com as relações locais de P1

2. P1 passa Q para P2 de acordo com o mapeamento (M21)

116 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

21

3. A reformulação de consultas é view rewriting

4. P2 usa os mapeamentos locais para reformular Q’ de acordo com as relações locais de P2

Esquema do Ponto P1

Ofertas (código, descrição, organização, dataInício)

Esquema do Ponto P2

OfertasEmprego(código,

descrição, empresa, área, data)

M21

Q

Q’

(117)

PDMS – Processamento de Consultas

 Exemplo 2

 Passos de execução da consulta:

5. Como não existem mais mapeamentos o processo de reformulação é finalizado

6. Em seguida as consultas são avaliadas nas relações locais, seus resultados integrados e retornados para P1

r2

Esquema do Ponto P1

Ofertas (código, descrição, organização, dataInício)

Esquema do Ponto P2

OfertasEmprego(código,

descrição, empresa, área, data)

R

R’

(118)

PDMS – Processamento de Consultas



Em um PDMS um ponto só é acessível através dos

mapeamentos



Com o aumento do número de pontos no sistema o

número de esquemas e mapeamentos aumenta

 Caminhos de mapeamentos muito extensos (muitas

118 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Caminhos de mapeamentos muito extensos (muitas

reformulações)

 Perda de semântica à medida que as consultas são

repassadas (reformuladas)

(119)

PDMS – Processamento de Consultas



Ontologias podem ser usadas para reduzir o

tamanho dos caminhos de mapeamentos

 Pontos similares devem ser detectados

 “Atalhos” podem ser definidos entre os pontos

Ponto P1 Ponto P3

(120)

PDMS – Processamento de Consultas



Otimização

 Seguir por todos os caminhos leva a ineficiências

 O algoritmo pode seguir muitos caminhos que resultam em

reformulações redundantes (consultas desnecessárias)

 A aplicação repetitiva de query unfolding freqüentemente resulta

em consultas redundantes.

120 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

em consultas redundantes.

 Evitar a execução de uma consulta de forma redundante

– que retorne um subconjunto de resultados de uma consulta executada anteriormente (query containment)

(121)

PDMS – Consistência de Dados

 Problema que surge em qualquer cenário onde exista a

duplicação de dados

 Principais cenários: caching e replicação

 Benefícios da abordagem P2P trazem novos desafios  Caching: garantir que os dados da cache de um ponto estejam

consistentes com os dados dos seus pontos vizinhos

 Replicação: a propagação de atualizações nos dados torna-se uma

tarefa bastante complexa

 Grande número de pontos  Indisponibilidade dos pontos

(122)

PDMS – Localização de Dados



Difícil de ser prevista

 Conectividade dinâmica

 Descentralização (conhecimento parcial)



Topologia Híbrida

122 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Pontos descrevem seus dados durante a conexão  Metadados armazenados em um repositório central

(123)

PDMS – Localização de Dados



Topologia Pura

 Não-Estruturada  Descoberta de Recursos • Transitividade (mapeamentos)  Aproximação de Pontos

• Estatísticas e probabilidade para aproximação de pontos “distantes”

• Estatísticas e probabilidade para aproximação de pontos “distantes”  Estruturada

 Semantic Overlay Networks



Topologia Super-Peer

(124)

PDMS – Localização de Dados



Topologia Pura Não-Estruturada

Empregad o

124 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

P 1 P 2 P 3 Empregado Número … Funcionário Código … Emp Código … Vizinhos = {P2} Empregado [P1] = Funcionário [P2] Vizinhos = {P1, P3} Funcionário [P2] = Empregado [P1] Funcionário [P2] = Emp [P3] Vizinhos = {P2} Emp [P3] = Funcionário [P2] Vizinhos = {P2, P3} Empregado [P1] = Funcionário [P2] Empregado [P1] = Emp [P3] Vizinhos = {P2, P1} Emp [P3] = Funcionário [P2] Emp [P3] = Empregado [P1]

(125)

PDMS – Localização de Dados



Topologia Super-Peer

 Índices semânticos Super Ponto Semântico Super Peer Ponto Ponto

Ponto Ponto Ponto Ponto Semântico

Super

(126)

PDMS – Conectividade

 Dinâmica e ad-hoc

 Dinamismo é menor do que em outros sistemas P2P, e.g.

compartilhamento de arquivos

 Importância da alocação eficiente de pontos  Mapeamentos entre esquemas

 Qualidade dos mapeamentos

126 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Qualidade dos mapeamentos

 Processamento de consultas

 Escolha dos pontos aptos a responderem consultas

 Topologia Pura

 Definição dos vizinhos iniciais  Topologia Super-Peer

(127)

PDMS – Tolerância a Falhas



Substituição de super-peers

 Eleição



Fusão de clusters



Servidores de Backup



Servidores de Backup

 Alternativa para evitar políticas de substituição  Selecionado entre os pontos

 Cópia periódica dos metatados (Super-peer  Servidor

(128)

PDMS – Qualidade de Dados



Aspectos de qualidade

 Dados das fontes

 Mapeamentos entre esquemas  Incompletos

 Incorretos

128 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Incorretos

 Plano da Consulta

(129)

PDMS – Qualidade de Dados



Alguns Critérios:

 Disponibilidade  Consistência  Relevância  Completude  Completude

 Extensão: conjunto de objetos  Intenção: esquema

 Cobertura

(130)
(131)

Principais PDMS

 Piazza, Halevy, Univ. of Washington, 2001  PeerDB, National Univ. of Singapore, 2002  XPeer, Univ. Montpellier, 2003

 Hyperion, Univ. Toronto/Univ. Ottawa, 2003  SPEED, UFPE, Brasil, 2006

 Edutella, Univ. Hannover/Univ. Berlin, entre outras, 2003  Edutella, Univ. Hannover/Univ. Berlin, entre outras, 2003  APPA, Univ. de Nantes, 2004

 Rosa-P2P, IME-RJ, Brasil, 2005

 Hyperion, Univ. Toronto/Univ. Ottawa, 2003  Mapster, Univ. of Cape Town, 2006

(132)

PDMS – Piazza

 Instituição  U. of Washington  Topologia de Rede  Pura Não-estruturada  Modelo de Dados 132 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Modelo de Dados

 Relacional, XML, RDF e DAML-OIL  Mapeamentos entre Esquemas

 Estabelecidos aos pares entre os pontos  Processamento de Consultas

(133)

Piazza



Proposta

 Integrar fontes de dados heterogêneas e distribuídas de

forma escalonável



Pontos participantes

 Exportam seu esquema, compartilhado-o com os demais  Exportam seu esquema, compartilhado-o com os demais

pontos

 Oferecem visões sobre seus dados

(134)

Piazza – Exemplo

DB-ProjectsMediationProjects 1

Projects Mediationn

134 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

(135)

Piazza – Mapeamentos entre Esquemas

Esquema de Mediação GAV GAV Ponto 3 Esquema Armazenado Ponto 1 Ponto 2 Esquema do

Peer Esquema do Peer Descrição de Armazenamento Mapeamento entre Peers Esquema Armazenado Descrição de Armazenamento LAV LAV

(136)

Referências Bibliográficas [Piazza]

 Tatarinov, I., Ives, Z., Madhavan, J., Halevy, A., Suciu, D., Dalvi, N.,

Dong, X., Kadiyska, Y. Miklau, G., and Mork, P. (2003) “The Piazza Peer Data Management Project”. In Proc. of the ACM SIGMOD Record,

Volume 32 , Issue 3, 47-52.

 Halevy, A. Y., Ives, Z. G., Mork, P., and Tatarinov, I. (2003) “Piazza:

Data Management Infrastructure for Semantic Web Applications”. In

Proc. of the 12th International World Wide Web Conference (WWW’03), Budapest, Hungary.

136 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

Budapest, Hungary.

 Halevy, A., Ives, Z., Mork, P., and Tatarinov, I. (2004) “Piazza: Mediation

and Integration Infrastructure for Semantic Web Data”. Journal of Web Semantics, Vol. 1(2), pp. 155-175.

 Halevy, A. Y., Ives, Z., Suciu, D., and Tatarinov, I. (2003) “Schema

Mediation in Peer Data Management Systems”. In Proc. of the

International Conference on Data Engineering (ICDE’03). IEEE, pp. 505-516.

(137)

PDMS – PeerDB

 Instituição

 National U. of Singapore  Topologia de Rede

 Pura Não-estruturada (plataforma BestPeer)  Modelo de Dados

 Relacional  Relacional

 Mapeamentos entre Esquemas

 Relation-matching (Função de Similaridade)  Palavras-chave

 Processamento de Consultas  Agentes Inteligentes

(138)

PeerDB – Arquitetura

Dicionário Local Dicionário de Exportação Sistema de Gerenciamento de Objetos Gerenciador de Cache Ponto PeerDB 138 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

Interface

com o Usuário DBAgent

P2P Local de Cache

(139)

PeerDB – Arquitetura

1.

Camada P2P

 Oferece serviços para compartilhamento de dados e

descoberta de recursos na rede

2.

Camada de Agentes Inteligentes

 Master agents e worker agents  Master agents e worker agents

3.

Camada de Gerenciamento de Dados

(140)

PeerDB – Camada de Gerenciamento de Dados



Sistema de Gerenciamento de Objetos

 Possibilita armazenamento, manipulação e recuperação dos

dados no ponto



Dicionário Local

 Contém metadados sobre o esquema armazenado no ponto

140 SBBD'06 - Gerenciamento de Dados em Sistemas P2P



Dicionário de Exportação

 Contém metadados das tabelas compartilhadas  Subconjunto dos metadados do Local Dictionary



Gerenciador de Cache

 Determina políticas de caching e substituição de dados e

(141)

PeerDB – Camada de Agentes



Sistema de Agentes de Banco de Dados (DBAgent)

 Oferece o ambiente para os agentes trabalharem

 Cada ponto possui um Master Agent que gerencia as

consultas dos usuários

 Responsável por “clonar” e despachar Worker Agents  Responsável por “clonar” e despachar Worker Agents

para os pontos vizinhos, receber respostas e apresentá-las ao usuário

 Monitora as estatísticas e gerencia as políticas de

(142)

PeerDB – Mapeamentos entre Esquemas



Determinados em tempo de execução de consulta



Abordagem baseada em Information Retrieval (IR)

 Metadados gerados para tabelas/atributos  Palavras-chave + descrições

 Servem como sinônimos

142 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Servem como sinônimos

 Agentes são enviados aos pontos em busca de

associações candidatas

 A busca baseia-se na comparação de keywords e

(143)

PeerDB – Mapeamentos entre Esquemas

 Pontos: P1, P2, P3 e P4  Consulta Q é feita em P1

SELECT SeqId, ProteinSeq FROM Kinases

WHERE length > 30

 Estratégia relation-matchings  Estratégia relation-matchings

 P2, P3 e P4 são relevantes para Q  P4 só tem associação com nome

da tabela (menor relevância que P2 e P3)

 Semanticamente, dados de P2 não

são de interesse de P1 (não são

(144)

PeerDB – Processamento de Consultas



Consulta ocorre em duas fases distintas

1. Aplicação da estratégia de relation-matching para localizar tabelas candidatas

 Tabelas candidatas são retornadas para o usuário  Ponto atualiza suas estatísticas para futuras buscas

144 SBBD'06 - Gerenciamento de Dados em Sistemas P2P

 Objetivos

• Eliminar problema de homonímia

• Minimizar o uso banda de rede 2. Execução de consultas

• Consultas são enviadas aos pontos determinados pelo usuário • Respostas são retornadas (e colocadas em cache)

(145)

PeerDB – Reconfiguração de Pontos



Políticas para definição de vizinhança

 Número de keywords em comum

 Quantidade de dados retornados pelos pontos vizinhos  Stack distance

 Pontos que tenham respondido consultas recentemente, devem  Pontos que tenham respondido consultas recentemente, devem

ficar no topo da pilha

 Os k primeiros permanecem diretamente conectados

K

P4 P3 P2

Referências

Documentos relacionados

(2004), para testar o uso de bioestimulantes a base de citocinina, giberilina e ácido indolcanóico na cultura do milho, realizaram uma pesquisa na qual os resultados

Neste contexto, os impactos ocasionados pelo uso e manejo na estrutura física do solo, vêm sendo quantificado através de diferentes propriedades físicas do solo, tais como

É possível argumentar que havia uma tendência conservadora dos governos ditatoriais que vigoraram na América Latina na segunda metade do século XX. Pregavam a

Inicialmente, destacamos os principais pontos de convergência: • O papel tático e operacional exercido pela área de TI dos Câmpus é claramente identificável, tanto nos

Antes de caminhar efetivamente ao encontro de métodos e mecanismos que nos levem a solucionar os problemas de ajustamento e inclusão dos jovens oriundos das “tribos” juvenis urbanas