Bancos de Dados Distribuídos
Alcides Calsavara
Bancos de Dados Distribuídos
Página 1
Bancos de Dados Distribuídos











Introdução
Arquitetura de SGBD Distribuídos
Projeto de Banco de Dados Distribuído
Controle Semântico de Dados
Processamento de Consulta Distribuído
Gerenciamento de Transação Distribuída
Sistemas Operacionais de Banco de Dados Distribuído
Sistemas Abertos e Interoperabilidade
Sistemas de Banco de Dados Paralelos
Gerenciamento de Objeto Distribuído
Observações Finais
Bancos de Dados Distribuídos
Página 2
Motivação
Tecnologia de
Banco de Dados
Rede de
Computadores
integração
distribuição
Sistemas de
Banco de Dados
Distribuído
integração
integração  distribuição
Bancos de Dados Distribuídos
Página 3
O que é um Banco de Dados
Distribuído ?
Um Banco de Dados Distribuído (B.D.D.) é uma coleção de
múltiplos, logicamente interrelacionados Bancos de Dados,
distribuídos por uma rede de computadores.
Um S.G.B.D.D. é um software que gerencia o B.D.D. e que
provê um mecanismo de acesso que torna esta distribuição
transparente para o usuário.
Bancos de Dados Distribuídos
Página 4
SGBD Centralizado em uma Rede
Site 1
Site 2
Site 5
Rede de
Comunicação
Site 4
Bancos de Dados Distribuídos
Site 3
Página 5
Ambiente de SGBD Distribuído
Site 1
Site 2
Site 5
Rede de
Comunicação
Site 4
Bancos de Dados Distribuídos
Site 3
Página 6
Suposições Implícitas

Dados armazenados em vários sites  cada site logicamente
consiste de um único processador.

Dados processados em diferentes sites são interconectados por
uma rede de computadores  não há multiprocessadores
 sistemas de Banco de Dados Paralelos

Banco de Dados Distribuído é um Banco de Dados, não uma
coleção de arquivos  dados logicamente relacionados
 modelo de dados relacional

SGBDD é um SGBD full-fledged (completo)
Bancos de Dados Distribuídos
Página 7
Aplicações





Industriais - especialmente indústrias com várias
filiais
Controle e Comando Militar
Empresas Aéreas
Redes de Hoteis
Qualquer organização que tenha uma estrutura
descentralizada
Bancos de Dados Distribuídos
Página 8
Vantagens do SGBDD
Bancos de Dados Distribuídos

Autonomia local

Melhora de desempenho

Melhora de integridade/eficácia

Economia

Expansibilidade

Compartilhamento
Página 9
Desvantagens do SGBDD
Bancos de Dados Distribuídos

Complexidade

Custo

Controle da distribuição

Falta de experiência
Página 10
As Regras de Date de um SGBDD
Autonomia local
 Independência de um local central
 Operação contínua
 Independência de localização
 Independência de fragmentação
 Independência de replicação

Bancos de Dados Distribuídos
Página 11
As Regras de Date de um SGBDD
Processamento de consultas distribuídas
 Gerência de transações distribuídas
 Independência de hardware
 Independência de sistema operacional
 Independência de rede
 Independência de banco de dados

Bancos de Dados Distribuídos
Página 12
Questões sobre um SGBDD
 Projeto de Banco de Dados Distribuído
 Como distribuir o banco de dados?
 Distribuição com replicação ou não?
 Como gerenciar a distribuição?

Processamento de Consultas
 converter transações de usuário (SQL) para instruções de
manipulação de dados (acesso a tabelas)
 problema de otimização
 mínimo custo = transmissão de dado + processamento local
 a formulação geral é um problema NP-completo
Bancos de Dados Distribuídos
Página 13
Questões sobre um SGBDD

Controle de Concorrência
 sincronização de acesso concorrente
 consistência e isolamento dos efeitos de transações
 gerenciamento de deadlock
 Confiabilidade
 Como fazer o sistema recuperar de falhas?
 atomicidade e persistência
Bancos de Dados Distribuídos
Página 14
Relacionamento entre as Questões
Gerenciamento
da Distribuição
Processamento de
Consulta
Projeto da
Distribuição
Confiabilidade
Controle de
Concorrência
Gerenciamento
de Deadlock
Bancos de Dados Distribuídos
Página 15
Questões Relacionadas

Suporte do sistema operacional
 sistema operacional com suporte próprio para operações de
banco de dados distribuídos
 dicotomia entre as necessidades de processamento de âmbito
geral e de banco de dados

Sistemas Abertos e Interoperabilidade
 Sistemas distribuídos e homogêneos: “Multidatabases”
 Questões de Paralelismo
Bancos de Dados Distribuídos
Página 16
Promessas de um SGBDD

Gerenciamento transparente de dados distribuídos,
fragmentados e/ou replicados

Melhora de integridade/eficácia através de
transações distribuídas

Melhora de desempenho

Expansão de sistemas de forma mais fácil e
econômica
Bancos de Dados Distribuídos
Página 17
Suporte de Transparência

Sem considerar a replicação

Geralmente sem fragmentação
 Fragmentação horizontal pode ocorrer

Transparência da distribuição limitada
 especificação de caminho
 aliasing
 acesso remoto a um SGBD

Maioria dos sistemas possuem vários clientes e
apenas um servidor
Bancos de Dados Distribuídos
Página 18
Desempenho Potencialmente
Melhorado

Proximidade dos dados dos sites de uso
 Necessita algum suporte para fragmentação e replicação

Paralelismo na execução
 Paralelismo entre consulta
 Paralelismo na consulta
Bancos de Dados Distribuídos
Página 19
Necessidades de Paralelismo

Muitos dos dados que cada aplicação necessita
estão nos sites onde ela executa
 Replicação total

E quanto às atualizações ?
 Atualizações de dados replicados necessitam de implementação
de controle de concorrência distribuída e protocolos de commit
Bancos de Dados Distribuídos
Página 20
Alternativas de Sistemas Comerciais

“Multiplex” de tempo entre leitura e atualização
 Banco de dados aberto para a leitura durante um tempo regular
determinado; executa atualizações ao final deste tempo
 Alguns sistemas bancários trabalham desta maneira

“Multiplex” de banco de dados
 Banco de dados de consulta.
 Banco de dados de produção
Bancos de Dados Distribuídos
Página 21
Expansão do Sistema

Questão de escalabilidade do banco de dados

Tecnologias de microprocessadores e estações de
trabalho (workstation)
 Processamento no modelo Cliente-Servidor
Bancos de Dados Distribuídos
Página 22
Objetivo Fundamental da
Transparência
Prover
independência de dados
no ambiente distribuído
 Transparência da rede (distribuição)
 Transparência da replicação
 Transparência da fragmentação
Bancos de Dados Distribuídos
Página 23
Independência de Dados

Imunidade das aplicações do usuário para mudanças na
definição e/ou organização dos dados e vice-versa.
 Independência lógica de dado
Imunidade das aplicações do usuário para mudanças na estrutura
lógica do banco de dados.
 A definição da estrutura (schema) do banco de dados pode mudar sem
afetar as aplicações do usuário.
 Por exemplo, adição de novos atributos em uma relação, a criação de
novas relações, reordenação lógica de atributos.
 Independência física de dados
 Esconde os detalhes da estrutura de armazenamento das aplicações do
usuário.
 Descrição física dos dados pode mudar sem afetar as aplicações do
usuário.
 Por exemplo, dados podem ser “movidos” (trocados) de um volume de
disco para outro; a organização dos dados pode mudar.

Bancos de Dados Distribuídos
Página 24
Transparência de Rede


A existência da rede não deve ser notada pelas
aplicações do usuário.
Requer duas coisas:
 Transparência de acesso
O comando que é usado é independente do local onde está o dado
e do local onde a operação será realizada.
 Exemplo: Deve haver uma única operação para abrir tanto um
banco de dados local como um banco de dados remoto.
 Transparência de localização
 Provendo um nome único para cada objeto no sistema distribuído.
 Não embutir informações de localização nos nomes.
 Exemplo: Os nomes dos bancos de dados e das suas tabelas não
devem conter indicações de nomes de computadores na rede.

Bancos de Dados Distribuídos
Página 25
Transparência de Replicação

Se existem réplicas de objetos (relações/tabelas,
tuplas/registros, atributos/colunas) do banco de dados,
sua existência deve ser controlada pelo sistema e não
pelo usuário.

Tradeoff:
Se o usuário está ciente da existência de réplicas e é
responsável pelo seu gerenciamento, então o
sistema tem que fazer um trabalho mínimo e o
desempenho pode ser melhor.
Bancos de Dados Distribuídos
Página 26
Transparência de Fragmentação

Se relações/tabelas do banco de dados são
fragmentadas, então o sistema tem que lidar com a
conversão de consultas do usuário definidas em
relações globais para consultas definidas em
fragmentos.


Tradução de consultas globais para consultas de
fragmento e colocação de fragmentos juntos em uma
resposta.
Bancos de Dados Distribuídos
Página 27
Acesso Transparente
SELECT
FROM
WHERE
AND
AND
ENAME,SAL
E,G,S
DUR > 12
E.ENO = G.ENO
E.TITLE = S.TITLE
Tokyo
Paris
Boston
Communication
Network
Paris projects
Paris employees
Paris assignments
Boston employees
Boston projects
Boston employees
Boston assignments
Montreal
G - projects: projetos
E - employees: empregados
S - assignments: tarefas
Bancos de Dados Distribuídos
New
York
Boston projects
New York employees
New York projects
New York assignments
Montreal projects
Paris projects
New York projects
Montreal employees
Montreal assignments
Página 28
Arquitetura ANSI/SPARC
Study Group on Data Management Systems - Relatório Interno/1975
Esquema
Externo
Esquema
Conceitual
Esquema
Interno
Bancos de Dados Distribuídos
Visão
externa
Visão
externa
Visão
conceitual
Visão Interna
Visão
externa
Visão do
usuário
individual
Visão do
conjunto
de usuários
Visão do
armazenamento
Página 29
Arquitetura ANSI/SPARC
Nível Conceitual
Reinos Naturais
Mineral
n
Primários
1
n
1 Secundários
n
Acessórios
Bancos de Dados Distribuídos
Vegetal
Animal
Mamíferos
Primatas
Cetáceos
Página 30
Arquitetura ANSI/SPARC
Nível Externo
Reinos Naturais
Biólogo
Geólogo
Botânico
Zoólogo
Mineral
Vegetal
Animal
Bancos de Dados Distribuídos
Página 31
Arquitetura ANSI/SPARC
Nível Interno
Reino Animal : Mamíferos/Primatas/Homo
Rodesiano
Pitecantropo
Neandertal
Homem Solo
Bancos de Dados Distribuídos
Mongolóides
Africanos
Eurasianos
Página 32
Arquitetura ANSI/SPARC
Nível Interno
Reino Animal : Mamíferos/Primatas/Homo
Altura
Mongolóides
Peso
Organização
Neandertal
Africanos
Longevidade
Alimentação
Eurasianos
Bancos de Dados Distribuídos
Ferramentas
...
Página 33
Dimensões do Problema

Distribuição
 Se os componentes do sistema estão localizados na mesma máquina ou
não

Heterogeneidade
 Diferentes níveis: hardware, comunicação, sistema operacional, SGBD
 SGBD:


modelo de dados, linguagem de consulta, algoritmos de
gerenciamento de transações, ...
Autonomia
 Autonomia de projeto: Habilidade de um componente do SGBD decidir
sobre questões relacionadas com seu próprio projeto.
 Autonomia de comunicação: Habilidade de um componente do SGBD
decidir como comunicar-se com outros SGBDs.
 Autonomia de execução: Habilidade de um componente do SGBD
executar operações locais da maneira que ele desejar.
Bancos de Dados Distribuídos
Página 34
Alternativas de Implementação
do DBMS
Distribuição
Logically integrated
and homogeneous
multiple DBMSs
Distributed
homogeneous
DBMS
Distributed,
homogeneous,
federated
DBMS
Distributed,
homogeneous,
multi-DBMS
Distributed
heterogeneous
DBMS
Homogeneous
federated DBMS
Distributed
heterogeneous
federated DBMS
Autonomia
Multi-DBMS
Heterogeneous
integrated DBMS
Distributed
heterogeneous
multi-DBMS
Heterogeneidade
Bancos de Dados Distribuídos
Single site
heterogeneous
federated DBMS
Heterogeneous
multi-DBMS
Página 35
Acesso de Tempo Compartilhado a um
Banco de Dados Centralizado
• Sem memória
Terminais ou PCs emulando terminais
• Host (servidor)
executando
todos os
softwares
Solicitações
Batch
Rede
Respostas
Communications
Application Software
DBMS Services
Database
Bancos de Dados Distribuídos
Página 36
Multiplos Clientes/Único servidor
Applications
Applications
Applications
Client
Services
Communications
Client
Services
Communications
Client
Services
Communications
Rede
Solicitações
de alto-nível
Somente dados
filtrados
Communications
DBMS Services
Database
Bancos de Dados Distribuídos
Página 37
Vantagens da Arquitetura
Cliente-Servidor

Divisão do trabalho mais eficiente

Escalabilidade dos recursos

Melhor preço/performance nas máquinas clientes

Habilidade de usar ferramentas “familiares” nas máquinas
clientes

Acessos de clientes a dados remotos (via padrões, como
ODBC)

Toda funcionalidade do SGBD oferecida às máquinas
clientes

Acima de tudo, melhor preços/performance dos sistemas
Bancos de Dados Distribuídos
Página 38
Problemas com MúltiplosClientes/Único Servidor

Congestionamento no servidor

Único ponto de falha no servidor

Difícil escalabilidade no servidor
Bancos de Dados Distribuídos
Página 39
Múltiplos Clientes/Múltiplos
Servidores




diretórios
caching
decomposição de
consultas
protocolos de
commit
Applications
Client
Services
Communications
Rede
Communications
Communications
DBMS Services
DBMS Services
Database
Bancos de Dados Distribuídos
Database
Página 40
Problemas no Design

Na montagem geral:
Tomar decisões sobre a disposição dos dados e programas
através de sites de uma rede de computadores, bem como
possivelmente desenhar a própria rede em si.

Num SGBD distribuído, a disposição de vínculos
das aplicações
 disposição do software do SGBD distribuído
 disposição das aplicações que executam no B.D.
Bancos de Dados Distribuídos
Página 41
Design da Distribuição

De cima para baixo (Top-Down)
 principalmente ao desenhar sistemas a partir do nada
 principalmente em sistemas homogêneos

De baixo para cima (Bottom-Up)
 Quando os Bancos de Dados já existem em um número de sites
Bancos de Dados Distribuídos
Página 42
Arquitetura de um SGBD
Distribuído




ES : External Schema
GCS : Global Conceptual Schema
LCS : Local Conceptual Schema
LIS : Local Internal Schema
Bancos de Dados Distribuídos
Página 43
Lógica de Dados numa Arquitetura de
um SGBD Distribuído
ES1
ES2
...
ESn
GCS
Bancos de Dados Distribuídos
LCS1
LCS2
LIS1
LIS2
...
...
LCSn
LISn
Página 44
Top-Down Design
Análise das
Necessidades
Objetivos
Input do Usuário
Design
Conceitual
Integração da Visão
Informação
de Acesso
GCS
Design da
Distribuição
Design da
Visão
ES’s
Input do Usuário
LCS’s
Design
Físico
LIS’s
Bancos de Dados Distribuídos
Página 45
Questões de Design de Distribuição
Bancos de Dados Distribuídos

Por que fragmentar afinal ?

Como fragmentar ?

O quanto fragmentar ?

Como testar exatidão ?

Como alocar ?

Necessidades de informação ?
Página 46
Alternativas de Fragmentação Horizontal
J
J1 : projetos com orçamentos
JNO
inferiores a $200,000
J1
J2
J2 : projetos com orçamentos maiores J3
J4
ou iguais a $200,000
J5
J1
JNO
JNAME
BUDGET
LOC
Instrumentação
Desenvolv.do B.D.
CAD/CAM
Manutenção
CAD/CAM
150000
135000
250000
310000
500000
Montreal
New York
New York
Paris
Boston
J2
JNAME
BUDGET
LOC
JNO
JNAME
BUDGET
LOC
J1
Instrumentação
150000
Montreal
J3
CAD/CAM
250000
New York
J2
Desenv. do B.D.
135000
New York
J4
Manutenção
310000
Paris
J5
CAD/CAM
500000
Boston
Bancos de Dados Distribuídos
Página 47
Alternativas de Fragmentação Vertical
J1: informações sobre orçamentos
de projetos
J2: informações sobre nomes e
localidades de projetos
J1
J
JNO
J1
J2
J3
J4
J5
JNAME
BUDGET
LOC
150000
135000
250000
310000
500000
Montreal
New York
New York
Paris
Boston
Instrumentação
Desenv. do B.D.
CAD/CAM
Manutenção
CAD/CAM
J2
JNO
BUDGET
JNO
J1
J2
J3
J4
J5
150000
135000
250000
310000
500000
J1
J2
J3
J4
J5
Bancos de Dados Distribuídos
JNAME
Instrumentação
Desenv. do B.D.
CAD/CAM
Manutenção
CAD/CAM
LOC
Montreal
New York
New York
Paris
Boston
Página 48
Exatidão da Fragmentação

Completitude (Completeness)
 Decomposição da relação R em fragmentos R1, R2, ..., Rn está completa se e
somemte se cada item de dado em R puder ser encontrado em algum Ri

Reconstrução
 Se a relação R for decomposta em fragmentos R1, R2, ..., Rn, então deverá
existir algum operador relacional tal que
R = 1inRi

Disjunção
 Se a relação R for decomposta em fragmentos R1, R2, ..., Rn, e o item de
dado di estiver em Rj, então di não deveria estar em qualquer outro
fragmento Rk (k  j ).
Bancos de Dados Distribuídos
Página 49
Grau de Fragmentação
Número finito de alternativas
tuplas
ou
atributos
relações
Encontrando o nível adequado de
particionamento dentro desta extensão
Bancos de Dados Distribuídos
Página 50
Fragmentação

Não podemos apenas distribuir relações ?

O que é uma unidade de distribuição razoável ?
 relação

visões são subconjuntos de relações localidade

comunicação extra
 fragmentos de relações (sub-relações)

execução concorrente de um número de transações que
acessam diferentes partes da relação

visões que não podem ser definidas num simples fragmento
irão requerer processamento extra

controle de dados semânticos (especialmente esforço de
integridade) mais difícil
Bancos de Dados Distribuídos
Página 51
Alternativas de Alocação

Não-replicada
 particionada: cada fragmento reside somente em um site

Replicada
 totalmente replicada: cada fragmento em cada site
 parcialmente replicada: cada fragmento em alguns dos sites

Regra prática:
Se read - only queries
update queries
1
replicação é vantajosa,
em caso contrário a replicação pode causar problemas
Bancos de Dados Distribuídos
Página 52
Processamento de Consulta
Consultas em linguagem de alto nível (SQL)
processador
de
consulta
comandos de manipulação de dados em linguagem
de baixo nível
Bancos de Dados Distribuídos
Página 53
Componentes de Processamento de
Consulta

A linguagem de consulta que é normalmente
utilizada
 SQL: “linguagem de dados intergalática”

Metodologia de execução de consulta
 As etapas que se atravessa na execução de consultas de altonível (declarativas) do usuário.

Otimização de consulta
 Como se determina o “melhor” plano de execução?
Bancos de Dados Distribuídos
Página 54
Objetivos da Otimização de Consultas
Minimizar uma função de custo
Custo de E/S + custo de UCP + custo de comunicação
Podem ter pesos diferentes em diferentes ambientes distribuídos
WAN - Redes Remotas
 o custo de comunicação é dominante
 baixa largura de faixa
 baixa velocidade
 protocolo com alto overhead
 a maioria dos algoritmos ignora todos os outros componentes de custo
LAN - Redes Locais
 custo de comunicação não tão dominantes
 custo total da função deveria ser considerado
Pode-se também querer maximizar throughput
Bancos de Dados Distribuídos
Página 55
Complexidade de Operações
Relacionais
Operação

Assuma
 relações de cardinalidade n
 acesso sequencial
Complexidade
Seleção
Projeção
(sem eliminação de duplicatas)
O(n)
Projeção
(com eliminação de duplicatas)
Group
O(nlog n)
Junção
Semi-junção
O(nlog n)
Divisão
Operadores de conjunto
Produto cartesiano
Bancos de Dados Distribuídos
O(n2)
Página 56
Questões de Otimização de Consulta –
Tipos de Otimizadores

Pesquisa exaustiva
 baseada em custo
 resultado ótimo
 complexidade combinatória no número de relações

Heurística
 resultado não ótimo
 reagrupamento de sub-expressões comuns
 avalia primeiramente a projeção e seleção
 substitui uma junção por uma série de semi-junções
 reordena operações para reduzir o tamanho da relação
intermediária
 otimiza operações individuais
Bancos de Dados Distribuídos
Página 57
Questões de Otimização de consulta –
Topologia da Rede

Redes remotas (WAN) - ponto a ponto
 características
baixa largura de faixa
 baixa velocidade
 protocolo com alto overhead
 custo de comunicação dominante; ignore todos os outros fatores
de custo
 horário global para minimizar custo de comunicação
 estratégias locais de acordo com a otimização de consulta
centralizada


Redes locais (LAN)




custo de comunicação não tão dominante
função de custo total deveria ser considerada
pode explorar bradcasting (junção)
algoritmos particulares existem para redes tipo “estrela”
Bancos de Dados Distribuídos
Página 58
Metodologia de Processamento de
Consulta Distribuída
Consulta em Cálculo sobre Relações
Distribuídas
Decomposição
de consulta
ESQUEMA
GLOBAL
Consulta em Algébrica em Relações
Distribuídas
SITE DE
CONTROLE
Localização
de Dados
ESQUEMA
FRAGMENTADO
Consulta Fragmentada
Otimização
Global
ESTATÍSTICAS
NOS FRAGMENTOS
Consulta Fragmentada Otimizada
induzindo Operações de Comunicação
SITES
LOCAIS
Otimização
Local
ESQUEMAS
LOCAIS
Consultas Locais
Otimizadas
Bancos de Dados Distribuídos
Página 59
O Problema do B.D.

grande volume de dados  utilize disco e memória
principal grande

gargalo I/O (ou gargalo de acesso à memória)
 velocidade(disco) << velocidade(RAM) << velocidade(microprocessador)

Prognósticos
 crescimento de velocidade do (micro-) processador : 50 % por ano
 crescimento da capacidade DRAM : 4 a cada três anos
 atravessamento do disco : 2 nos últimos dez anos

Conclusão : o gargalo do I/O irá piorar
Bancos de Dados Distribuídos
Página 60
A Solução

Aumente a largura da banda do I/O
 repartição de dados
 acesso a dados paralelos

Origens (anos 80): equipamentos de B.D.
 orientados para hardware  custo-desempenho ruim  falhas
 exceção notável : ICL's CAFS ISP

Anos 90 : a mesma solução, porém utilizando componentes de
hardware padronizados integrados em um multiprocessador
 orientados para software
 padrão essencial para explorar os contínuos aperfeiçoamentos tecnológicos
Bancos de Dados Distribuídos
Página 61
Objetivos do Multiprocessador


Alto-desempenho com melhor custo-desempenho do
que mainframe ou supercomputadores array
Utiliza muitos nós, cada um com bom custodesempenho, comunicando através de rede
 bom custo através de componentes de grande volume
 bom desempenho

Tendências
 multiprocessador
 rede

O verdadeiro desafio é paralelizar aplicações de forma
que executem com bom equilíbrio de carga
Bancos de Dados Distribuídos
Página 62
Processamento de Dados Paralelos

Três maneiras de explorar sistemas de multiprocessador de alto-desempenho:
 automaticamente detecte paralelismo em programas
sequenciais
 aumente uma linguagem existente com construções paralelas
 ofereça uma nova linguagem na qual o paralelismo possa ser
expresso ou automaticamente inferido

Crítica
difícil de desenvolver paralelizando computadores, aceleração
resultante limitada
 possibilita ao programador expressar computações paralelas,
porém de muito baixo nível
 pode combinar as vantagens de (1) e (2)
Bancos de Dados Distribuídos
Página 63
Sistemas de B.D. Paralelos Objetivos

Custo/desempenho muito melhor do que a solução
mainframe

Alto desempenho através de paralelismo
 alto atravessamento através do paralelismo inter-query
 baixo tempo de resposta com paralelismo intra-operação

Alta disponibilidade e confiabilidade explorando a
replicação de dados

Extensividade com os objetivos ideais
 aceleração linear
 escalamento linear
Bancos de Dados Distribuídos
Página 64
Bancos de Dados Distribuídos
Página 65
Bancos de Dados Distribuídos
Página 66
Barreiras ao Paralelismo

Iniciar
 o tempo necessário para iniciar uma operação pode dominar o tempo real
de computação

Interferência
 quando acessar recursos compartilhados, cada novo processo desacelera
os outros

Assimetria
 o tempo de resposta de um conjunto de processos paralelos é o tempo do
mais lento

Técnicas de gerenciamento de dados paralelos
pretendem ultrapassar estas barreiras
Bancos de Dados Distribuídos
Página 67
Funções do B.D. Paralelo

gerenciador da sessão
 interface do hospedeiro
 monitoramento da transação para OLTP

gerenciador da solicitação
 compilação e otimização
 gerenciamento do diretório de dados
 controle de dados semânticos
 controle da execução

gerenciador de dado
 execução de operações do B.D.
 suporte de gerenciamento da transação
 gerenciamento do dado
Bancos de Dados Distribuídos
Página 68
Arquiteturas do Sistema Paralelo

Extremos da arquitetura de multiprocessador
 memória compartilhada (tudo compartilhado)
 nada compartilhado (passagem de mensagem)

Arquitetura intermediária: disco compartilhado
Bancos de Dados Distribuídos
Página 69
Arquitetura de Memória
Compartilhada
P1
Pn
interconectar
Memória Global
D
Exemplos: multiprocessadores simétricos (Sequent, Encore, Bull's
Escala), XPRS (U. of Berkeley), DBS3 (Bull)
 simplicidade, equilíbrio de carga, comunicação rápida
 custo da rede, baixa extensividade, baixa disponibilidade
Bancos de Dados Distribuídos
Página 70
Arquitetura de Disco Compartilhado
P1
Pn
M1
Mn
interconectar
D
Exemplos : DEC's VAXcluster, IBM's IMS/VS Data Sharing
 custo
da rede, extensividade, migração de uni-processador
 complexidade, problema de desempenho potencial para
coerência de cópia
Bancos de Dados Distribuídos
Página 71
Arquitetura “Nada Compartilhado”
interconectar
P1
Pn
D1
M1
Dn
Mn
Exemplos : Teradata (ATT GIS), NonStopSQL (Tandem),
Gamma (U. of Wisconsin), Bubba (MCC)
 custo, extensividade, disponibilidade
 complexidade, difícil equilíbrio de carga
Bancos de Dados Distribuídos
Página 72
Comparações de Desempenho
SN
desempenho
SD
SM
10
100
1000
número de nós
Bancos de Dados Distribuídos
Página 73
Aglomeração de Nós SM
P1
Pn
P1
Pn
interconectar
Memória Global
D


interconectar
Memória Global
D
combina o bom balanceamento de carga SM(Shared Memory
- memória compartilhada) com a extensividade de
SN(Shared Nothing - nada compartilhado)
alternativas
 número limitado de grandes nós, ex: nós de processador 4 x 16
 grande número de pequenos nós,ex: nós de processador 16 x 4, tem um
custo-desempenho muito melhor (pode ser um aglomerado de workstations)
Bancos de Dados Distribuídos
Página 74
Comentários finais


BD distribuídos: teoria “antiga”, prática “recente”
Estudo de arquiteturas
 paralelismo incluído


Arquitetura C/S e camadas lógicas
Protocolos de confiabilidade
 sistemas comerciais?

Processamento de consultas
 Muitos problemas em aberto!

Tendências
 Feedback da prática: novas demandas (e.g. BD Multimídia)
Bancos de Dados Distribuídos
Página 75
Download

Bancos de Dados Distribuídos