DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

O que é um Banco de Dados distribuído?

Veja neste artigo informações relacionadas a bancos de dados distribuídos, independente da tecnologia.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Um sistema de banco de dados distribuído (BDD) consiste em um relação de nós, cada qual podendo participar na execução de transações que acessam dados em um ou mais nós. Em um sistema de banco de dados distribuído, o banco de dados é armazenadoem diversos computadores (nós). Os computadores, em um sistema distribuído, comunicam-se uns com os outros por intermédio de vários meios de comunicação, tais como: redes de alta velocidade, redes sem fio ou linhas telefônicas, eles não compartilham a memoria principal e o relógio.

A diferença principal entre sistemas de banco de dados centralizados e distribuídos é que no primeiro os dados estão localizados em um único lugar, enquanto que no outro os dados residem em diversos locais. Esta distribuição de dados é motivo de muitas preocupações e dificuldades.

Os processadores em um sistema distribuído podem variar em tamanho e função, podendo incluir microcomputadores, estações de trabalho, minicomputadores e sistemas de computadores de uso em geral. Estes processadores são geralmente chamados de nós, dependendo do contexto no qual eles estejam mencionados. Usa-se principalmente o termo nó (lugar, posição), a fim de enfatizar a distribuição física destes sistemas. Veja o exemplo na Figura 1:

Figura demonstrando o sistema de banco de dados distribuído

Figura 1: Figura demonstrando o sistema de banco de dados distribuído.

Armazenamento Distribuído dos Dados

Uma relação r (ou tabela) possui diversos enfoques para o armazenamento em um banco de dados distribuído (BDD):

  • Replicação: o sistema mantém réplicas idênticas da relação, onde cada réplica é armazenada em sites diferentes, resultando na replicação dos dados
  • Fragmentação: a relação é particionada em vários fragmentos, onde cada fragmento é armazenado em um site diferente
  • Replicação e fragmentação: a relação é particionada em vários segmentos, e o sistema mantém diversas réplicas de cada fragmento

Replicação de dados

A replicação de dados significa que um determinado objeto de dados logico pode possuir diversos representantes armazenados, em nós. O grau de suporte para a replicação é um pre-requisito para atingir o verdadeiro potencial de um sistema distribuído.

Fragmentação de dados

Uma relação é dividida em fragmentos, onde cada fragmento contem informação suficiente para permitir a reconstrução da relação original.

Existem duas formas de fazer a fragmentação:

  • Fragmentação Horizontal: divide a relação separando as tuplas de r em dois ou mais fragmentos.
  • Fragmentação Vertical: divide a relação pela decomposição do esquema R da relação r.

Fragmentação e Replicação de Dados

As técnicas de fragmentação e replicação podem ser aplicadas sucessivamente a uma mesma relação.Um fragmento pode ser replicado, e as réplicas podem ser fragmentadas novamente e assim por diante.

Processamento de consultas distribuídas

A transparência para leitura é mais fácil de se conseguir e manter do que a transparência para atualização. O maior problema para a atualização é garantir que todas as réplicas e fragmentos sejam atualizados, após uma atualização em uma das réplicas ou fragmentos. A atualização deve ser prolongada para todas as cópias (réplicas e fragmentos) existentes no sistema.

Um dos fatores mais importantes no desempenho de uma consulta, em uma base centralizada, é a quantidade de acesso a disco necessária para atingir o resultado. Em um banco distribuído os problemas aumentam, pois existe também a preocupação com a transmissão de dados na rede. Um fator interessante para a consulta realizada em uma base distribuída é que para os diversos sites podem processar partes da consulta em paralelo.

Na realização de uma consulta simples (trivial), como consultar todas as tuplas da relação CONTA, pode caracterizar um processamento não tão trivial, pois CONTA pode estar fragmentada, replicada ou ambas.

Transações

O acesso a diversos itens de dados em um sistema distribuído é normalmente acompanhado de transações que têm de preservar as propriedades ACID:

  • A: Atomicidade
  • C: Consistência
  • I: Isolamento
  • D: Durabilidade

Caracteristicas da ACID


  • Atomicidade: Todas as operações da transação são refletidas corretamente no BD ou nenhuma será.
  • Consistência: A execução de uma transação isolada preserva a consistência do banco de dados.
  • Isolamento: Cada transação não toma conhecimento de outras transações concorrentes.
  • Durabilidade: Depois da transação completar-se com sucesso, as mudanças que ela faz no banco de dados persistem.

Tipos de transação


  • Locais: mantem acesso e atualizam somente a base de dados local.
  • Globais: mantem acesso e atualizam diversas bases de dados locais.

Funções adicionais


  • Rastreamente de dados.
  • Processamento de consultas distribuídas.
  • Gerenciamento de transações distribuídas.
  • Gerenciamento de dados replicados.
  • Recuperação de banco de dados distribuído.
  • Segurança.
  • Gerenciamento do diretório distribuido

Vantagens


  • Gerenciamento de dados distribuído com níveis diferentes de transparência.

    • Transparência de distribuição ou de rede.
    • Transparência de replicação.
    • Transparência de fragmentação.

  • Melhoria da confiabilidade e na disponibilidade.
  • Melhoria no desempenho.
  • Expansão mais fácil.

Falhas

Em um sistema de banco de dados distribuído pode sofrer os mesmos tipos de falhas que ocorrem em um sistema centralizado, porem existem falhas adicionais que podem ocorrer em um (BDD), tais como: falha de comunicação entre eles, perda de mensagens e o particionamento da rede, cada um desses problemas devem ser considerados no projeto de recuperação de um BDD. Para um sistema ser robusto, ele precisa detectar qualquer uma dessas falhas, reconfigurar-se enquanto a falha é recuperada.

Com isso finalizo este artigo, espero que o mesmo ajude mesmo que de forma básica com essas informações sobre este tipo de banco de dados.


Roniere Almeida
Formado em Analise e Dsenvolvimento de Sistemas pela Estacio-FIC, possui certificação Microsoft Technology Associate (MTA) em banco de dados.
O que você achou deste post?

    6 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Fábio Dorea
Muito legal o artigo, interessante a idéia dos BDD! Você resumiu muito bem, ficou facil de entender, parabéns.
[há +1 mês] - Responder

 

[autor] Roniere Almeida
Obrigado pelo comentario!!!
[há +1 mês] - Responder
 

Fernando Biagini
Roniere, tenho que fazer um trabalho sobre BDD, pode me indicar algumas fontes de consultas? Abraço.
[há +1 mês] - Responder

 

[autor] Roniere Almeida
Fernando, é bem complicado achar materiais sobre esse banco, porem existem ja net, alguns trabalhos, creio que isso possa te ajudar:

http://www.inf.ufsc.br/~fileto/Disciplinas/BD-Avancado/Aulas/04-BDsDistr.pdf

http://portalsis.wordpress.com/2011/06/22/banco-de-dados-distribuidoras/

http://www.inf.puc-rio.br/~casanova/LivroCasanova/ncap2.pdf

se não me falha a memoria, existe um capitulo do livro "Sistemas de banco de dados"
[há +1 mês] - Responder
 

Marcos Estevam De Sousa
Boa tarde Roniere. Parabenizo o pelo artigo. A fonte que voce utilizou para redigir este artigo menciona em alguma parte informações sobre a velocidade de acesso ao BDD, pois fazendo uma pesquisa na internet não encontrei nenhum baseamento teórico.
Segue abaixo esta questão de concurso. Minha dúvida e sobre os itens II e III.

Analise as seguintes sentenças em relação aos Bancos de Dados:

I. Um banco de dados distribuído possui cópias completas do banco de dados, ou partes delas, em mais de um local.

II. Um banco de dados replicado mantém cópias completas de todo o banco de dados em diversos locais, principalmente para diminuir os problemas em caso de falha do banco de dados centralizado, mas há uma diminuição da velocidade de acesso aos usuários.

III. O banco de dados particionado é subdividido de forma que cada local tenha uma cópia completa do banco de dados. Esse tipo de banco de dados oferece boa velocidade de resposta a arquivos localizados, não havendo necessidade de replicar todas as mudanças em múltiplos locais.

Desde já agradeço.
[há +1 mês] - Responder

 

[autor] Roniere Almeida
olá Marcos, vc ja olhou os links que postei acima?

abraço
[há +1 mês] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03