Processamento de Transações Distribuídas
13 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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?

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.

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?

<p>O Apache Phoenix tem suporte completo a SQL, incluindo operações como JOINs, GROUP BY e HAVING.</p> 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?

<p>A replicação estratégica ajuda a reduzir a latência de leitura e escrita, tornando as transações mais rápidas e eficientes.</p> Signup and view all the answers

O que caracteriza uma transação, segundo as propriedades ACID?

<p>As transações são caracterizadas por atomicidade, consistência, isolamento e durabilidade.</p> Signup and view all the answers

Qual é a principal função do protocolo 2PC em transações distribuídas?

<p>O protocolo 2PC garante que uma transação distribuída seja confirmada ou abortada de forma consistente em todos os nós participantes.</p> Signup and view all the answers

Qual é a diferença chave entre os protocolos 2PC e 3PC?

<p>O 3PC é projetado para ser não bloqueante, permitindo que os participantes concluam a transação mesmo na ausência do coordenador.</p> Signup and view all the answers

O que acontece durante a fase de votação do protocolo 2PC?

<p>O coordenador envia uma solicitação de 'preparação' e os participantes respondem se podem realizar o commit.</p> Signup and view all the answers

Como um participante lida com uma falha ao reiniciar segundo as regras de gestão de falhas?

<p>Se o estado do participante for 'READY', ele consulta o coordenador; se for 'COMMIT' ou 'ABORT', executa a ação correspondente.</p> Signup and view all the answers

Quais são as desvantagens do protocolo 2PC?

<p>O protocolo 2PC é bloqueante e, se o coordenador falhar, os participantes podem ficar em estado de incerteza.</p> Signup and view all the answers

Para que serve a fase de pré-commit no protocolo 3PC?

<p>A fase de pré-commit permite que o coordenador envie um 'pré-commit' aos participantes, que confirmam a recepção.</p> Signup and view all the answers

Qual é o efeito da durabilidade em transações distribuídas?

<p>A durabilidade garante que, após o commit, as mudanças nas transações sejam permanentes, mesmo na ocorrência de falhas.</p> 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.

Quiz Team

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.

More Like This

Database Architecture Mock Test
25 questions

Database Architecture Mock Test

ExcitingRhodonite3899 avatar
ExcitingRhodonite3899
Architecture des Microservices
45 questions
Use Quizgecko on...
Browser
Browser