Beruflich Dokumente
Kultur Dokumente
Michel Ferreira 1
Michel Ferreira 2
1
Bases de Dados Distribuídas
Homogéneas
n Numa base de dados distribuída homogénea
ê Todos os sites têm software idêntico
ê Estão conscientes uns dos outros e acordam em cooperar no
processamento dos pedidos dos utilizadores.
ê Cada site aceita perder parte da sua autonomia em termos de direitos de
mudança de esquema e software.
ê Ao utilizador parece um sistema único.
n Numa base de dados distribuída heterogénea
ê Sites diferentes podem usar esquemas e software diferentes
Ø Diferenças nos esquemas constituem problemas complicados no
processamento de consultas
Ø Diferenças no software constituem problemas complicados no
processamento de transacções
ê Os sites podem não estar conscientes uns dos outros e poderão fornecer
apenas capacidades limitadas para cooperação no processamento de
transacções
Michel Ferreira 3
Michel Ferreira 4
2
Replicação de dados
Michel Ferreira 5
n Vantagens da Replicação
ê Disponibilidade: a falha de um site contendo a relação r não resulta na
indisponibilidade de r se existirem réplicas.
ê Paralelismo: consultas sobre r podem ser processadas por vários nós em
paralelo.
ê Reducão dos dados a transferir: uma relação r está disponível localmente em
cada site que contenha uma réplica de r.
n Desvantagens da Replicação
ê Aumento do custo de actualizações: cada réplica de uma relação r tem de ser
actualizadade.
ê Aumento da complexidade do controlo de concorrência: actualizações
concorrentes em réplicas distintas poderão levar a dados inconsistentes a não
ser que mecanismos especiais de controlo de concorrência sejam
implementados.
Ø Uma solução: escolher uma cópia como cópia primária e aplicar operações
de controlo de concorrência sobre a cópia primária.
Michel Ferreira 6
3
Fragmentação de Dados
Michel Ferreira 7
account1=sbranch-name=“Hillside”(account)
account2=sbranch-name=“Valleyview”(account)
Michel Ferreira 8
4
Fragmentação Vertical da Relação employee-
employee-info
Hillside Lowman 1
Hillside Camp 2
Valleyview Camp 3
Valleyview Kahn 4
Hillside Kahn 5
Valleyview Kahn 6
Valleyview Green 7
deposit1=Pbranch-name, customer-name, tuple-id(employee-info)
account number balance tuple-id
A-305 500 1
A-226 336 2
A-177 205 3
A-402 10000 4
A-155 62 5
A-408 1123 6
A-639 750 7
deposit2=Paccount-number, balance, tuple-id(employee-info)
Michel Ferreira 9
Vantagens da Fragmentação
n Horizontal:
ê Permite o processamento paralelo de fragmentos de uma relação
ê Permite que uma relação seja dividida de forma a que os tuplos
estejam onde são mais frequentemente acedidos
n Vertical:
ê Permite que os tuplos sejam divididos de forma a que cada parte do
tuplo esteja guardada onde é mais frequentemente acedida
ê O atributo de identificação de tuplo permite a junção eficiente de
fragmentos verticais
ê Permite o processamento paralelo de uma relação
n A fragmentação vertical e horizontal podem ser combinadas.
ê Os fragmentos podem ser sucessivamente fragmentados até uma
determinada profundidade.
Michel Ferreira 10
5
Transparência de Dados
n Transparência de dados: Nível até ao qual o utilizador do
sistema permanece inconsciente dos detalhes de como e onde os
dados são guardados num sistema distribuído.
n Considerar questões de transparência em relação a:
ê Transparência de fragmentação
ê Transparência de replicação
ê Transparência de localização
Michel Ferreira 11
Michel Ferreira 12
6
Esquema Centralizado – Servidor de Nomes
n Estrutura:
ê O servidor de nomes atribui todos os nomes
ê Cada site mantém um registo dos itens de dados locais
ê Os sites pedem ao servidor de nomes para localizar itens de dados
não locais
n Vantagens:
ê Satisfaz os critérios de nomeação 1-3
n Desvantagens:
ê Não satisfaz o critério de nomeação 4
ê O servidor de nomes constitui potencialmente um bottleneck em
termo de performance
ê O servidor de nomes é um ponto de falha único
Michel Ferreira 13
Uso de Aliases
Michel Ferreira 14
7
Transacções Distribuídas
Michel Ferreira 15
Michel Ferreira 16
8
Tipos de Falhas do Sistema
Michel Ferreira 17
Protocolos de Commit
Michel Ferreira 18
9
Protocolo Two Phase Commit (2PC)
Michel Ferreira 19
Michel Ferreira 20
10
Fase 2: Registo da Decisão
Michel Ferreira 21
Quando um site Si recupera após uma falha examina o seu log para
determinar o destino das transaccoes activas aquando da falha.
n Log contém o registo <commit T>: o site executa redo (T)
n Log contém o registo <abort T>: o site executa undo (T)
n Log contém o registo <ready T>: o site deve consultar Ci para
determinar o destino de T.
ê Se T fez o commit, redo (T)
ê Se T foi abortada, undo (T)
n Se o log não contém registos respeitantes a T significa que Sk
falhou antes de responder à mensagem prepare T de Ci
ê O site Sk tem de abortar T
ê Sk executa undo (T)
Michel Ferreira 22
11
Tratamento de Falhas – Falha do Coordenador
Michel Ferreira 23
Michel Ferreira 24
12
Recuperação e controlo de concorrência
Michel Ferreira 25
Michel Ferreira 26
13
Processamento de Consultas Distribuídas
Michel Ferreira 27
Transformação de consultas
Michel Ferreira 28
14
Consulta Exemplo (Cont.)
Michel Ferreira 29
Michel Ferreira 30
15
Possíveis estratégias de processamento de
consultas
Michel Ferreira 31
Estratégia de Semijoin
n Seja r1 uma relação com esquema R1 guardada no site S1
n Seja r2 uma relação com esquema R2 guardada no site S2
n Avaliar a expressão r1 r2 e obter o resultado em S1.
n 1. Calcular temp1 ¬ ÕR1 Ç R2 (r1) em S1.
n 2. Enviar temp1 de S1 para S2.
n 3. Calcular temp2 ¬ r2 temp1 em S2
n 4. Enviar temp2 de S2 para S1.
n 5. Calcular r1 temp2 em S1. Isto é o mesmo que r1 r2.
Michel Ferreira 32
16
Definição formal
n O semijoin de r1 com r2, é denotado por:
r1 r2
n É definido por:
n ÕR1 (r1 r2)
n Ou seja, r1 r2 selecciona os tuplos de r1 que contribuíram para r1 r2.
n No passo 3 anterior, temp2=r2 r1.
n Para joins de várias relações, a estratégia acima pode ser extendida
para uma série de passos de semijoins.
Michel Ferreira 33
Michel Ferreira 34
17
Controlo de Concorrência
Michel Ferreira 35
Abordagem Single-Lock-Manager
Michel Ferreira 36
18
Abordagem Single-Lock-Manager (Cont.)
Michel Ferreira 37
Michel Ferreira 38
19
Primary Copy
Michel Ferreira 39
Majority Protocol
Michel Ferreira 40
20
Majority Protocol (Cont.)
Michel Ferreira 41
Biased Protocol
Michel Ferreira 42
21
Quorum Consensus Protocol
Michel Ferreira 43
Tratamento de Deadlocks
Considerem as duas transacções seguintes e o historial, com o item X e a
transacção T1 no site 1, e o item Y e a transacção T2 no site 2:
X-lock on X
write (X) X-lock on Y
write (Y)
wait for X-lock on X
Resultado: deadlock que não pode ser detectado localmente nos sites
Michel Ferreira 44
22
Abordagem Centralizada
Michel Ferreira 45
Local
Global
Michel Ferreira 46
23
Exemplo de um ciclo falso de espera
Estado inicial:
Michel Ferreira 47
Michel Ferreira 48
24
Rollbacks desnecessários
Michel Ferreira 49
Michel Ferreira 50
25
Vantagens
Michel Ferreira 51
Michel Ferreira 52
26
Processamento de Consultas
Michel Ferreira 53
Sistemas Mediadores
Michel Ferreira 54
27