Podcast
Questions and Answers
Qual é o papel do novo coordenador em uma transação?
Qual é o papel do novo coordenador em uma transação?
- Consultar os participantes para determinar o estado da transação. (correct)
- Executar a transação em nome dos participantes.
- Registrar os resultados da transação.
- Decidir quem participará da 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?
- Execução Paralela.
- Checkpoints.
- Aumento da Latência. (correct)
- Minimizar Comunicação.
Como o Apache Phoenix lida com transações?
Como o Apache Phoenix lida com transações?
- Impondo restrições sobre o uso de SQL.
- Realizando transações de forma assíncrona.
- Apenas permitindo operações de leitura em dados.
- Garantindo a atomicidade e consistência em consultas e atualizações. (correct)
Qual é uma das características do Apache Phoenix?
Qual é uma das características do Apache Phoenix?
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?
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?
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?
No protocolo 3PC, o que acontece na fase de pré-commit?
No protocolo 3PC, o que acontece na fase de pré-commit?
Uma desvantagem do protocolo 2PC é:
Uma desvantagem do protocolo 2PC é:
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'?
Qual é uma vantagem do protocolo 3PC em comparação ao 2PC?
Qual é uma vantagem do protocolo 3PC em comparação ao 2PC?
O que deve ocorrer se um coordenador falha durante uma transação?
O que deve ocorrer se um coordenador falha durante uma transação?
O que caracteriza a atomicidade em uma transação?
O que caracteriza a atomicidade em uma transação?
Flashcards
Decisão do Coordenador
Decisão do Coordenador
O coordenador da transação consulta os participantes para analisar o progresso e decidir se a transação deve prosseguir ou ser cancelada.
Falhas de Rede em Transações
Falhas de Rede em Transações
Quando a comunicação entre os participantes e o coordenador é interrompida, a transação fica bloqueada, impedindo sua conclusão.
Minimizar Comunicação em Transações
Minimizar Comunicação em Transações
Minimizar a quantidade de mensagens enviadas entre os nós da transação para melhorar a eficiência.
Execução Paralela de Transações
Execução Paralela de Transações
Signup and view all the flashcards
O que é o Apache Phoenix?
O que é o Apache Phoenix?
Signup and view all the flashcards
Transação Distribuída
Transação Distribuída
Signup and view all the flashcards
Atomicidade
Atomicidade
Signup and view all the flashcards
Consistência
Consistência
Signup and view all the flashcards
Isolamento
Isolamento
Signup and view all the flashcards
Durabilidade
Durabilidade
Signup and view all the flashcards
Two-Phase Commit (2PC)
Two-Phase Commit (2PC)
Signup and view all the flashcards
Three-Phase Commit (3PC)
Three-Phase Commit (3PC)
Signup and view all the flashcards
Falha de Participantes
Falha de Participantes
Signup and view all the flashcards
Falha do Coordenador
Falha do Coordenador
Signup and view all the flashcards
Log de Transações
Log de Transações
Signup and view all the flashcards
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.