Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de...

Preview:

Citation preview

http://www.tiagodemelo.info

Bancos de dados distribuídosProf. Tiago Eugenio de Melo

tiagodemelo@gmail.com

Última atualização: 20.03.2013

2http://www.tiagodemelo.info

Conceitos

Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds logicamente inter-relacionados, distribuídos por uma rede de computadores, e um sistema de gerenciamento de banco de dados distribuído como um software que gerencia um banco de dados distribuído enquanto torna a distribuição transparente para o usuário.

Os bancos de dados distribuídos são diferentes dos arquivos WEB da Internet.

3http://www.tiagodemelo.info

Conceitos

Requisitos para que um bd seja distribuído: Conexões de nós de banco de dados por uma rede

de computadores.

4http://www.tiagodemelo.info

Conceitos

Requisitos para que um bd seja distribuído: Inter-relação lógica dos bancos de dados

conectados. Ausência de restrição de homogeneidade entre os

nós conectados.

5http://www.tiagodemelo.info

Conceitos

Transparência O conceito de transparência estende a ideia geral

de ocultar detalhes de implementação dos usuários finais.

6http://www.tiagodemelo.info

Conceitos

Transparência

7http://www.tiagodemelo.info

Conceitos

Transparência Transparência da organização dos dados (também

conhecida como transparência de distribuição ou rede).

Liberdade para o usuário de detalhes operacionais da rede e posicionamento dos dados no sistema distribuído.

Transparência de local. Transparência de nomes.

8http://www.tiagodemelo.info

Conceitos

Transparência Transparência de replicação

Replicação síncrona. Todas as cópias de uma relação modificada (fragmentos) devem ser atualizadas antes da transação modificante fazer commit. A distribuição de dados fica transparente para o usuário.

Replicação assíncrona. As cópias da relação modificada só são atualizadas periodicamente; réplicas podem ficar inconsistentes por algum tempo. Os usuários devem ficar cientes da distribuição e replicação. Produtos atuais seguem esta abordagem.

9http://www.tiagodemelo.info

Conceitos

Transparência Transparência de fragmentação.

Existem dois tipos de fragmentação: horizontal e vertical.

Fragmentação horizontal distribui uma tabela em sub-relações que são subconjuntos de tuplas na relação horizontal.

Fragmentação vertical distribui uma relação em sub-relações em que cada uma é definida por um subconjunto das colunas da relação original.

10http://www.tiagodemelo.info

Conceitos

Autonomia A autonomia determina a extensão à qual os nós

individuais ou BDs em um BDD conectado podem operar independentemente.

Um alto grau de autonomia é desejável para maior flexibilidade e manutenção personalizada de um nó individual.

11http://www.tiagodemelo.info

Conceitos

Confiabilidade e disponibilidade Confiabilidade é definida como a probabilidade de

um sistema estar funcionando (não parado) em certo ponto no tempo.

Disponibilidade é a probabilidade de que o sistema esteja continuamente disponível durante um intervalo de tempo.

Podemos relacionar diretamente confiabilidade e disponibilidade do BD aos defeitos, erros e falhas associadas a ele.

12http://www.tiagodemelo.info

Conceitos

Vantagens Maior facilidade e flexibilidade de desenvolvimento

da aplicação. Maior confiabilidade e disponibilidade. Maior desempenho, pois as sub-consultas podem

ser executadas em paralelo. Expansão mais fácil (escalabilidade).

13http://www.tiagodemelo.info

Conceitos

Desvantagens Custo de desenvolvimento de software. A alta

complexidade torna mais difícil implementar um SGBDD, tornando-o mais caro.

Grande potencial para bugs. Ocorrência de erros muito sutis na colaboração entre os nós do SGBDD.

Aumento do overhead de processamento. Devido à troca de mensagens e à computação adicional para obter a coordenação entre os nós.

14http://www.tiagodemelo.info

Conceitos

Desvantagens Questões de projeto específicas. Por exemplo,

replicação e fragmentação de dados. Dificuldades para obter conhecimento global.

Por exemplo, controle de concorrência entre transações distribuídas e detecção de deadlock.

15http://www.tiagodemelo.info

Conceitos

Funções adicionais Acompanhar a distribuição de dados. Processamento de consulta distribuído. Gerenciamento de transação distribuído. Gerenciamento de dados replicados. Recuperação de dados distribuídos. Segurança. Gerenciamento de diretório (catálogo) distribuído.

16http://www.tiagodemelo.info

Tipos de sistemas de banco de dados distribuídos

Critérios e fatores de classificação: Grau de homogeneidade (software):

SGBDD homogêneo → todos os nós rodam o mesmo SGBD.

SGBDD heterogêneo → diferentes nós rodam diferentes SGBDs.

Grau de autonomia local: Se não houver provisão para o site local

funcionar como um SGBD independente, então o sistema não tem autonomia local.

17http://www.tiagodemelo.info

Tipos de sistemas de banco de dados distribuídos

18http://www.tiagodemelo.info

Tipos de sistemas de banco de dados distribuídos

Nos sistemas intermediários, cada servidor é um SGBD centralizado, independente e autônomo, que tem os próprios usuários locais, transações locais e DBA. Alto grau de autonomia local.

O termo sistema de banco de dados federado (SBDF) é usado quando existe alguma visão ou esquema global da federação de bancos de dados que é compartilhada pelas aplicações (Ponto C).

19http://www.tiagodemelo.info

Tipos de sistemas de banco de dados distribuídos

Uma federação de banco de dados é uma coleção integrada de banco de dados autônomos, a qual os componentes da administração mantêm o controle total sobre os seus sistemas individuais, mas cooperam com a federação através do suporte a operações globais.

20http://www.tiagodemelo.info

Tipos de sistemas de banco de dados distribuídos

Sistema multibanco de dados tem uma autonomia local completa porque não possui um esquema global, mas constrói um interativamente conforme a necessidade da aplicação.

21http://www.tiagodemelo.info

Tipos de sistemas de banco de dados distribuídos

Problemas com sistemas de gerenciamento de banco de dados federados

Diferenças nos modelos de dados. Diferenças nas restrições. Diferenças nas linguagens de consulta. Heterogeneidade semântica.

22http://www.tiagodemelo.info

Arquitetura de banco de dados distribuídos

Arquitetura paralela versus distribuída Tipos de arquiteturas de sistema multiprocessador:

Arquitetura de memória compartilhada (altamente acoplada). Múltiplos processadores compartilham armazenamento secundário (disco) e também memória principal.

Arquitetura de disco compartilhado (livremente acoplada). Múltiplos processadores compartilham armazenamento secundário (disco), mas cada um tem sua própria memória principal.

Essas são exemplos de arquiteturas paralelas.

23http://www.tiagodemelo.info

Arquitetura de banco de dados distribuídos

24http://www.tiagodemelo.info

Regras para um SGBDD

Autonomia local. Cada nó participante de um sistema distruído deve ser independente dos outros nós. Cada nó deve prover mecanismos de segurança, bloqueio, acesso, integridade e recuperação após falha.

Não dependência de um nó central. Um sistema de banco de dados distribuído não deve depender de um nó central, pois isso acarretaria um único ponto de falha, afetando todos os outros nós. Um nó central também poderia ficar sobrecarregado, resultando em perda de desempenho do sistema.

25http://www.tiagodemelo.info

Regras para um SGBDD

Operação contínua. Um sistema de banco de dados distribuído nunca deve precisar ser desativado. As operações de backup e recuperação devem ser suportadas on-line. Essas operação devem ainda ser rápidas o bastante para não afetarem o funcionamento do sistema (backup incremental, por exemplo).

26http://www.tiagodemelo.info

Regras para um SGBDD

Transparência/independência de localização. Os usuários do sistema não precisam saber onde estão localizados os dados; devem se comportar como se os dados estivessem armazenados localmente.

Independência de fragmentação. As tabelas que fazem parte de um sistema de banco de dados distribuído podem estar divididas em fragmentos, localizados fisicamente em diferentes nós, de forma transparente para o usuário.

27http://www.tiagodemelo.info

Regras para um SGBDD

Independência de replicação. Dados podem estar replicados em vários nós da rede, de forma transparente. As réplicas de dados devem ser mantidas sincronizadas automaticamente pelo SGBDD.

Processamento de consultas distribuído. O desempenho de uma consulta deve ser independente do local onde a mesma é submetida.

28http://www.tiagodemelo.info

Regras para um SGBDD

Gerenciamento de transações distribuídas. Um SGBDD deve suportar transações atômicas. As propriedades ACID (atomicidade, consistência, independência e durabilidade) das transações e a serialização devem ser suportadas não apenas para transações locais, mas para transações distribuídas também.

29http://www.tiagodemelo.info

Regras para um SGBDD

Independência de hardware. Um SGBDD deve poder operar e acessar dados em uma variedade de plataformas de hardware. Um SGBDD verdadeiro não deve depender de uma plataforma específica.

Independência de sistema operacional. Um SGBDD deve poder executar em sistemas operacionais diferentes.

30http://www.tiagodemelo.info

Regras para um SGBDD

Independência de rede. Um SGBDD deve ser projetado para executar independentemente do protocolo de comunicação e da topologia da rede usada para interligar os vários nós que fazem parte da rede.

Independência de SGBD. Um SGBDD ideal deve possuir capacidades para se comunicar com outros sistemas de gerenciamento de banco de dados executando em nós diferentes, mesmo se estes sistemas de banco de dados são diferentes (heterogêneos).

31http://www.tiagodemelo.info

Exercícios

Qual é a diferença entre falha e erro? Explique a diferença entre a arquitetura

paralela e distribuída de banco de dados. O que você entende por banco de dados

federados? Explique as vantagens e desvantagens no uso

de sistemas de banco de dados distribuídos.

32http://www.tiagodemelo.info

Referências

Capítulo 25 do livro:

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

Recommended