Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Banco de Dados Distribuído

Banco de Dados Distribuído
by

Rafael Teixeira

on 18 August 2009

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Banco de Dados Distribuído

O problema da atomicidade Na cadeia de lojas ... Supondo que um gerente queira redistribuir os estoques de um produto 1. T0 é criado no site do gerente

2. T0 manda todas as outras lojas criarem transações Ti, que vão reportar a quantidade do produto em estoque

3. T0 recebe os valores de Ti e determina quais produtos serão movidos


Atomicidade é garantida em cada transação individualmente, mas NÃO na transação completa! Solução: Two-phase commit Cada site loga as suas ações (não há log global)
Há um site coordenador que decide se a transação será aplicada (geralmente o site origem da transação)
Mensagens trocadas são logadas ANTES de serem enviadas Coordenador Site 1 Site 3 Site 4 <prepare T> <prepare T> <prepare T> <prepare T> Site 2 Coordenador Site 1 Site 3 Site 4 <ready T> ou <don't commit T> Site 2 <ready T> ou <don't commit T> <ready T> ou <don't commit T> <ready T> ou <don't commit T> Coordenador Site 1 Site 3 Site 4 <commit T> <commit T> <commit T> <commit T> Site 2 Coordenador Site 1 Site 3 Site 4 <abort T> <abort T> <abort T> <abort T> Site 2 Sites entram em estado precommited
Garante que todos os componentes necessários estarão disponíveis Se todas as respostas forem <ready T>: Se pelo menos uma resposta for <Don't commit T>: Recuperando-se de falha No coordenador Nos demais sites No coordenador
•Um site deve ser eleito o líder
•Líder faz uma pesquisa (poll) para saber as últimas entradas dos sites
-Ao menos um site possui <Commit T>: Termina a transação.
-Ao menos um site possui <Abort T>: Aborta a transação.
-Nenhum Abort ou commit mas um <Ready T>: Coordenador não recebeu a mensagem e portanto não decidiu. Aborta a transação
-Todos os sites possuem <Ready T>: Não é possível saber se coordenador recebeu as mensagens. DBA decide manualmente comitar ou não a transação.
Última entrada do log é:
•<Commit T> - Talvez seja necessário refazer transação T no site que falhou
•<Abort T> ou <Don’t Commit T> - Desfazer ações referentes à T
• <Ready T> - Comunicar-se com outro site para saber qual foi a decisão do coordenador

Vantagens Desvantagens •Proteção dos dados contra acidentes físicos e desastres naturais
•Performance:
•Balanceamento de carga entre os servidores
•Proximidade da requisição
•Autonomia: em uma empresa, cada setor pode ser responsável por seus dados
•Modularidade: Servidores podem ser adicionados sem influenciar os outros
•Complexidade: Projeto deve levar em conta fragmentação e replicação de dados
•Segurança: Todos os servidores devem ser igualmente seguros
•Controle de concorrência e garantia de atomicidade das transações
•Falta de experiência e padrões estabelecidos
Por que usar? Distribuição dos dados Refletir a organização no banco de dados. Performance e proteção de dados. Replicação dos dados Cadeia de lojas Lojas mantém dados sobre vendas e estoque, enquanto uma central mantém os dados sobre os clientes e funcionários Biblioteca digital de um consórcio de Universidades. Informações sobre fornecedores podem ser replicadas em todas as unidades Pode manter um cache dos documentos mais populares em todas as unidades Não faz sentido centralizar todos os dados em um servidor Distribuição dos dados Replicação dos dados Replicação dos dados Distribuição dos dados Bruno Paschoal
João Misko
Rafael Teixeira
Robert Werutsky Banco de dados distribuído Tópicos 1. O que é
2. Vantagens e desvantagens
3. Por que usar?
4. O problema da atomicidade
5. Two-phase commit

O que é Banco de dados cujos dados estão localizados em mais de um computador (site)
Podem estar em um mesmo local ou distribuídos em uma rede

Full transcript