Podcast
Questions and Answers
Qual é o papel do coordenador na gestão de transações e como ele decide o fluxo da transação?
Qual é o papel do coordenador na gestão de transações e como ele decide o fluxo da transação?
O coordenador consulta os participantes para determinar o estado da transação e decide se deve continuar ou abortar.
Quais são alguns dos problemas causados por falhas de rede durante transações?
Quais são alguns dos problemas causados por falhas de rede durante transações?
As falhas de rede podem fazer com que as transações fiquem bloqueadas devido à perda de comunicação entre participantes e o coordenador.
Descreva a importância da técnica de checkpointing em sistemas de transações.
Descreva a importância da técnica de checkpointing em sistemas de transações.
O checkpointing é importante pois cria pontos de recuperação que reduzem o tempo necessário para restaurar o sistema após falhas.
Quais são as características principais do Apache Phoenix em relação a consultas SQL?
Quais são as características principais do Apache Phoenix em relação a consultas SQL?
Signup and view all the answers
Como a replicação estratégica contribui para a otimização de transações em um sistema distribuído?
Como a replicação estratégica contribui para a otimização de transações em um sistema distribuído?
Signup and view all the answers
O que caracteriza uma transação, segundo as propriedades ACID?
O que caracteriza uma transação, segundo as propriedades ACID?
Signup and view all the answers
Qual é a principal função do protocolo 2PC em transações distribuídas?
Qual é a principal função do protocolo 2PC em transações distribuídas?
Signup and view all the answers
Qual é a diferença chave entre os protocolos 2PC e 3PC?
Qual é a diferença chave entre os protocolos 2PC e 3PC?
Signup and view all the answers
O que acontece durante a fase de votação do protocolo 2PC?
O que acontece durante a fase de votação do protocolo 2PC?
Signup and view all the answers
Como um participante lida com uma falha ao reiniciar segundo as regras de gestão de falhas?
Como um participante lida com uma falha ao reiniciar segundo as regras de gestão de falhas?
Signup and view all the answers
Quais são as desvantagens do protocolo 2PC?
Quais são as desvantagens do protocolo 2PC?
Signup and view all the answers
Para que serve a fase de pré-commit no protocolo 3PC?
Para que serve a fase de pré-commit no protocolo 3PC?
Signup and view all the answers
Qual é o efeito da durabilidade em transações distribuídas?
Qual é o efeito da durabilidade em transações distribuídas?
Signup and view all the answers
Study Notes
Processamento de Transações Distribuídas
- Uma transação é uma unidade de trabalho que deve ser executada completamente ou revertida totalmente, garantindo consistência e integridade dos dados em um sistema distribuído.
Características ACID
- Atomicidade: A transação é executada completamente ou não afeta o sistema.
- Consistência: Manutenção das regras de integridade dos dados antes e depois da transação.
- Isolamento: Cada transação ocorre como se fosse isolada das demais.
- Durabilidade: As mudanças feitas após o commit são permanentes, mesmo com falhas.
Protocolos Transacionais Distribuídos
2PC (Two-Phase Commit)
- Objetivo: Confirmar ou abortar uma transação distribuída em todos os nós.
- Fases:
- Fase de Votação: O coordenador solicita a preparação para cada participante e recebe respostas "sim" ou "não".
- Fase de Decisão: Baseado nas respostas, o coordenador decide commit ou abort e informa aos participantes.
- Desvantagens: É bloqueante, pois participantes ficam em estado de espera se o coordenador falhar.
3PC (Three-Phase Commit)
- Objetivo: Tornar o commit não bloqueante, melhorando a tolerância a falhas do coordenador.
- Fases:
- Fase de Votação: Similar à fase do 2PC.
- Fase de Pré-commit: O coordenador solicita pré-commit aos participantes, que confirmam a recepção.
- Fase de Commit Final: O coordenador envia o commit final se não houver falha. Se houver falha, os participantes decidem com base no pré-commit.
- Vantagens: Não bloqueante.
- Desvantagens: Maior overhead de comunicação e mais complexo de implementar.
Gestão de Falhas em Transações
-
Falha de Participantes:
- O participante consulta seu log para determinar sua ação (READY, COMMIT, ABORT) e atua de acordo. Se READY, consulta o coordenador sobre a decisão.
-
Falha do Coordenador:
- Um novo coordenador é escolhido e consulta os participantes para decidir sobre a transação.
-
Falhas de Rede:
- Podem bloquear a transação por causa da falta de comunicação entre participantes e coordenador.
Estratégias de Otimização de Transações
- Minimizar Comunicação: Projetar transações com o mínimo de mensagens. Utilizar fragmentação para operações locais.
- Execução Paralela: Dividir a 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 restaurar o sistema após falhas.
Tecnologia: Apache Phoenix
- É uma camada SQL sobre o HBase que suporta consultas transacionais e ACID.
- Características:
- Suporte SQL completo (JOINs, GROUP BY, HAVING).
- Transações ACID (atomicidade e consistência em consultas e atualizações).
- Integração com a arquitetura do HBase para armazenamento e distribuição de dados.
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 e os princípios ACID que garantem a integridade dos dados. Explore o funcionamento do protocolo Two-Phase Commit e suas características. Avalie o que você aprendeu sobre a atomicidade, consistência, isolamento e durabilidade das transações.