Podcast
Questions and Answers
Qual é o papel do novo coordenador em uma transação?
Qual é o papel do novo coordenador em uma transação?
Qual das seguintes estratégias não faz parte das otimizações de transações?
Qual das seguintes estratégias não faz parte das otimizações de transações?
Como o Apache Phoenix lida com transações?
Como o Apache Phoenix lida com transações?
Qual é uma das características do Apache Phoenix?
Qual é uma das características do Apache Phoenix?
Signup and view all the answers
Qual das seguintes opções descreve um desafio que pode surgir durante uma transação?
Qual das seguintes opções descreve um desafio que pode surgir durante uma transação?
Signup and view all the answers
Qual das seguintes características não faz parte do modelo ACID de uma transação?
Qual das seguintes características não faz parte do modelo ACID de uma transação?
Signup and view all the answers
Qual é a principal função da fase de votação no protocolo 2PC?
Qual é a principal função da fase de votação no protocolo 2PC?
Signup and view all the answers
No protocolo 3PC, o que acontece na fase de pré-commit?
No protocolo 3PC, o que acontece na fase de pré-commit?
Signup and view all the answers
Uma desvantagem do protocolo 2PC é:
Uma desvantagem do protocolo 2PC é:
Signup and view all the answers
Como um participante reage após uma falha e reinício se seu estado for 'READY'?
Como um participante reage após uma falha e reinício se seu estado for 'READY'?
Signup and view all the answers
Qual é uma vantagem do protocolo 3PC em comparação ao 2PC?
Qual é uma vantagem do protocolo 3PC em comparação ao 2PC?
Signup and view all the answers
O que deve ocorrer se um coordenador falha durante uma transação?
O que deve ocorrer se um coordenador falha durante uma transação?
Signup and view all the answers
O que caracteriza a atomicidade em uma transação?
O que caracteriza a atomicidade em uma transação?
Signup and view all the answers
Study Notes
Processamento de Transações Distribuídas
- Transação: Unidade de trabalho que deve ser executada totalmente ou revertida totalmente, garantindo consistência e integridade de dados em sistemas distribuídos.
- Características ACID:
- Atomicidade: "Tudo ou nada" - concluída totalmente ou nenhuma alteração.
- Consistência: Dados seguem regras de integridade antes e depois da transação.
- Isolamento: Cada transação parece ser executada separadamente.
- Durabilidade: Mudanças são permanentes após o commit, mesmo com falhas.
Protocolos Transacionais Distribuídos
-
2PC (Two-Phase Commit):
- Objetivo: Garantir confirmação/aborto consistente em todos os nós participantes.
- Fases:
- Votação: Coordenador solicita "preparação" aos participantes; eles respondem "sim" ou "não".
- Decisão: Se todos votarem "sim", o coordenador decide pelo commit; caso contrário, aborta.
- Desvantagem: Bloqueante, pois falha do coordenador deixa participantes em incerteza.
-
3PC (Three-Phase Commit):
- Objetivo: Tornar o commit não bloqueante, melhorando a tolerância a falhas do coordenador.
- Fases:
- Votação (igual ao 2PC).
- Pré-commit: Coordenador envia "pré-commit" aos participantes, que confirmam a recepção.
- Commit Final: Coordenador envia "commit final" se não falhar; caso contrário, participantes decidem com base no pré-commit.
- Vantagem: Não bloqueante.
- Desvantagem: Maior overhead de comunicação e mais complexo.
Gestão de Falhas em Transações
- Cenários de Falhas:
- Falha de Participantes:
- Consulta log ao reiniciar;
- "READY": consulta coordenador;
- "COMMIT" ou "ABORT": executa a ação.
- Falha do Coordenador:
- Novo coordenador é eleito;
- Consulta participantes para determinar estado da transação e decide continuar ou abortar.
- Falhas de Rede:
- Transações bloqueadas pela perda de comunicação entre participantes e coordenador.
- Falha de Participantes:
Estratégias de Otimização de Transações
- Minimizar Comunicação:
- Projetar transações com o mínimo de mensagens entre nós.
- Técnicas de fragmentação para operações locais.
- Execução Paralela:
- Dividir transação em subtransações para execução simultânea em diferentes nós.
- Replicação Estratégica:
- Replicar dados em locais estratégicos para reduzir latência de leitura e escrita.
- Checkpointing:
- Criar pontos de verificação para reduzir tempo de recuperação após falhas.
Tecnologia: Apache Phoenix
- Apache Phoenix: Camada SQL sobre HBase, permitindo consultas transacionais ACID com escalabilidade do HBase.
- Características:
- Consultas SQL completas (JOINs, GROUP BY, HAVING).
- Transações ACID para consultas e atualizações.
- Integração com HBase para armazenamento e distribuição de dados eficientes.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Teste seus conhecimentos sobre o processamento de transações distribuídas, suas características ACID e os protocolos envolvidos. Entenda os conceitos fundamentais como atomicidade, consistência, isolamento e durabilidade, além de descobrir como funciona o protocolo 2PC.