Bancos de Dados Distribuídos Javam C. Machado DC - UFC
Sumário Introdução Arquitetura de SGBDs Distribuídos Projeto de Distribuição Processamento Distribuído de Consulta Transações Distribuídas Bancos de Dados Paralelos © Javam C. Machado
BD Distribuídos Introdução Setembro / 1998
Motivação Integração Centralização Tecnologia de Banco de Dados Redes de Computadores Integração Distribuição Sistemas de Bancos de Dados Distribuídos Integração Integração Centralização © Javam C. Machado
O que é um Sistema de BD Distribuído Um banco de dados distribuído (BDD) é um coleção de múltiplos bancos de dados logicamente interrelacionados distribuídos em uma rede de computadores Um SGBD distribuído (SGBDD) é o software que gerencia um BDD e fornece um mecanismo de acesso que torna a distribuição transparente aos usuários Sistema de banco de dados distribuído (SBDD) = BDD + SGBDD © Javam C. Machado
O que não é um SBDD Um sistema de computação timesharing Um sistema multiprocessador fracamente ou fortemente acoplado Um sistema de banco de dados que reside em um nó de uma rede de computadores © Javam C. Machado
SGBD Centralizado sobre um Rede Sítio 1 Sítio 2 Rede de Comunicação Sítio 4 Sítio 5 Sítio 3 © Javam C. Machado
Ambiente de SGBD Distribuído Select * from... Insert into... © Javam C. Machado
Premissas Dados armazenados em vários sítios cada sítio consiste logicamente de um único processador Processadores em sítios diferentes são interconectados por uma rede de computadores Multiprocessadores sistema BD paralelo BD distribuído é um banco de dados, não uma coleção de arquivos Modelo relacional © Javam C. Machado
Vantagens de SBDD Autonomia local Melhor desempenho Melhor disponibilidade/confiabilidade Economia Escalabilidade Compartilhamento © Javam C. Machado
Desvantagens de SBDD Tecnologia recente, falta de experiência Complexidade Custo Distribuição do controle Dificuldade de mudança © Javam C. Machado
Aspectos Interessantes! Projeto de BD distribuído Como distribuir a base Distribuição com ou sem replicação Gerenciamento da metabase Processamento de consulta Problema de otimização Minimizar {custo=transmissão + processamento local} Solução genérica tende a NP-completo © Javam C. Machado
Aspectos Interessantes! Controle de concorrência distribuído Sincronização de acessos concorrentes Consistência e isolamento das transações Gerenciamento de deadlock Confiabilidade Tolerância a falhas Atomicidade e durabilidade © Javam C. Machado
Relacionamento entre os Aspectos Gerenciamento da metabase Processamento de consulta Projeto de distribuição Confiabilidade Controle de concorrência Gerência de deadlock © Javam C. Machado
Promessas Gerenciamento transparente de dados distribuídos, fragmentados e replicados Melhor confiabilidade/disponibilidade através de transações distribuídas Melhor desempenho Expansão do sistema mais fácil e mais econômica © Javam C. Machado
Banco de Dados Exemplo EMPREGADO ATRIBUICAO PROJETO SALARIO ECOD ENOME TITULO E1 Chiquin Eng. elétrico E2 Zefinha Analista E3 Pedrin Eng. mecânico E4 Gondin Programador E5 Valtin Analista E6 Zezin Eng. elétrico E7 Helenita Eng. mecânico E8 Marita Analista ECOD PCOD FUNCAO HORAS E1 P1 Gerência 12 E2 P1 Análise 24 E2 P2 Análise 6 E3 P3 Consultoria 10 E3 P4 Engenharia 48 E4 P2 Programação 18 E5 P2 Gerência 24 E6 P4 Gerência 48 E7 P3 Engenharia 36 E7 P5 Engenharia 23 E8 P3 Gerência 40 PROJETO SALARIO PCOD PNOME ORCAM LOCAL P1 Instrumentação 150000 Icapui P2 Aplicação BD 135000 Paracuru P3 CAD/CAM 240000 Paracuru P4 Manutenção 310000 Cumbuco P5 CAD/CAM 500000 Pecém Titulo Valor Eng. elétrico 40000 Analista 34000 Eng. mecânico 27000 Programador 24000