Bancos de Dados Distribuídos

Propaganda
Bancos de Dados Distribuídos
Especialização em Engenharia de Software
Marta Mattoso
Bancos de Dados Distribuídos
Bancos de Dados Distribuídos
Bibliografia Utilizada
Î Özsu, M.T. Valduriez, P. "Principles of Distributed
Database Systems", Prentice Hall, 1991.
c
Elmasri, R. Navathe, S. "Fundamentals of Database Systems",
Benjamin/Cummings, 2a. edição, 1994.
c
Mattoso, M.L.Q. "Sistemas de Bancos de Dados Distribídos e
Paralelos", Apostila da Jornada de Atualização em Informática
(JAI94), 43 págs., SBC, 1994.
c
Özsu, M.T. Valduriez, P. "Distributed Database Systems: Where Are
We Now ?", IEEE Computer, agosto, 1991.
c
Ceri, S. Pelagatti, G. "Distributed Database Systems - Principles and
Systems, MacGraw Hill, 1984.
Especialização em ES
Pag 1
Bancos de Dados Distribuídos
Bancos de Dados Distribuídos
Roteiro
1- Introdução
2- Caracterização de BDD
3- Vantagens de SBDD
4- Projeto de Bases de Dados Distribuídas
5- Processamento de Consultas em SBDDs
6- Controle de Concorrência em SBDDs
7- Problemas em Aberto
8- As Novas Tecnologias e os SBDDs
Especialização em ES
Pag 2
Bancos de Dados Distribuídos
Introdução
c
Importância da tecnologia de Bancos de Dados
Distribuídos
c
Produtos já no mercado
c
Diversas vantagens sobre os centralizados
c
Previsões de substituição completa dos SGBDs
centralizados
c
Questões em aberto
Especialização em ES
Pag 3
Bancos de Dados Distribuídos
Motivação
Tecnologia
de BD
Redes de
Computadores
centralização
distribuição
Sistemas de BD
Distribuídos
integração
integração ≠ centralização
Especialização em ES
Pag 4
Bancos de Dados Distribuídos
Caracterização de um Sistema de Banco de Dados
Distribuído
Base de Dados Distribuída
c
É uma coleção de diversas bases de dados, interligadas
logicamente através de uma rede de computadores
Sistema de Bases de Dados Distribuídas
c
É o sistema de software que possibilita a gerência da
base de dados distribuída e torna a distribuição
transparente para o usuário
Sistema de Banco de Dados Distribuídas - SBDD
c
É a combinação das bases com o sistema
Especialização em ES
Pag 5
Bancos de Dados Distribuídos
Um SGBD centralizado sobre uma rede
Nó 1
Nó 2
Nó 5
Rede de
Comunicação
Nó 4
Especialização em ES
Nó 3
Pag 6
Bancos de Dados Distribuídos
Principais Características de um SBDD
c
Dados armazenados em locais (ou nós)
c
Processadores dos nós interconectados através de
rede de computadores
c
A base de dados distribuída é realmente uma base de
dados e não uma coleção de arquivos
c
O sistema possui toda a funcionalidade de um SGBD
c
A tecnologia atual → multiprocessadores e
cliente/servidor
Especialização em ES
Pag 7
Bancos de Dados Distribuídos
Um Ambiente de Bases de Dados Distribuídas
Nó 1
Nó 2
Nó 5
Rede de
Comunicação
Nó 4
Especialização em ES
Nó 3
Pag 8
Bancos de Dados Distribuídos
Arquiteturas de Sistemas Bancos de Dados Distribuídos
c
Autonomia
Grau de autonomia com que cada SGBD individual trabalha.
Envolvendo fatores como a existência de troca de informações entre
os componentes.
c alta integração, a semi-autonomia e a automia total.
c Distribuição
Diz respeito à distribuição física dos dados pelos nós, que pode ser
total, parcial ou nenhuma
c Heterogeneidade
Do hardware, comunicação ou gerenciadores diferentes
Especialização em ES
Pag 9
Bancos de Dados Distribuídos
Vantagens de SBDDs
1. Transparência na Gerência dos Dados Distribuídos e
Replicados
c
transparência da rede
c
transparência da replicação
c
transparência da fragmentação
Desta forma, os usuários do banco de dados enxergariam
uma única imagem da base de dados logicamente
integrada, embora ela estivesse fisicamente distribuída.
Especialização em ES
Pag 10
Bancos de Dados Distribuídos
Vantagens de SBDDs
2. Confiabilidade através de Transações Distribuídas
Espera-se que os SBDDs ofereçam confiabilidade por
trabalharem com componentes replicados eliminando
assim pontos únicos de falha
3. Aumento de Desempenho
c
Localização dos Dados
O compartilhamento de recursos não é tão crítico e a
localização reduz a demora pelo acesso remoto aos
dados
c
Paralelismo no Processamento de Consultas
Especialização em ES
Pag 11
Bancos de Dados Distribuídos
Vantagens de SBDDs
4. Facilidade de Expansão
A adaptação ao crescimento da base de dados é mais
simples.
Considerações quanto às Implementações
Para aumentar o desempenho:
c tempos separados para leitura e modificação
c duas cópias da base de dados são mantidas, uma base
de consultas e uma base de produção. Em intervalos
regulares a base de produção é copiada para a base de
consultas.
As análises de desempenho não são efetivas.
Especialização em ES
Pag 12
Bancos de Dados Distribuídos
Projeto de Bases de Dados Distribuídas
1. Projeto Ascendente
Envolve a integração de bases existentes ('multidatabase')
2. Projeto Descendente
Distribuição das entidades globais sobre os nós do
sistema distribuído
Caracterização de duas atividades:
c Fragmentação
c Alocação
Especialização em ES
Pag 13
Bancos de Dados Distribuídos
Projeto de Bases de Dados Distribuídas
Fragmentação
Fragmentação Horizontal (Seleção)
c Circular, Faixa de Valores e Hashing
Fragmentação Vertical (Projeção)
c A chave da relação deve estar presente em todos os
fragmentos
Fragmentação Híbrida
Alocação
O fragmento pode ser replicado ou único
Especialização em ES
Pag 14
Bancos de Dados Distribuídos
Distribuição - base unificada
Nome
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
222-3333
Cláudio Silva
222-3333
Vôo
Tarifa
Nome Vôo
Air France 147
Air France 147
Air France 147
Varig 224
Varig 224
Ass
Passageiro
José Campos
Maria Silva
Gabriel Silva
Gabriel Silva
Cláudio Silva
Cia
Air France 147 1000,00 250 Air France
Air France 455
750,00 500 Air France
Varig 224
500,00 150 Varig
Nome
Faturam.
Presid.
Sede
Varig
20000K
Pampa
Porto Alegre
Air France
10000K
Etoile
Paris
Especialização em ES
Pag 15
Bancos de Dados Distribuídos
Distribuição - frag. horizontal, base AF
Nome
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
222-3333
Cláudio Silva
222-3333
Vôo
Tarifa
Nome Vôo
Ass
Passageiro
Air France 147
José Campos
Air France 147
Maria Silva
Air France 147
Gabriel Silva
Cia
Air France 147 1000,00 250 Air France
Air France 455
Nome
Air France
750,00 500 Air France
Faturam.
10000K
Especialização em ES
Presid.
Etoile
Sede
Paris
Pag 16
Bancos de Dados Distribuídos
Distribuição - frag. horizontal, base RG
Nome
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
222-3333
Cláudio Silva
222-3333
Vôo
Varig 224
Nome
Varig
Tarifa
Nome Vôo
Varig 224
Varig 224
Ass
Passageiro
Gabriel Silva
Cláudio Silva
Cia
500,00 150 Varig
Faturam.
20000K
Especialização em ES
Presid.
Pampa
Sede
Porto Alegre
Pag 17
Bancos de Dados Distribuídos
Distribuição - fragmentação vertical
Nome
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
222-3333
Cláudio Silva
222-3333
Vôo
Nome Vôo
Air France 147
Air France 147
Air France 147
Varig 224
Varig 224
Tarifa
Vôo
Ass
Passageiro
José Campos
Maria Silva
Gabriel Silva
Gabriel Silva
Cláudio Silva
Cia
Air France 147 1000,00
Air France 147 250 Air France
Air France 455
750,00
Air France 455 500 Air France
Varig 224
500,00
Varig 224
Nome
Faturam.
Nome
150 Varig
Presid.
Sede
Varig
20000K
Varig
Pampa
Porto Alegre
Air France
10000K
Air France
Etoile
Paris
Especialização em ES
Pag 18
Bancos de Dados Distribuídos
Processamento Distribuído de Consultas
c
Traduz automaticamente uma consulta expressa em
linguagem de alto nível sobre uma base distribuída
que é vista como única pelo usuário
A tradução deve ser correta.
O plano gerado deve ser ótimo.
c
O processamento trabalha em quatro fases:
c a decomposição da consulta
c a localização dos dados
c a otimização global
c a otimização local
Especialização em ES
Pag 19
Bancos de Dados Distribuídos
Processamento Distribuído de Consultas
Localização dos Dados
c Transforma uma consulta algébrica em uma consulta
equivalente sobre uma base fragmentada.
c É analisado o predicado da consulta e a função de
fragmentação
c É avaliado a geração de fragmentos vazios
c A consulta pode ser reduzida
Especialização em ES
Pag 20
Bancos de Dados Distribuídos
Tabela de Vôos distribuída
Vôo-A
Vôo
Tarifa Ass
Cia
Air France 147 1000,00 250 Air France
Air France 455 750,00 500 Air France
Nó 1
Nó 2
Nó 5
Rede de
Comunicação
Vôo
Varig 224
Nó 4
Especialização em ES
Nó 3
Tarifa
500,00
Ass
150
Cia
Varig
Vôo-V
Pag 21
Bancos de Dados Distribuídos
Processamento Distribuído de Consultas
Localização dos Dados
SELECT VÔO, TARIFA FROM VÔOS
WHERE CIA = “AIR FRANCE”
c Transforma a consulta em consulta equivalente sobre a base fragmentada.
SELECT
WHERE
UNION
SELECT
WHERE
VÔO, TARIFA FROM VÔO-A
CIA = “AIR FRANCE”
VÔO, TARIFA FROM VÔO-V
CIA = “AIR FRANCE”
c É analisado o predicado da consulta e a função de fragmentação
c É avaliado a geração de fragmentos vazios
c A consulta pode ser reduzida
SELECT VÔO, TARIFA FROM VÔO-A
WHERE CIA = “AIR FRANCE”
Especialização em ES
Pag 22
Bancos de Dados Distribuídos
Processamento Distribuído de Consultas
Localização dos Dados
SELECT VÔO, TARIFA FROM VÔOS
WHERE TARIFA <= 1000.00
c Transforma a consulta em consulta equivalente sobre a base fragmentada.
SELECT VÔO, TARIFA FROM VÔO-A
WHERE TARIFA <= 1000.00
UNION
SELECT VÔO, TARIFA FROM VÔO-V
WHERE TARIFA <= 1000.00
c É analisado o predicado da consulta e a função de fragmentação
c É avaliado a geração de fragmentos vazios
c A consulta pode ser reduzida
Neste caso não há redução, mas há paralelismo.
Especialização em ES
Pag 23
Bancos de Dados Distribuídos
Processamento Distribuído de Consultas
Otimização Global
c Gera o plano de execução ótimo a partir da consulta
fragmentada levando em conta técnicas de otimização
heurísticas e sistemáticas.
c O cálculo do custo deve levar em conta a
movimentação dos dados entre os nós.
Especialização em ES
Pag 24
Bancos de Dados Distribuídos
Distribuição Vertical
Vôo
Air France 147
Air France 455
Varig 224
Ass
250
500
150
Cia
Air France
Air France
Varig
Vôo-1
Nó 1
Nó 2
Nó 5
Rede de
Comunicação
Nó 4
Especialização em ES
Vôo
Air France 147
Air France 455
Varig 224
Nó 3
Tarifa
1000,00
750,00
500,00
Vôo-2
Pag 25
Bancos de Dados Distribuídos
Processamento Distribuído de Consultas
Localização dos Dados
SELECT VÔO, TARIFA FROM VÔOS
WHERE TARIFA <= 1000.00
c Transforma a consulta em consulta equivalente sobre a base fragmentada.
SELECT VÔO, TARIFA FROM VÔO-1
WHERE TARIFA <= 1000.00
JOIN
SELECT VÔO, TARIFA FROM VÔO-2
WHERE TARIFA <= 1000.00
c É analisado o predicado da consulta e a função de fragmentação
c É avaliado a geração de fragmentos vazios
c A consulta pode ser reduzida
SELECT VÔO, TARIFA FROM VÔO-2
WHERE TARIFA <= 1000.00
Especialização em ES
Pag 26
Bancos de Dados Distribuídos
Projeto Descendente de Bases de Dados Distribuídas
Análise de
Requisitos
Objetivos
Projeto
Externo
Projeto
Conceitual
Info. Acesso
ECG
Projeto de
Distribuição
EEs
Info. Usuário
ECLs
Projeto
Físico
EILs
Especialização em ES
Pag 27
Bancos de Dados Distribuídos
Questões em Projeto Distribuído
•
Por que fragmentar ?
•
Como fragmentar ?
•
Quanto fragmentar ?
•
Como testar a correção ?
•
Como alocar ?
•
Informação sobre requisitos ?
Especialização em ES
Pag 28
Bancos de Dados Distribuídos
Informação dos requisitos
Info da base de Dados Relacionamentos, Cardinalidade
Cia_Aérea
Nome
Faturam.
Presid.
Sede
L1
Vôos
Passageiros
Vôo
Tarifa Ass
Cia
L2
Nome
Telefone
L3
Passagens
Vôo
Especialização em ES
Passageiro
Pag 29
Bancos de Dados Distribuídos
Fragmentação Horizontal
¹Primária
»Principais Técnicas
:Faixa de Valores
: Função de Hashing
: Circular
¹Derivada
¹Fragmentação de uma relação ou classe não é baseada nas
propriedades dos seus próprios atributos mas em função da
fragmentação de outra classe ou relação.
¹Usada para facilitar as operações de junção e navegação entre
fragmentos
¹ A tabela de Vôos pode ser fragmentada de modo derivado em
relação à tabela de Cia_Aérea
Especialização em ES
Pag 30
Bancos de Dados Distribuídos
Distribuição - frag. horizontal
Primária
Nome
Air France
Faturam.
10000K
Presid.
Etoile
Sede
Paris
Derivada
Vôo
Tarifa
Ass
Cia
Air France 147 1000,00 250 Air France
Air France 455
750,00 500 Air France
Especialização em ES
Pag 31
Bancos de Dados Distribuídos
Controle de Concorrência Distribuído
c
Procura buscar um equilíbrio adequado entre a
manutenção da consistência e o alto nível de
concorrência.
c
Problemas :
c Gerência de cópias múltiplas.
c Falhas locais em nós.
c Falha nas ligações de comunicação.
c Finalização ('commit') distribuída.
c Bloqueio perpétuo distribuído.
Especialização em ES
Pag 32
Bancos de Dados Distribuídos
Problemas em Aberto
1. Processamento de Consultas Distribuído
c Espaço de soluções pode ser muito grande
c Avaliação custo otimização X custo execução
c Intervalo entre a otimização e re-otimização
c Mudanças na distribuição dos dados
(desbalanceamento)
Especialização em ES
Pag 33
Bancos de Dados Distribuídos
Problemas em Aberto
2. Problemas no Crescimento da Rede
c Faltam estudos de desempenho de SBDDs que levem em conta um
modelo de custo mais detalhado da rede de comunicação.
c Algumas questões vem sendo trazidas quando se trata do
comportamento de protocolos de comunicação e de algoritmos à
medida que os sistemas crescem e se tornam geograficamente
distribuídos.
c A maioria dos trabalhos de desempenho de SBDDs utilizam
modelos simplificados, cargas de trabalho artificiais ou premissas
conflitantes ou ainda consideram poucos algoritmos e específicos.
Especialização em ES
Pag 34
Bancos de Dados Distribuídos
Problemas em Aberto
3. Processamento de Transações Distribuído
c Manter um estado consistente da base de dados com tanta
replicação implica em protocolos sofisticados de controle de
réplicas. O método mais imediato é o ROWA (read one write
many), mas é também muito caro.
c Para que sejam plenamente alcançados os objetivos da replicação,
ou seja, disponibilidade e desempenho, é necessário que seja
avaliado a integração dos três tipos de replicação que ocorrem nos
SBDDs que são a replicação dos dados, a replicação do
processamento e da comunicação. Apenas a replicação dos dados
vem sendo estudada intensamente.
Especialização em ES
Pag 35
Bancos de Dados Distribuídos
Problemas em Aberto
4. Integração com Sist. Operacionais Distribuídos
c Há muito tempo os projetistas sistemas de banco de dados
centralizados ou distribuídos reclamam de serem uma aplicação
comum como qualquer outra de um sistema operacional.
c Existe um desencontro entre as necessidades de um SGBD e as
funções dos S.O.s atuais. Essa situação é ainda mais crítica no
caso dos SBDDs, pois necessitam de funções que os SO
distribuídos existentes não atendem como por exemplo, suporte a
transações distribuídas com controle de concorrência e
reconstrução.
Especialização em ES
Pag 36
Bancos de Dados Distribuídos
As Novas Tecnologias e os SBDDs
ª
ª
ª
A questão do desempenho
Um dos exemplos das novas aplicações de Bd que irão se
beneficiar da tecnologia de SBDDs são os ambientes de
trabalho cooperativo. Nesses sistemas os participantes
cooperam no acesso aos recursos compartilhados ao
invés de competir por eles como ocorre em aplicações
usuais de BD.
Começam a surgir SBDDOOs, mas ainda longe dos
benefícios
Especialização em ES
Pag 37
Bancos de Dados Distribuídos
As Novas Tecnologias e os SBDDs
ª
ª
A evolução da tecnologia de SGBDs distribuídos irá
viabilizar os servidores paralelos de bases de dados.
O paralelismo trará então impactos para os SBDDs na
implementação de SBDDs sobre os servidores paralelos.
Especialização em ES
Pag 38
Download