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