consistÊncia e consenso - inf.ufpr.br · o teorema cap datacenter 1 datacenter 2 quebra da rede...
TRANSCRIPT
![Page 1: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/1.jpg)
CONSISTÊNCIA E CONSENSOCONSISTÊNCIA E CONSENSOCONSTRUINDO SISTEMAS DISTRIBUÍDOSCONSTRUINDO SISTEMAS DISTRIBUÍDOS
TOLERANTES A FALHASTOLERANTES A FALHASAluísio Augusto Silva Gonçalves
17 de maio de 2018
![Page 2: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/2.jpg)
CONTEÚDOCONTEÚDORecapitulandoGarantias de consistênciaLinearizabilidadeGarantias de ordenaçãoTransações DistribuídasConsensoAssociação e coordenaçãoSumárioQuestões
![Page 3: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/3.jpg)
RECAPITULANDORECAPITULANDO
![Page 4: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/4.jpg)
PROBLEMAS COM SISTEMASPROBLEMAS COM SISTEMASDISTRIBUÍDOSDISTRIBUÍDOS
Comunicação: atraso/reordenação/duplicação/perdade pacotesOrdenação: relógios imprecisos ou dessincronizadosDisponibilidade: nodos podem pausar ou falhar aqualquer momento
![Page 5: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/5.jpg)
GARANTIAS DEGARANTIAS DECONSISTÊNCIACONSISTÊNCIA
![Page 6: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/6.jpg)
ATRASO DE REPLICAÇÃOATRASO DE REPLICAÇÃO
Usuário 3
BD 1
BD 2
Usuário 1
Usuário 2
leia 'k'
'k': 12
escreva 'k': 13
ok
replique 'k': 13
leia 'k''k': 13
leia 'k' 'k': 12
Mesmo instante, nodos diferentes, dados diferentes.
![Page 7: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/7.jpg)
MODELOS DE CONSISTÊNCIAMODELOS DE CONSISTÊNCIAConsistência eventual
Em algum momento após uma escrita, todos osnodos terão o mesmo dado.
LinearizabilidadeApós uma escrita, todas as leituras (em qualquernodo) retornam o valor escrito.
![Page 8: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/8.jpg)
LINEARIZABILIDADELINEARIZABILIDADE
![Page 9: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/9.jpg)
OBJETIVOOBJETIVOFazer parecer que há apenas uma cópia dos dados,
abstraindo da aplicação/usuário a existência de réplicas(e os problemas que vêm com elas).
Todas as leituras e escritas podem ser mapeadas parauma única linha do tempo.
![Page 10: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/10.jpg)
UTILIDADEUTILIDADELocksRestrição de unicidadeInteração entre sistemas
![Page 11: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/11.jpg)
CONDIÇÕESCONDIÇÕESApós a conclusão de uma escrita, todas as leiturasretornam o valor novo
Mas e durante a escrita?
Após uma leitura do valor novo, todas as leiturasseguintes também retornam o valor novo
Ou seja, as operações são atômicas
![Page 12: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/12.jpg)
IMPLEMENTANDO SISTEMASIMPLEMENTANDO SISTEMASLINEARIZÁVEISLINEARIZÁVEIS
Tenha apenas uma cópia dos dados, isto é, não utilizereplicação
1.
Utilize um mecanismo de replicação linearizável2.
![Page 13: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/13.jpg)
REPLICAÇÃO LINEARIZÁVELREPLICAÇÃO LINEARIZÁVELReplicação com líder único (possivelmentelinearizável)
Isolamento por snapshot não é linearizávelRequer replicação síncrona
Replicação por consenso (linearizável)
Inclui medidas para evitar os problemas dareplicação com líder único
![Page 14: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/14.jpg)
REPLICAÇÃO LINEARIZÁVELREPLICAÇÃO LINEARIZÁVELReplicação multi-líder (não linearizável)
Escritas em paralelo com replicação assíncronapodem levar à conflitos
Replicação sem líder (provavelmente não-linearizável)
Quórum não é afetado por atraso de replicação,mas leituras sãoOrdenação por relógio físico/time-of-day podenão ser a ordem real dos eventos
![Page 15: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/15.jpg)
O TEOREMA CAPO TEOREMA CAPDatacenter 1 Datacenter 2
quebra da rede
Consistência OU disponibilidade quando particionado.
![Page 16: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/16.jpg)
O TEOREMA CAPO TEOREMA CAPSe a aplicação requer linearizabilidade, e algumasréplicas perdem acesso às outras, as réplicas setornam indisponíveis para o processamento derequisições.Se a aplicação não requer linearizabilidade, e algumasréplicas perdem acesso às outras, requisições aindapodem ser processadas independentemente, ao custoda linearizabilidade.
![Page 17: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/17.jpg)
LINEARIZABILIDADE E REDESLINEARIZABILIDADE E REDESINSTÁVEISINSTÁVEIS
Linearizabilidade reduz o desempenho de um sistemaO tempo de resposta em um sistema linearizável éproporcional à incerteza sobre os atrasos na redeAlta variabilidade ⇒ maior tempo de resposta
![Page 18: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/18.jpg)
GARANTIAS DEGARANTIAS DEORDENAÇÃOORDENAÇÃO
![Page 19: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/19.jpg)
ORDEM É IMPORTANTEORDEM É IMPORTANTEO líder na replicação com líder único determina aordem na qual seus seguidores executam operações deescritaSerializabilidade garante que transações sãoexecutadas como-se fossem executadas em algumaordem sequencialRelógios são um modo de ordenar escritas
![Page 20: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/20.jpg)
ORDEM E CAUSALIDADEORDEM E CAUSALIDADECausalidade é uma ordenação parcial
Uma pergunta acontece antes de sua respostaA criação de um registro acontece antes de suamodificaçãoDuas mensagens simultâneas de usuários diferentesnão podem ser ordenadas (são concorrentes)
Sistemas que respeitam essa ordenação causal sãocausalmente consistentes
![Page 21: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/21.jpg)
ORDEM E LINEARIZABILIDADEORDEM E LINEARIZABILIDADELinearizabilidade é uma ordenação total
Todos os eventos ocorrem em uma única linha dotempoNão existem eventos concorrentes (ou seja, não-ordenáveis)
Linearizabilidade implica em consistência causal
![Page 22: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/22.jpg)
CAUSALIDADE ECAUSALIDADE ELINEARIZABILIDADELINEARIZABILIDADE
Consistência causal é uma garantia mais fraca quelinearizabilidadeO teorema CAP não se aplica à sistemas apenascausalmente consistentesO tempo de resposta de sistemas apenas causalmenteconsistentes não depende diretamente da qualidadeda rede
![Page 23: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/23.jpg)
RASTREANDO DEPENDÊNCIASRASTREANDO DEPENDÊNCIASCAUSAIS COM NÚMEROS DECAUSAIS COM NÚMEROS DE
SEQUÊNCIASEQUÊNCIAAssocia-se um número de sequência à cada chave,que é incrementado com cada modificaçãoNúmeros de sequência impõem uma ordenação total:
Operações ordenáveis causalmente mantém estaordemOperações concorrentes são ordenadas em algumaordem
![Page 24: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/24.jpg)
GERANDO NÚMEROS DEGERANDO NÚMEROS DESEQUÊNCIASEQUÊNCIA
Quando há um líder único: o líder incrementa onúmero associado à chave após uma escritaEm outros casos:
Geração de sequências disjuntas de números pornodoTimestamps de alta resoluçãoPré-alocação de lotes de números de sequência pornodoNenhum destes é causalmente consistente!
![Page 25: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/25.jpg)
ORDEM TOTAL DE LAMPORTORDEM TOTAL DE LAMPORTNodos e clientes mantêm um contador individualCada requisição inclui o contador do clienteCada resposta inclui um par (contador do nodo, ID do nodo) ← timestamp da operaçãoAo receber uma requisição ou resposta com contadormaior que o seu próprio, este é incrementado paraalém do que foi recebido
![Page 26: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/26.jpg)
ORDEM TOTAL DE LAMPORTORDEM TOTAL DE LAMPORT
BD 1
BD 2
Usuário 1
Usuário 2
cmax = 0
c = 1
(1, 2)
cmax = 1
c = 2
(2, 2)
cmax = 2
c = 3
(3, 2)
cmax = 3
c = 5
(5, 2)
cmax = 0
c = 1
(1, 1)
c = 4
cmax = 1
(4, 2)
cmax = 4
c = 5
(5, 1)
Dependências causais resultam em um incremento docontador
![Page 27: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/27.jpg)
ORDENAÇÃO DE ORDENAÇÃO DE TIMESTAMPSTIMESTAMPS DE DELAMPORTLAMPORT
Ordenação total é possível através do par (contador do nodo, ID do nodo)A ordenação só pode ser feita com conhecimento dasoperações de todos os nodos
Não é o bastante para garantir unicidade
![Page 28: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/28.jpg)
BROADCASTBROADCAST DE ORDENAÇÃO TOTAL DE ORDENAÇÃO TOTAL/ / BROADCASTBROADCAST ATÔMICO ATÔMICO
Entrega confiávelSe uma mensagem é entregue à qualquer nodo,então ela é entregue à todos os nodos
Entrega totalmente ordenadaMensagens são entregues à todos os nodos namesma ordem
Estas propriedades devem ser sempre mantidas, ouatingidas eventualmente no caso de falhas na rede ou em
algum nodo.
![Page 29: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/29.jpg)
BROADCASTBROADCAST ATÔMICO - UTILIDADE ATÔMICO - UTILIDADEConsensoConsistência entre réplicas (salvo atraso de replicação)Transações serializáveisLog de operações/replicação/transações/write-aheadServiço de lock
![Page 30: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/30.jpg)
LINEARIZAÇÃO DE ESCRITAS COMLINEARIZAÇÃO DE ESCRITAS COMBROADCASTBROADCAST ATÔMICO ATÔMICO
Estudo de caso: reivindicando um nome de usuário
Envie uma mensagem reivindicando o nome deusuário desejado.
1.
Aguarde o recebimento desta mesma mensagem.2. Caso alguma outra reivindicação seja recebida nesseínterim, desista.
3.
Do contrário, a operação foi concluída com sucesso.4.
Todos os nodos concordam sobre quais operaçõesocorreram e sua ordem.
![Page 31: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/31.jpg)
LINEARIZAÇÃO DE LEITURAS COMLINEARIZAÇÃO DE LEITURAS COMBROADCASTBROADCAST ATÔMICO ATÔMICO
Opção 1, usando broadcast atômico para marcar umaposição no tempo:
Envie uma mensagem qualquer.1. Aguarde a mensagem retornar.2. Efetue a leitura.3.
![Page 32: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/32.jpg)
LINEARIZAÇÃO DE LEITURAS COMLINEARIZAÇÃO DE LEITURAS COMBROADCASTBROADCAST ATÔMICO ATÔMICO
Opção 2, caso as mensagens sejam indexadas:
Obtenha o índice da última mensagem recebida.1. Aguarde até que todas as mensagens com índicemenor sejam recebidas.
2.
Efetue a leitura.3.
![Page 33: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/33.jpg)
LINEARIZAÇÃO DE LEITURAS COMLINEARIZAÇÃO DE LEITURAS COMBROADCASTBROADCAST ATÔMICO ATÔMICO
Opção 3, faça a leitura em uma réplica síncrona.
![Page 34: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/34.jpg)
BROADCASTBROADCAST ATÔMICO COM ATÔMICO COMLINEARIZAÇÃOLINEARIZAÇÃO
Execute uma operação incremente-e-leia em umcontador linearizado.
1.
Use o valor lido como número de sequência.2. Envie a mensagem para todos os nodos, re-enviandoem caso de perda.
3.
Ao receber uma mensagem, aguarde até ter entregue àaplicação a mensagem com contador imediatamenteanterior antes de entregar a mensagem atual.
4.
![Page 35: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/35.jpg)
TRANSAÇÕESTRANSAÇÕESDISTRIBUÍDASDISTRIBUÍDAS
![Page 36: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/36.jpg)
COMMITCOMMIT ATÔMICO DISTRIBUÍDO ATÔMICO DISTRIBUÍDOEm um único nodo, o SGBD escreve as alterações em um
log e marca a transação como finalizada no log. Casohaja uma falha antes da marcação ser gravada com
sucesso, a transação é revertida.
Mas e quando múltiplos nodos estão envolvidos? Porexemplo, nodos com partes distintas dos dados (banco
de dados particionado)?
![Page 37: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/37.jpg)
COMMITCOMMIT EM DUAS FASES (2PC) EM DUAS FASES (2PC)Objetivo: garantir que ou todos os nodos fazemcommit, ou todos abortam a transaçãoRequer um novo componente da aplicação: ocoordenador ou gerenciador de transações
Pode ser parte do cliente ou um serviço separado
![Page 38: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/38.jpg)
2PC - ALGORITMO2PC - ALGORITMOA aplicação solicita ao coordenador uma transação.1. A aplicação escreve os dados, então solicita aocoordenador que faça commit da transação.
2.
O coordenador envia um aviso de preparação aosnodos envolvidos (participantes) na transação.
3.
O coordenador aguarda as respostas de todos osnodos participantes quanto a ser possível prosseguir.
4.
Caso todos indiquem ser possível o commit, umamensagem de commit é enviada. Do contrário, atransação é abortada.
5.
![Page 39: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/39.jpg)
2PC - EXEMPLO2PC - EXEMPLO
BD 1
BD 2
Coordenador
escrita de dados
ok
escrita de dados
ok
preparação
sim sim
lock
ok
commit
ok
lock
Exemplo de uma execução com sucesso do commit emduas fases
![Page 40: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/40.jpg)
2PC - PONTOS SEM VOLTA2PC - PONTOS SEM VOLTAUm nodo participante que responda Sim aocoordenador após uma solicitação de preparaçãogarante que pode fazer commit da transação (mesmoque o nodo venha a falhar);
1.
A decisão tomada pelo coordenador após a fase depreparação é imutável.
2.
![Page 41: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/41.jpg)
2PC - FALHA DO COORDENADOR2PC - FALHA DO COORDENADORCaso o coordenador falhe antes da fase de preparação,os participantes podem abortar a transaçãoCaso o coordenador falhe antes da fase de commit, osparticipantes devem aguardar a volta do coordenador
A transação é mantida em um estado indeciso até lá,sem ser abortada nem ser feito commitQuaisquer locks obtidos para a transação precisamser mantidos
![Page 42: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/42.jpg)
2PC - FALHA DO COORDENADOR2PC - FALHA DO COORDENADORCaso o coordenador não consiga decidir se deve
prosseguir uma transação (p.ex. se o log for perdido oucorrompido), as transações não-decididas se tornam
órfãs, requerendo intervenção manual.
![Page 43: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/43.jpg)
COMMITCOMMIT EM TRÊS FASES EM TRÊS FASES2PC tem no coordenador um ponto único de falha3PC introduz uma fase de pré-commit e timeouts deoperação
Uso de timeouts impede a garantia de atomicidade
![Page 44: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/44.jpg)
TRANSAÇÕES DISTRIBUÍDASTRANSAÇÕES DISTRIBUÍDASHETEROGÊNEASHETEROGÊNEAS
Transações distribuídas internas a um SGBD podemutilizar protocolos e otimizações específicos àquelatecnologiaTransações distribuídas envolvendo sistemas distintossão mais complicadas
![Page 45: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/45.jpg)
EXEMPLO: PROCESSAMENTOEXEMPLO: PROCESSAMENTOÚNICO DE MENSAGENSÚNICO DE MENSAGENS
Em uma mesma transação:
Marque a mensagem como processada na fila demensagensProcesse a mensagem
Requer que todos os sistemas envolvidos suportem2PC
Caso haja algum erro, a transação é abortada e oprocessamento revertido. Assim, garante-se que cada
mensagem é processada exatamente 1 vez.
![Page 46: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/46.jpg)
TRANSAÇÕES XATRANSAÇÕES XAX/Open eXtended ArchitectureEspecificação para 2PC sobre sistemas heterogêneos
Menor denominador comum: sem detecção dedeadlocks, sem suporte a isolamento por snapshotserializável…
API para interface com coordenadores de transaçãoPara uso por drivers ou bibliotecas
![Page 47: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/47.jpg)
CONSENSOCONSENSO
![Page 48: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/48.jpg)
DESCRIÇÃODESCRIÇÃOUm ou mais nodos propõem um valorO algoritmo de consenso garante que todos os nodosescolham um mesmo valor
![Page 49: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/49.jpg)
UTILIDADEUTILIDADEEleição de um líderCommit atômico de transação
![Page 50: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/50.jpg)
PROPRIEDADESPROPRIEDADESConcordância uniforme
Dois nodos quaisquer não tomam decisõesdiferentes.
IntegridadeNenhum nodo decide duas vezes.
ValidadeSe um nodo decide por um valor v, então v foiproposto por algum nodo.
TerminaçãoTodo nodo não-falho eventualmente decide poralgum valor.
![Page 51: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/51.jpg)
MODELO DE FALHASMODELO DE FALHASFalhas em nodos são assumidas crash-stop (o nodopara de responder) e permanentes (o nodo não serecupera)Pelo menos metade dos nodos devem estar emfuncionamento correto para garantia de terminação
![Page 52: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/52.jpg)
CONSENSO E CONSENSO E BROADCASTBROADCAST ATÔMICO ATÔMICOMuitas implementações de consenso decidem sobreuma sequência de valoresEsta sequência pode ser vista como uma ordem deentrega de mensagens:
Concordância ⇒ todos os nodos decidem entregarmensagens na mesma ordemIntegridade ⇒ mensagens não são duplicadasValidade ⇒ mensagens não são corrompidas ou“inventadas”Terminação ⇒ mensagens não são perdidas
∴ consenso ⇒ broadcast atômico
![Page 53: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/53.jpg)
CONSENSO E ELEIÇÃO DE LÍDERESCONSENSO E ELEIÇÃO DE LÍDERESEleição de um líder único requer consenso10. O algoritmo de consenso é um broadcast atômico11. Broadcast atômico é similar a replicação com líderúnico
12.
Replicação com líder único requer um líder13. GOTO 1014.
![Page 54: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/54.jpg)
CONSENSO E ELEIÇÃO DE LÍDERESCONSENSO E ELEIÇÃO DE LÍDERESCada eleição de líder recebe um número de época1. Quando o líder atual aparenta estar falho, uma novaeleição é realizada
2.
Para tomar uma decisão, o líder envia uma proposta eseu número de época aos outros nodos e aguarda asrespostas
3.
Um nodo responde a favor somente se não tiver vistoum líder com número de época maior
4.
Um quórum de nodos deve responder a favor paraconfirmar a decisão
5.
![Page 55: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/55.jpg)
LIMITAÇÕESLIMITAÇÕESSimilar à replicação síncronaRequer a maioria dos nodos não-falhosAssume (em geral) um conjunto estático de nodosparticipantesUtilizam (em geral) timeouts para detectar líderesfalhos
![Page 56: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/56.jpg)
ASSOCIAÇÃO EASSOCIAÇÃO ECOORDENAÇÃOCOORDENAÇÃO
![Page 57: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/57.jpg)
SERVIÇOS DE COORDENAÇÃOSERVIÇOS DE COORDENAÇÃOConcentram tarefas como consenso, ordenação, edetecção de falhasÚteis para delegação de consenso em sistemas commuitos nodos, sem reduzir a um único ponto de falha
![Page 58: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/58.jpg)
SERVIÇOS DE ASSOCIAÇÃOSERVIÇOS DE ASSOCIAÇÃODeterminam quais nodos estão ativos e emfuncionamentoCombinam detecção de falhas e consensoPodem declarar um nodo ativo como falho, mas sãoúteis mesmo assim
![Page 59: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/59.jpg)
SUMÁRIOSUMÁRIO
![Page 60: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/60.jpg)
CONCEITOSCONCEITOSLinearizabilidadeCausalidadeConsenso
![Page 61: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/61.jpg)
PROBLEMAS REDUTÍVEIS ÀPROBLEMAS REDUTÍVEIS ÀCONSENSOCONSENSO
Registradores CAS linearizáveisCommit atômicoBroadcast atômicoLocksServiços de cordenação e associaçãoRestrição de unicidade
![Page 62: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/62.jpg)
QUESTÕESQUESTÕES
![Page 63: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/63.jpg)
QUESTÃO 1QUESTÃO 1Atribua timestamps de Lamport e ordene as operações
identificadas por letras.
D E F G
A B
C
Usuário 3
BD 1
BD 2
Usuário 1
Usuário 2
![Page 64: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/64.jpg)
![Page 65: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/65.jpg)
QUESTÃO 2QUESTÃO 2Explique a relação entre consenso, broadcast atômico, elinearizabilidade. Quais as consequências dessa relação?
![Page 66: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa](https://reader031.vdocuments.mx/reader031/viewer/2022020205/5c10522609d3f254228c6390/html5/thumbnails/66.jpg)
DÚVIDAS?DÚ[email protected]