Bancos de Dados Distribuídos

Propaganda
Bancos de Dados
Distribuídos
Visão geral de BDD
Fernanda Baião
[email protected]
Departamento de Informática Aplicada
UNIRIO
2006.2
Bibliografia Utilizada
„
„
„
„
Özsu, M.T. Valduriez, P. "Principles of Distributed Database
Systems", 2a edição, Prentice Hall, 1999 (versão em português
lançada em 2001)
Abiteboul, A., Buneman, P., and Suciu, D., “Data on the Web”,
Morgan-Kaufman, 1999
Elmasri, R. Navathe, S. "Fundamentals of Database Systems",
2a edição, Benjamin/Cummings, 1994
Ceri, S. Pelagatti, G. "Distributed Database Systems - Principles
and Systems, McGraw Hill, 1984
Kossmann, D., The State of the Art in Distributed Query
Processing, ACM Computing Surveys 32(4), pp. 422-469, 2000
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
„
„
„
„
„
3
1- Introdução
2- Caracterização de SBDD
3- Vantagens de SBDD
4- Principais Desafios dos SGBDD
5- As Novas Tecnologias e os SBDDs
4
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Histórico dos Sistemas de Bancos de
Dados
„
Introdução
Antes: Processamento de arquivos
tradicional
Programa 1
Descrição
de dados
Arquivo 1
Programa 2
Descrição
de dados
Arquivo 2
Programa 3
Descrição
de dados
Arquivo 3
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Dados Redundantes
„
Conteúdo
6
1
Histórico dos Sistemas de Bancos de
Dados
„
Motivação para os Sistemas de Bancos
de Dados Distribuídos
Processamento de Banco de Dados
‰
„
independência de dados
„
Programa 1
Programa 2
Manipulação
de dados
Programa 3
„
Descrição
de dados
„
Banco
de Dados
„
...
7
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Surgimento dos Sistemas de Bancos
de Dados Distribuídos
Tecnologia
de BD
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
„
Conceito em busca de uma definição
consensual, amplamente utilizado
„
Um grupo de elementos de processamento
Distribuição
‰
‰
Sistemas de Bancos de Dados Distribuídos
‰
Integração
‰
‰
Integração ≠ Centralização
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
8
Processamento Distribuído
Redes de
Computadores
Centralização
Importância da tecnologia de Bancos de
Dados Distribuídos
Produtos no mercado
Vantagens sobre os centralizados
Previsões de substituição completa dos
SGBDs centralizados
Questões em aberto
9
Computação distribuída
autônomos
não necessariamente homogêneos
interconectados por uma rede de computadores
cooperam na realização de tarefas
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
10
O que está sendo distribuído...
„
Lógica de processamento
„
Funções
„
Dados
„
Controle
Caracterização de SBDD
Em um SBDD, todos são necessários e importantes...
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
11
2
O que É um Sistema de Banco de
Dados Distribuído
„
Base de Dados Distribuída (BDD)
‰
„
O que NÃO É um Sistema de Banco
de Dados Distribuído...
„
É uma coleção de diversas bases de dados, interligadas
logicamente através de uma rede de computadores
„
‰
Sistema de Gerência de Bases de dados
Distribuídas (SGBDD)
‰
‰
‰
É o sistema de software que possibilita a gerência da BDD
e lida com aspectos de transparência
transparência para o usuário
‰
„
„
Sistema de Banco de Dados Distribuído (SBDD)
SBDD = BDD + SGBDD
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Sistemas de Tempo Compartilhado (Timesharing)
Sistemas de Multiprocessamento
Sistema de Banco de Dados que reside em 1 nó da
rede
‰
13
SGBD centralizado em uma rede
Memória Compartilhada (shared-memory, shared
everything)
Disco Compartilhado (shared-disk)
Nada Compartilhado (shared-nothing, message-passing)
Memória Compartilhada Distribuída (distributed sharedmemory)
= Sistema de Banco de Dados centralizado
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Um Ambiente de SGBDD
Nó 1
Nó 1
Nó 2
Nó 2
Nó 5
Nó 5
Rede de
Comunicação
Nó 4
Rede de
Comunicação
Nó 3
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Nó 4
15
Principais Características de um
SBDD
„
„
„
„
„
„
„
‰
‰
Nó 3
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
16
Arquiteturas de Multiprocessadores
Dados armazenados em diversos locais (ou nós)
‰ cada nó é logicamente um processador
‰ ≠ distância geográfica
Processadores interconectados através de rede
A base de dados distribuída não é uma coleção de arquivos
O SGBDD possui toda a funcionalidade de um SGBD
Tecnologia atual
‰ multiprocessadores
„
14
„
Memória Compartilhada
memória compartilhada (shared-memory ou shared-everything)
disco compartilhado (shared-disk)
nada compartilhado ou memória distribuída (shared-nothing)
cliente-servidor
clusters, GRIDs
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
17
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
18
3
Arquiteturas de Multiprocessadores
„
Arquiteturas de Multiprocessadores
Disco Compartilhado
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
„
19
Aplicações de SBDD
„
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
20
Arquiteturas de SGBDD
Intuitivas
‰
‰
‰
‰
‰
‰
„
Memória Distribuída
Companhias aéreas
Redes de lojas
Cadeias de hotéis
Controle militar
Sistemas de informações gerenciais corporativas
Qualquer organização que possua uma estrutura
descentralizada
Nem tão intuitivas assim...
‰
Sistemas com grande volume de dados, mesmo que em
organizações centralizadas, que demandam por aumento
de desempenho
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
21
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
22
Arquiteturas de SGBDD
„
„
„
Distribuição
‰ distribuição física dos componentes do sistema
Heterogeneidade
‰ vários níveis: hardware, comunicação, sistema operacional
‰ para o SGBD: modelo de dados, linguagem de consulta,
algoritmos de gerência de transações
Autonomia
‰ Grau de autonomia com que cada SGBD individual trabalha
„
‰
Vantagens de SBDD
existência de troca de informações entre os componentes
Vários conceitos...
„
„
„
de projeto: SGBD componente decide aspectos relacionados ao seu
próprio projeto
de comunicação: SGBD componente decide se comunica ou não (e
como se comunica) com outros SGBD
de execução: SGBD componente executa operações locais da forma
que deseja
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
23
4
Vantagens de SBDDs
1. Transparência na Gerência dos
Dados Distribuídos
1. Transparência
„
na Gerência dos Dados
Distribuídos
„
2. Confiabilidade
3. Potencial
Aumento de Desempenho
4. Expansão
Desta forma, os usuários do banco de dados
enxergariam uma única imagem da base de
dados logicamente integrada,
integrada embora ela
estivesse fisicamente distribuída.
mais fácil e econômica
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
25
Níveis de Transparência
„
Transparência da rede
„
Transparência da replicação
„
Transparência da fragmentação
‰
Transparência é a separação entre a semântica de
alto nível de um sistema e seus detalhes de
implementação
A questão fundamental é prover
Independência de dados
no ambiente distribuído.
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
26
Transparência - Exemplo
diversas técnicas:
„
horizontal (seleções)
„
vertical (projeções)
„
combinações
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Qual a remuneração de cada empregado, em função das
responsabilidades atribuídas a ele por mais de 1 ano em algum projeto?
27
Acesso transparente
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
28
Base de dados Distribuída – Visão do
Usuário
29
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
30
5
2. Confiabilidade
SGBD Distribuído - Realidade
„
Componentes replicados
„
Eliminação de pontos únicos de falha
Provêem maior disponibilidade e confiabilidade
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
31
begin_transaction ATUALIZAR_SALARIO
begin
EXEQ SQL UPDATE PAY
SET
SAL = SAL*1.1
end.
Requer suporte para transações distribuídas
‰
protocolos distribuídos
„
„
„
32
Confiabilidade - Exemplo
Confiabilidade
„
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
SELECT AVG(SAL)
FROM
EMP, PAY
WHERE EMP.TITLE = PAY.TITLE
de controle de concorrência e gerência de deadlocks
de confiabilidade
de controle de réplicas
Os aplicativos dos usuários não precisariam se preocupar
com com a coordenação de seus acessos a bancos de
dados locais individuais,
individuais nem teriam que se preocupar
coma possibilidade de falhas em nós ou links de
comunicação durante a transação
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
33
3. Potencial aumento de desempenho
„
Localização dos Dados
‰
‰
„
„
‰
‰
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Paralelismo entre consultas (Inter-query)
‰
„
Paralelismo entre consultas (Inter-query)
Paralelismo dentro da consulta (Intra-query)
Paralelismo dentro de operações
‰
„
Execução de diversas consultas em paralelo
Paralelismo dentro da consulta (Intra-query)
Execução de operações de uma mesma consulta
em paralelo
Paralelismo dentro de operações
‰
35
34
Paralelismo no Processamento de
Consultas
„
Compartilhamento de recursos não é tão crítico
Reduz o tempo de acesso remoto aos dados
Requer suporte para fragmentação e
replicação
Paralelismo no Processamento de Consultas
‰
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Execução da mesma operação para fragmentos
distintos da relação em paralelo
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
36
6
Para tirar proveito do paralelismo
„
Considerações sobre o aumento de
desempenho em SBDD com paralelismo
Ter os dados distribuídos pelos
processadores envolvidos no processamento
paralelo
„
Ganhos comprovados experimentalmente
‰
„
Replicação total?
‰
‰
„
‰
E quanto às atualizações ?
‰
maior número de réplicas implica em maior tempo
de processamento de uma atualização
„
„
Métricas
aceleração linear, crescimento linear
Balanceamento de carga
distribuição estática x dinâmica
Acelaração (Speed-up) chega a ser maior que o
linear, em alguns casos
„
conferências DEXA, VECPAR, ...
controle de concorrência distribuído
protocolos de finalização (commit)
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
37
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
38
4. Expansão Mais Fácil e Econômica
„
„
Crescimento da base de dados é um
problema atual de muitas aplicações
Evolução da tecnologia
‰
‰
Principais Desafios dos
SGBDDs
microprocessadores, workstations, clusters,
GRIDs, ...
modelo de computação cliente-servidor, múltiplas
camadas, desenvolvimento baseado em
componentes, ...
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
39
Principais Desafios dos SGBDDs
„
Projeto de Distribuição de Bases de Dados
„
Processamento Distribuído de Consultas
„
Controle de Concorrência Distribuído
Principais Desafios dos SGBDDs
„
Projeto de Distribuição de Bases de Dados
‰
“Particionamento dos dados”
„
„
Fragmentação Horizontal, Vertical ou combinações
válidas
Informações não replicadas
‰
‰
„
Confiabilidade
‰
“Replicação”
„
„
Total ou parcial
Fragmentos replicados em nós
‰
‰
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
41
Controle de concorrência simplificado
> desempenho de operações de atualização
+ disponibilidade
> desempenho de operações de leitura
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
42
7
Exemplo de Fragmentação
Exemplo de Fragmentação
Passageiros
Passageiros
Base de Dados Centralizada
Nome
Fragmentação Horizontal - base AF
Reservas
Telefone
Nome Vôo
Passageiro
Nome
Reservas
Telefone
Nome Vôo
Passageiro
Jose Campos
322-9999
Air France 147
José Campos
Jose Campos
322-9999
Maria Silva
222-3333
Air France 147
José Campos
Air France 147
Maria Silva
Maria Silva
222-3333
Gabriel Silva
222-3333
Air France 147
Maria Silva
Air France 147
Gabriel Silva
Gabriel Silva
222-3333
Cláudio Silva
222-3333
Air France 147
Gabriel Silva
Varig 224
Gabriel Silva
Cláudio Silva
222-3333
Varig 224
Cláudio Silva
Vôos
Vôos
Vôo
Tarifa
Air France 147
1000,00
250
Ass
Air France
Cia
Air France 455
750,00
500
Air France
Varig 224
500,00
150
Varig
Cia_Aéreas
Vôo
Tarifa
Air France 147
1000,00
250
Ass
Air France
Cia
Air France 455
750,00
500
Air France
Cia_Aéreas
Nome
Faturam.
Presid.
Sede
Varig
20000K
Pampa
Porto Alegre
Air France
10000K
Etoile
Paris
Nome
Air France
46
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Faturam.
Presid.
10000K
Etoile
Sede
Paris
Exemplo de Fragmentação
Exemplo de Fragmentação
Passageiros
Passageiros
Fragmentação Horizontal - base RG
Nome
Fragmentação Vertical – base Voo-1
Reservas
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
Cláudio Silva
Nome Vôo
Nome
Passageiro
Reservas
Telefone
Gabriel Silva
Jose Campos
322-9999
Cláudio Silva
Maria Silva
222-3333
222-3333
Gabriel Silva
222-3333
222-3333
Cláudio Silva
222-3333
Varig 224
Varig 224
Vôos
Nome Vôo
Vôos
Vôo
Tarifa
Ass
Varig 224
500,00
150
Cia
Vôo
Varig
Cia_Aéreas
Nome
Varig
Tarifa
Air France 147
1000,00
Air France 455
750,00
Varig 224
500,00
Passageiro
Air France 147
José Campos
Air France 147
Maria Silva
Air France 147
Gabriel Silva
Varig 224
Gabriel Silva
Varig 224
Cláudio Silva
Cia_Aéreas
Faturam.
20000K
Presid.
Pampa
Nome
Sede
Porto Alegre
48
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Exemplo de Fragmentação
Nome Vôo
Telefone
Air France 147
José Campos
322-9999
Air France 147
Maria Silva
Maria Silva
222-3333
Air France 147
Gabriel Silva
Gabriel Silva
222-3333
Varig 224
Gabriel Silva
Cláudio Silva
222-3333
Varig 224
Cláudio Silva
Vôo
Ass
10000K
49
Cia Aérea - FH Primária
Nome
Air France
Faturam.
Presid.
10000K
Etoile
Sede
Paris
Cia
Air France 147
250
Air France
Air France 455
500
Air France
Varig 224
150
Varig
Vôos - FH Derivada
Vôo
Cia_Aéreas
Nome
Air France
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Passageiro
Jose Campos
Vôos
20000K
Fragmentação Horizontal Derivada
Reservas
Passageiros
Faturam.
Varig
Exemplo de Fragmentação
Fragmentação Vertical – base Voo-2
Nome
47
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Presid.
Cia
1000,00
Tarifa
250
Air France
Air France 455
750,00
500
Air France
Sede
Varig
Pampa
Porto Alegre
Air France
Etoile
Paris
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Ass
Air France 147
50
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
51
8
Requisitos de Informação para o
PDBD
„
Principais Desafios dos SGBDDs
Info da base de Dados
‰
„
Relacionamentos, Cardinalidade
‰
Cia_Aérea
Nome
‰
Faturam.
Presid.
Sede
‰
L1
Vôos
‰
Passageiros
Vôo
Processamento Distribuído de Consultas
Tarifa Ass
Cia
Nome
L2
conversão de transações do usuário em
instruções de manipulação de dados
Problema de otimização
min{custo = transmissão dados + process. local}
formulação geral do problema é NP-difícil
Telefone
L3
Passagens
Vôo
Passageiro
53
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Processamento Distribuído de
Consultas
„
‰
‰
„
„
‰
‰
‰
Localização dos Dados
‰
base distribuída é vista como única pelo usuário
A tradução deve ser correta.
O plano gerado deve ser ótimo.
Transforma consulta algébrica em consulta
equivalente sobre uma base fragmentada.
„
„
O processamento trabalha em quatro fases:
‰
‰
a decomposição da consulta
a localização dos dados
a otimização global
a otimização local
55
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Analisa predicado da consulta e função de
fragmentação
Avalia geração de fragmentos vazios
A consulta pode ser reduzida
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Fragmentação Horizontal na tabela Vôos
select Vôo, tarifa from vôos where
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
Rede de
Comunicação
Cia = “Air France”
Transformação
select Vôo, tarifa from vôo-A where
UNION
select Vôo, tarifa from vôo-V where
Nó 5
Cia = “Air France”
Cia = “Air France”
Análise do predicado da consulta e da função de fragmentação
Vôo
Varig 224
Nó 4
56
Localização dos Dados
Processamento Distribuído de Consultas
Voo-AF
54
Processamento Distribuído de
Consultas
Tradução automática das consultas em linguagem
de alto nível
‰
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Nó 3
Tarifa
500,00
Ass
150
Cia
Varig
Avaliação da geração de fragmentos vazios
Redução da consulta
Voo-RG
select Vôo, tarifa from vôo-A where
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
57
Cia = “Air France”
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
58
9
Localização dos Dados
Otimização Global
select Vôo, tarifa from vôos where tarifa <= 1000.00
„
Transformação
tarifa <= 1000.00
select Vôo, tarifa from vôo-A where
UNION
select Vôo, tarifa from vôo-V where
Gera o plano de execução ótimo a partir da
consulta fragmentada
‰
tarifa <= 1000.00
‰
técnicas de otimização heurísticas e sistemáticas.
cálculo do custo
Custo de E/S
Análise do predicado da consulta e da função de fragmentação
(operações de acesso ao disco)
Avaliação da geração de fragmentos vazios
Custo de CPU
(operações de processamento)
Redução da consulta
Custo de comunicação
Neste caso não há reduç
redução,
ão, mas pode haver paralelismo
(movimentação dos dados entre os nós)
nós)
59
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Fragmentação Vertical em Vôos
Ass
250
500
150
60
Localização dos Dados
Processamento Distribuído de Consultas
Vôo
Air France 147
Air France 455
Varig 224
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
select Vôo, tarifa from vôos where tarifa <= 1000.00
Cia
Air France
Air France
Varig
Transformação
Voo-2
Nó 1
select Vôo, tarifa from vôo-1 where
JOIN
select Vôo, tarifa from vôo-2 where
Nó 2
Nó 5
Rede de
Comunicação
Nó 4
tarifa <= 1000.00
Análise do predicado da consulta e da função de fragmentação
Vôo
Air France 147
Air France 455
Varig 224
Nó 3
Tarifa
1000,00
750,00
500,00
Avaliação da geração de fragmentos vazios
Redução da consulta
Voo-1
select Vôo, tarifa from vôo-1 where
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
61
Questões no Processamento de
Consultas Distribuído
Avaliação “custo otimização” X “custo execução”
‰
Intervalo entre a otimização e re-otimização
‰
Mudanças na distribuição dos dados
„
desbalanceamento de carga
„
distribuição dinâmica
Controle de Concorrência Distribuído
‰
‰
‰
sincronização de acessos concorrentes
consistência versus concorrência
Problemas
„
„
„
„
„
„
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
62
Principais Desafios dos SGBDDs
Espaço de soluções pode ser muito grande
‰
tarifa <= 1000.00
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
„
‰
tarifa <= 1000.00
63
Gerência de cópias múltiplas
Falhas locais em nós
Falha nas ligações de comunicação
Finalização (commit) distribuída
Bloqueio perpétuo (deadlock) distribuído
Problemas muito complexos e ainda em aberto...
aberto...
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
64
10
Controle de Concorrência Distribuído
„
Principais Desafios dos SGBDDs
Alternativas de Implementação
‰
tempos separados para leitura e modificação
‰
2 cópias da base da dados distribuída
„
1 para consultas, 1 para atualização
„
atualizações periódicas na base de consultas
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
„
Confiabilidade
‰
Como tornar o sistema tolerante a falhas
„
‰
65
Relações entre os Desafios
Durabilidade e Atomicidade
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
Suporte do Sistema Operacional
‰
‰
SGBDs não são uma aplicação como outra
qualquer...
suporte apropriado a operações de bancos de
dados
„
„
‰
67
Questões Relacionadas aos SBDD
‰
‰
muito caro.
‰
Avaliar três tipos de replicação
„
„
„
‰
replicação dos dados
replicação do processamento
replicação da comunicação
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
68
Trabalho: Pesquisar produtos abaixo e
elaborar um relatório técnico descrevendo as
funcionalidades de distribuição
‰
O método mais imediato é o ROWA (read one write
many),
ƒ
‰
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
„
Manter um estado consistente da base de dados
com replicação
protocolos sofisticados de controle de réplicas.
„
propósito geral + SBBDs
O que está disponível hoje no
mercado?
Processamento de Transações Distribuído
‰
Situação ainda mais crítica no caso dos SBDDs
Ex: suporte a transações distribuídas com controle de
concorrência e reconstrução
requisitos de processamento
„
„
66
Questões Relacionadas aos SBDD
„
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
SGBDs componentes, rede de comunicação
69
Oracle 10g
SQL Server
IBM Informix
PostgreSQL 8.1
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
70
11
As Novas Tecnologias e os SBDDs
„
Novas aplicações
‰
As Novas Tecnologias e os
SBDDs
‰
‰
‰
„
Inerentemente distribuídas
Requisitos cada vez maiores por mais desempenho
Trabalho cooperativo, mineração de dados, ...
Desenvolvimento baseado em componentes
Utilização combinada com recursos de paralelismo
disponíveis nos produtos existentes
‰
‰
Oracle Real Application Cluster
Compaq NonStop SQL
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
72
As Novas Tecnologias e os SBDDs
„
Gerência de dados na Web
‰
Necessidade de convergência entre 2 culturas distintas
Web
crescimento explosivo de dados
semi/não estruturados, troca de
informações
(HTML, XML, WSDL)
„
‰
‰
SGBDs
serviços de gerência de dados
tradicionais
(armazenamento, consulta, modelos de
dados, integridade e consistência)
Sistemas XML-nativos, conversores XML-bases relacionais,
linguagens de consulta a dados XML (XQuery, XPath), máquinas de
busca
Interoperabilidade
Mudanças de tecnologia
„
„
Arquiteturas multi-camadas, serviços web
clusters e GRIDs
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião)
73
12
Download