 
                                Bancos de dados distribuídos Prof. Tiago Eugenio de Melo [email protected] http://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. http://www.tiagodemelo.info 2 Conceitos  Requisitos para que um bd seja distribuído:  Conexões de nós de banco de dados por uma rede de computadores. http://www.tiagodemelo.info 3 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. http://www.tiagodemelo.info 4 Conceitos  Transparência  O conceito de transparência estende a ideia geral de ocultar detalhes de implementação dos usuários finais. http://www.tiagodemelo.info 5 Conceitos  Transparência http://www.tiagodemelo.info 6 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. Transparência de replicação http://www.tiagodemelo.info 7 Conceitos  Transparência  Transparência de fragmentação.    http://www.tiagodemelo.info 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. 8 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. http://www.tiagodemelo.info 9 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. http://www.tiagodemelo.info 10 Conceitos  Vantagens  Maior facilidade e flexibilidade de desenvolvimento da aplicação.  Maior confiabilidade e disponibilidade.  Maior desempenho.  Expansão mais fácil. http://www.tiagodemelo.info 11 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. http://www.tiagodemelo.info 12 Tipos de sistemas de banco de dados distribuídos  Critérios e fatores de classificação:  Grau de homogeneidade (software):    SGBDD homogêneo. SGBDD heterogêneo. Grau de autonomia local:  http://www.tiagodemelo.info Se não houver provisão para o site local funcionar como um SGBD independente, então o sistema não tem autonomia local. 13 Tipos de sistemas de banco de dados distribuídos http://www.tiagodemelo.info 14 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). http://www.tiagodemelo.info 15 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. http://www.tiagodemelo.info 16 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. http://www.tiagodemelo.info 17 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. http://www.tiagodemelo.info 18 Arquitetura de banco de dados distribuídos  Arquitetura paralela versus distribuída  Tipos de arquiteturas de sistema multiprocessador:    http://www.tiagodemelo.info 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. 19 Arquitetura de banco de dados distribuídos http://www.tiagodemelo.info 20 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. http://www.tiagodemelo.info 21 Referências  Capítulo 25 do livro: http://www.tiagodemelo.info 22