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 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?

  • Execução Paralela.
  • Checkpoints.
  • Aumento da Latência. (correct)
  • Minimizar Comunicação.
  • 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?

    <p>Integra-se com o HBase para armazenamento eficiente.</p> Signup and view all the answers

    Qual das seguintes opções descreve um desafio que pode surgir durante uma transação?

    <p>Perda de comunicação entre participantes e coordenador.</p> Signup and view all the answers

    Qual das seguintes características não faz parte do modelo ACID de uma transação?

    <p>Flexibilidade</p> Signup and view all the answers

    Qual é a principal função da fase de votação no protocolo 2PC?

    <p>Coletar a confirmação dos participantes</p> Signup and view all the answers

    No protocolo 3PC, o que acontece na fase de pré-commit?

    <p>O coordenador envia um 'pré-commit'</p> Signup and view all the answers

    Uma desvantagem do protocolo 2PC é:

    <p>O bloqueio em caso de falha do coordenador</p> Signup and view all the answers

    Como um participante reage após uma falha e reinício se seu estado for 'READY'?

    <p>Consulta o coordenador para saber o resultado</p> Signup and view all the answers

    Qual é uma vantagem do protocolo 3PC em comparação ao 2PC?

    <p>Não bloqueante em caso de falhas</p> Signup and view all the answers

    O que deve ocorrer se um coordenador falha durante uma transação?

    <p>Um novo coordenador é eleito</p> Signup and view all the answers

    O que caracteriza a atomicidade em uma transação?

    <p>A transação é completa ou não realizada</p> 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.

    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.

    Quiz Team

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser