Bancos de Dados
Distribuídos
Fernanda Baião
baiao@cos.ufrj.br
Departamento de Informática Aplicada
UNIRIO
2007.2
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 2
Bibliografia Utilizada
Principal:
Özsu, M.T. Valduriez, P. "Princípios de Sistemas de
Banco de Dados Distribuídos", Editora Campus, 2001
Outras:
Projeto Pargres:
http://pargres.nacad.ufrj.br/
http://forge.objectweb.org/projects/pargres/
Abiteboul, A., Buneman, P., Suciu, D., “Data on the Web”,
Morgan-Kaufman, 1999
Elmasri, R. Navathe, S. "Fundamentals of Database Systems", 2
aediçã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
Conteúdo
1- Introdução
2- Caracterização de SBDD
3- Vantagens de SBDD
4- Principais Desafios dos SGBDD
5- As Novas Tecnologias e os SBDDs
Introdução
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 5
Histórico dos Sistemas de Bancos de
Dados
Antes: Processamento de arquivos
tradicional
Arquivo 3
Arquivo 2
Programa 1
Descrição
de dados
Programa 2
Descrição
de dados
Programa 3
Descrição
de dados
Arquivo 1
D
ados R
edun
dant
es
Histórico dos Sistemas de Bancos de
Dados
Processamento de Banco de Dados
independência de dados
independência de dados
Programa 1
Descrição
de dados
Programa 2
Manipulação
de dados
Programa 3
...
Banco
de Dados
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 7
Motivação para os Sistemas de Bancos
de Dados Distribuídos
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
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 8
Surgimento dos Sistemas de Bancos
de Dados Distribuídos
Tecnologia
de BD
Integração
Distribuição
Centralização
≠
Centralização
Centralização
Integração
Integração
Redes de
Computadores
Sistemas de Bancos de Dados Distribuídos
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 9
Processamento Distribuído
Conceito em busca de uma definição
consensual, amplamente utilizado
Computação distribuída
Um grupo de elementos de processamento
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
Em um SBDD, todos são necessários e importantes...
Em um SBDD, todos são necessários e importantes...
Caracterização de SBDD
O que
É
É
um Sistema de Banco de
Dados Distribuído
Base de Dados Distribuída (BDD)
É uma coleção de diversas bases de dados,
interligadas
interligadas
logicamente
logicamente
através de uma
rede
rede
de computadores
de
computadores
Sistema de Gerência de Bases de dados
Distribuídas (SGBDD)
É o
sistema
sistema
de software
de software
que possibilita a gerência da BDD
e lida com aspectos de
transparência
transpar
ência
para o usuário
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 13
O que
NÃO É
NÃO É
um Sistema de Banco
de Dados Distribuído...
Sistemas de Tempo Compartilhado (Timesharing)
Sistemas de Multiprocessamento
Memória Compartilhada (shared-memory, shared
everything)
Disco Compartilhado (shared-disk)
Nada Compartilhado (shared-nothing, message-passing)
Memória Compartilhada Distribuída (distributed
shared-memory)
Sistema de Banco de Dados que reside em 1 nó da
rede
= 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) 14
SGBD centralizado em uma rede
Nó 1
Nó 2
Nó 3
Nó 4
Nó 5
Rede de
Comunicação
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 15
Um Ambiente de SGBDD
Nó 1
Nó 2
Nó 3
Nó 4
Nó 5
Rede de
Comunicação
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 16
Principais Características de um
SBDD
Dados armazenados em
diversos
diversos
locais
locais
(ou nós)
cada nó é logicamente um processador
≠ distância geográfica
Processadores interconectados através de
rede
rede
A base de dados distribuída
não
não
é uma
é
uma
coleção
coleção
de
de arquivos
arquivos
O SGBDD possui
toda
toda
a funcionalidade
a
funcionalidade
de um SGBD
de um SGBD
Tecnologia atual
multiprocessadores
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
Arquiteturas de Multiprocessadores
Memória Compartilhada
Arquiteturas de Multiprocessadores
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 19
Arquiteturas de Multiprocessadores
Memória Distribuída
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 20
Aplicações de SBDD
Intuitivas
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
Qualquer organização que possua uma estrutura
descentralizada
descentralizada
Nem tão intuitivas assim...
Sistemas com grande volume de dados, mesmo que em
organizações centralizadas, que demandam por
aumento
aumento
de desempenho
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
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
Vantagens de SBDD
Vantagens de SBDDs
1.
Transparência na Gerência dos Dados
Distribuídos
2.
Confiabilidade
3.
Potencial Aumento de Desempenho
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 25
1.
Transparência na Gerência dos
Dados Distribuídos
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
Independência de dados
no ambiente distribuído.
Desta forma, os usuários do banco de dados
enxergariam uma
uma
única
única
imagem
imagem
da
da
base de
base de
dados
dados
logicamente
logicamente
integrada
integrada
, embora ela
estivesse fisicamente distribuída.
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 26
Níveis de Transparência
Transparência da rede
Transparência da replicação
Transparência da fragmentação
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) 27
Transparência - Exemplo
Qual a remuneração de cada empregado, em função das
responsabilidades atribuídas a ele por mais de 1 ano em algum projeto?
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 28
Acesso transparente
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 29
Base de dados Distribuída – Visão do
Usuário
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 31
2.
Confiabilidade
Componentes replicados
Eliminação de pontos únicos de falha
Provêem
Provêem
maior
maior
disponibilidade
disponibilidade
e
e confiabilidade
confiabilidade
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 32
Confiabilidade
Requer suporte para transações distribuídas
protocolos distribuídos
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
coordenação
de
de
seus
seus
acessos
acessos
a
a
bancos
bancos
de
de
dados
dados
locais
locais
individuais
individuais
, nem teriam que se preocupar
coma possibilidade
possibilidade
de
de
falhas
falhas
em
em
nós
nós
ou
ou
links de
links de
comunicação
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
Confiabilidade - Exemplo
begin_transaction ATUALIZAR_SALARIO
begin
EXEQ SQL UPDATE PAY
SET
SAL = SAL*1.1
end.
SELECT AVG(SAL)
FROM
EMP, PAY
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 34
3.
Potencial aumento de desempenho
Localização dos Dados
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
Paralelismo entre consultas (Inter-query)
Paralelismo dentro da consulta (Intra-query)
Paralelismo dentro de operações
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 35
Paralelismo no Processamento de
Consultas
Paralelismo entre consultas (Inter-query)
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
Execução da mesma operação para fragmentos
distintos da relação em paralelo
Para tirar proveito do paralelismo
Ter os dados distribuídos pelos
processadores envolvidos no processamento
paralelo
Replicação total?
Replicação total?
E quanto às atualizações ?
maior número de réplicas implica em maior tempo
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 37
Considerações sobre o aumento de
desempenho em SBDD com paralelismo
Ganhos comprovados experimentalmente
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, ...
© 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
microprocessadores, workstations, clusters,
GRIDs, ...
modelo de computação cliente-servidor, múltiplas
camadas, desenvolvimento baseado em
componentes, ...
Principais Desafios dos
SGBDDs
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 40
Principais Desafios dos SGBDDs
Projeto de Distribuição de Bases de Dados
Processamento Distribuído de Consultas
Controle de Concorrência Distribuído
Confiabilidade
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 41
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
Controle de concorrência simplificado
> desempenho de operações de atualização
“Replicação”
Total ou parcial
Fragmentos replicados em nós
+ disponibilidade
> desempenho de operações de leitura
Exemplo de Fragmentação
Base de Dados Centralizada
222-3333
Cláudio Silva
222-3333
Gabriel Silva
222-3333
Maria Silva
322-9999
Jose Campos
Telefone
Nome
Cláudio Silva
Varig 224
Gabriel Silva
Varig 224
Gabriel Silva
Air France 147
Maria Silva
Air France 147
José Campos
Air France 147
Passageiro
Nome Vôo
Varig
150
500,00
Varig 224
Air France
500
750,00
Air France 455
Air France
250
1000,00
Air France 147
Cia
Ass
Tarifa
Vôo
Sede
Presid.
Faturam.
Nome
Passageiros
Vôos
Cia_Aéreas
Reservas
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 46
Exemplo de Fragmentação
Fragmentação Horizontal - base AF
222-3333
Cláudio Silva
222-3333
Gabriel Silva
222-3333
Maria Silva
322-9999
Jose Campos
Telefone
Nome
Gabriel Silva
Air France 147
Maria Silva
Air France 147
José Campos
Air France 147
Passageiro
Nome Vôo
Air France
500
750,00
Air France 455
Air France
250
1000,00
Air France 147
Cia
Ass
Tarifa
Vôo
Paris
Etoile
10000K
Air France
Sede
Presid.
Faturam.
Nome
Passageiros
Vôos
Cia_Aéreas
Reservas
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 47
Exemplo de Fragmentação
Fragmentação Horizontal - base RG
222-3333
Cláudio Silva
222-3333
Gabriel Silva
222-3333
Maria Silva
322-9999
Jose Campos
Telefone
Nome
Cláudio Silva
Varig 224
Gabriel Silva
Varig 224
Passageiro
Nome Vôo
Varig
150
500,00
Varig 224
Cia
Ass
Tarifa
Vôo
Porto Alegre
Pampa
20000K
Varig
Sede
Presid.
Faturam.
Nome
Passageiros
Vôos
Cia_Aéreas
Reservas
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 48
Exemplo de Fragmentação
Fragmentação Vertical – base Voo-1
222-3333
Cláudio Silva
222-3333
Gabriel Silva
222-3333
Maria Silva
322-9999
Jose Campos
Telefone
Nome
500,00
Varig 224
750,00
Air France 455
1000,00
Air France 147
Tarifa
Vôo
10000K
Air France
20000K
Varig
Faturam.
Nome
Passageiros
Vôos
Cia_Aéreas
Cláudio Silva
Varig 224
Gabriel Silva
Varig 224
Gabriel Silva
Air France 147
Maria Silva
Air France 147
José Campos
Air France 147
Passageiro
Nome Vôo
Reservas
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 49
Exemplo de Fragmentação
Fragmentação Vertical – base Voo-2
Cláudio Silva
Varig 224
Gabriel Silva
Varig 224
Gabriel Silva
Air France 147
Maria Silva
Air France 147
José Campos
Air France 147
Passageiro
Nome Vôo
Varig
150
Varig 224
Air France
500
Air France 455
Air France
250
Air France 147
Cia
Ass
Vôo
Paris
Etoile
Air France
Porto Alegre
Pampa
Varig
Sede
Presid.
Nome
Vôos
Reservas
222-3333
Cláudio Silva
222-3333
Gabriel Silva
222-3333
Maria Silva
322-9999
Jose Campos
Telefone
Nome
Passageiros
Cia_Aéreas
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 50
Paris
Etoile
10000K
Air France
Sede
Presid.
Faturam.
Nome
Cia Aérea - FH Primária
Air France
500
750,00
Air France 455
Air France
250
1000,00
Air France 147
Cia
Ass
Tarifa
Vôo
Vôos - FH Derivada
Exemplo de Fragmentação
Fragmentação Horizontal Derivada
Requisitos de Informação para o
PDBD
Info da base de Dados
Relacionamentos, Cardinalidade
Nome
Faturam.
Presid.
Sede
Vôo
Tarifa Ass
Cia
Nome
Telefone
Cia_Aérea
Vôos
Passageiros
L1
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 53
Principais Desafios dos SGBDDs
Processamento Distribuído de Consultas
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
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 54
Tradução automática das consultas em linguagem
de alto nível
base distribuída é vista como única pelo usuário
A tradução deve ser correta.
O plano gerado deve ser ótimo.
O processamento trabalha em quatro fases:
a decomposição da consulta
a localização dos dados
a otimização global
a otimização local
Processamento Distribuído de
Consultas
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 55
Processamento Distribuído de
Consultas
Localização dos Dados
Transforma consulta algébrica em consulta
equivalente sobre uma base fragmentada.
Analisa predicado da consulta e função de
fragmentação
Avalia geração de fragmentos vazios
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 56
Processamento Distribuído de Consultas
Fragmentação Horizontal na tabela Vôos
Vôo Tarifa Ass Cia
Air France 147 1000,00 250 Air France Air France 455 750,00 500 Air France
Vôo Tarifa Ass Cia
Varig 224 500,00 150 Varig
Nó 1
Nó 2
Nó 3
Nó 4
Nó 5
Rede de
Comunicação
Voo-RG
Voo-AF
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 57
Localização dos Dados
select Vôo, tarifa from vôos where Cia = “Air France”
select Vôo, tarifa from vôo-A where Cia = “Air France”
UNION
select Vôo, tarifa from vôo-V where Cia = “Air France”
select Vôo, tarifa from vôo-A where Cia = “Air France”
Transformação
Análise do predicado da consulta e da função de fragmentação
Avaliação da geração de fragmentos vazios
Redução da consulta
Localização dos Dados
select Vôo, tarifa from vôos where tarifa
<= 1000.00
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
Transformação
Análise do predicado da consulta e da função de fragmentação
Avaliação da geração de fragmentos vazios
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 59
Otimização Global
Gera o plano de execução ótimo a partir da
consulta fragmentada
técnicas de otimização heurísticas e sistemáticas.
cálculo do custo
Custo de
Custo de E/S
E/S
(operações de acesso ao disco)
(operações de acesso ao disco)
Custo de CPU
Custo de CPU
(operações de processamento)
(operações de processamento)
Custo de comunicação
Custo de comunicação
(
(
movimentação
movimentação
dos dados
dos dados
entre
entre
os
os
nós
nós
)
)
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 60
Processamento Distribuído de Consultas
Fragmentação Vertical em Vôos
Vôo Ass Cia Air France 147 250 Air France Air France 455 500 Air France Varig 224 150 Varig Vôo Tarifa Air France 147 1000,00 Air France 455 750,00 Varig 224 500,00
Nó 1
Nó 2
Nó 3
Nó 4
Nó 5
Rede de
Comunicação
Voo-1
Voo-2
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 61
Localização dos Dados
select Vôo, tarifa from vôos where tarifa
<= 1000.00
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
Transformação
Análise do predicado da consulta e da função de fragmentação
Avaliação da geração de fragmentos vazios
Redução da consulta
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 62
Questões no Processamento de
Consultas Distribuído
Espaço de soluções pode ser muito grande
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
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 63
Principais Desafios dos SGBDDs
Controle de Concorrência Distribuído
sincronização de acessos concorrentes
consistência versus concorrência
Problemas
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
Problemas
muito
muito
complexos
complexos
e
e
ainda
ainda
em
em
aberto
aberto
...
...
Controle de Concorrência Distribuído
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) 65
Principais Desafios dos SGBDDs
Confiabilidade
Como tornar o sistema tolerante a falhas
SGBDs componentes, rede de comunicação
Durabilidade e Atomicidade
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 66
Relações entre os Desafios
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 67
Questões Relacionadas aos SBDD
Suporte do Sistema Operacional
SGBDs não são uma aplicação como outra
qualquer...
suporte apropriado a operações de bancos de
dados
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
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 68
Questões Relacionadas aos SBDD
Processamento de Transações Distribuído
Manter um estado consistente da base de dados
com replicação
protocolos sofisticados de controle de réplicas.
O método mais imediato é o ROWA (read one write
many),
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) 69
O que está disponível hoje no
mercado?
Trabalho: Pesquisar produtos abaixo e
elaborar um relatório técnico descrevendo as
funcionalidades de distribuição
Oracle 10g
SQL Server
IBM Informix
PostgreSQL 8.1
As Novas Tecnologias e os
SBDDs
© 2006 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Marta Mattoso e Fernanda Baião) 71
As Novas Tecnologias e os SBDDs
Novas aplicações
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
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