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 é a principal função do novo coordenador nas transações?

  • Definir a estratégia de fragmentação para otimização.
  • Implementar a replicação de dados para melhorar a latência.
  • Criar checkpoints para monitoramento das falhas.
  • Consultar os participantes para determinar o estado da transação e decidir continuar ou abortar. (correct)
  • Quais estratégias podem ser empregadas para otimizar transações?

  • Minimizar comunicação, execução paralela e criação de checkpoints. (correct)
  • Aumentar a carga de comunicação, replicação desnecessária e checkpoints.
  • Focar apenas em replicação estratégica sem considerar a comunicação.
  • Executar transações em sequência, sem fragmentação.
  • Como o Apache Phoenix assegura características ACID em transações?

  • Pela arquitetura integrada com HBase, garantindo atomicidade e consistência. (correct)
  • Implementando replicação de dados sem gerenciamento de falhas.
  • Baseando-se em transações sem suporte a controle de concorrência.
  • Através da utilização de consultas SQL simplificadas.
  • Qual das seguintes opções descreve a função do checkpointing em transações?

    <p>Reduzir o tempo de recuperação após falhas.</p> Signup and view all the answers

    Qual característica do Apache Phoenix permite o uso de operações SQL avançadas?

    <p>Consulta SQL com suporte a JOINs, GROUP BY e HAVING.</p> Signup and view all the answers

    Qual característica assegura que os dados sigam as regras de integridade antes e depois de uma transação?

    <p>Consistência</p> Signup and view all the answers

    No contexto do 2PC, o que ocorre se pelo menos um participante votar 'não' durante a fase de votação?

    <p>O coordenador decide abortar a transação</p> Signup and view all the answers

    Qual é uma das desvantagens do protocolo 2PC?

    <p>Pode resultar em bloqueios se o coordenador falhar</p> Signup and view all the answers

    Qual das fases do 3PC envolve o envio de um 'pré-commit' aos participantes?

    <p>Fase de Pré-commit</p> Signup and view all the answers

    O que caracteriza uma transação em termos de atomicidade?

    <p>A transação deve ser completada ou revertida integralmente</p> Signup and view all the answers

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

    <p>Não bloqueante na presença de falhas de coordenador</p> Signup and view all the answers

    Em caso de falha de um participante, qual é a primeira ação que ele deve tomar ao reiniciar?

    <p>Consultas seus log para o estado atual</p> Signup and view all the answers

    O que acontece na fase de commit final do 3PC?

    <p>O coordenador envia o commit final aos participantes</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 totalmente (commit) ou totalmente revertida (abort), garantindo consistência e integridade de dados em um sistema distribuído.
    • Princípios ACID garantem a confiabilidade de transações:
      • Atomicidade: A transação é completa ou nenhuma mudança é feita.
      • Consistência: Manutenção das regras de integridade antes e depois da transação.
      • Isolamento: Cada transação ocorre como se estivesse isolada.
      • Durabilidade: Mudanças após commit são permanentes, mesmo com falhas.

    Protocolos Transacionais Distribuídos

    • 2PC (Two-Phase Commit): Garante o commit ou abort consistente em todos os nós.

      • Fase de Votação: O coordenador solicita preparação aos participantes, que respondem "sim" ou "não".
      • Fase de Decisão: Se todos respondem "sim", o coordenador decide pelo commit; caso contrário, aborta.
      • Desvantagens: Bloqueante, pois os participantes ficam em estado de espera caso o coordenador falhe.
    • 3PC (Three-Phase Commit): Resolve a questão de bloqueio do 2PC.

      • Fase de Pré-Commit: O coordenador envia um pré-commit aos participantes, que respondem confirmando o recebimento.
      • Fase de Commit Final: O coordenador envia o commit final.
      • Vantagens: Não bloqueante.
      • Desvantagens: Maior complexidade e overhead de comunicação.

    Gestão de Falhas em Transações

    • Falha de Participantes: O participante consulta seu log ao reiniciar:
      • READY: Consulta o coordenador sobre o resultado.
      • COMMIT/ABORT: Executa a ação correspondente.
    • Falha do Coordenador: Um novo coordenador é eleito e consulta os participantes sobre o estado da transação.
    • Falhas de Rede: Podem bloquear transações devido a perda de comunicação.

    Estratégias de Otimização de Transações

    • Minimizar Comunicação: Projetar transações com o mínimo de mensagens.
    • Execução Paralela: Divisão em subtransações para execução simultânea.
    • Replicação Estratégica: Replicação de dados em diferentes locais para reduzir latência.
    • Checkpointing: Criar pontos de verificação para acelerar a recuperação.

    Tecnologia: Apache Phoenix

    • Apache Phoenix: Camada SQL sobre o HBase, permitindo consultas transacionais ACID.
    • Características:
      • Suporte a SQL completo (JOINs, GROUP BY, HAVING).
      • Transações ACID para consultas e atualizações.
      • Integração com HBase, fornecendo escalabilidade e armazenamento eficiente.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    Explore os princípios fundamentais das transações distribuídas, incluindo os conceitos de ACID e o funcionamento dos protocolos, como o 2PC. Este quiz ajudará a consolidar seu entendimento sobre como as transações são gerenciadas em sistemas distribuídos, assegurando integridade e confiabilidade.

    More Like This

    Use Quizgecko on...
    Browser
    Browser