Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de...
Transcript of Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de...
![Page 1: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/1.jpg)
http://www.tiagodemelo.info
Bancos de dados distribuídosProf. Tiago Eugenio de Melo
Última atualização: 20.03.2013
![Page 2: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/2.jpg)
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.
![Page 3: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/3.jpg)
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.
![Page 4: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/4.jpg)
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.
![Page 5: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/5.jpg)
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.
![Page 7: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/7.jpg)
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.
![Page 8: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/8.jpg)
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.
![Page 9: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/9.jpg)
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.
![Page 10: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/10.jpg)
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.
![Page 11: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/11.jpg)
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.
![Page 12: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/12.jpg)
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).
![Page 13: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/13.jpg)
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.
![Page 14: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/14.jpg)
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.
![Page 15: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/15.jpg)
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.
![Page 16: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/16.jpg)
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.
![Page 17: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/17.jpg)
17http://www.tiagodemelo.info
Tipos de sistemas de banco de dados distribuídos
![Page 18: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/18.jpg)
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).
![Page 19: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/19.jpg)
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.
![Page 20: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/20.jpg)
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.
![Page 21: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/21.jpg)
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.
![Page 22: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/22.jpg)
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.
![Page 23: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/23.jpg)
23http://www.tiagodemelo.info
Arquitetura de banco de dados distribuídos
![Page 24: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/24.jpg)
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.
![Page 25: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/25.jpg)
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).
![Page 26: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/26.jpg)
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.
![Page 27: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/27.jpg)
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.
![Page 28: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/28.jpg)
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.
![Page 29: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/29.jpg)
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.
![Page 30: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/30.jpg)
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).
![Page 31: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/31.jpg)
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.
![Page 32: Bancos de dados distribuídos Prof. Tiago Eugenio de Melo ... · Tipos de sistemas de banco de dados distribuídos Uma federação de banco de dados é uma coleção integrada de](https://reader031.fdocumentos.tips/reader031/viewer/2022022714/5c4de4d193f3c34c550bcb2f/html5/thumbnails/32.jpg)
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