Controlo de Dados: 2PL e suas Variantes
17 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 característica da fase de crescimento no Protocolo de Bloqueio em Duas Fases (2PL)?

  • A transação pode liberar bloqueios.
  • A transação deve solicitar bloqueios ao nó central.
  • A transação pode adquirir bloqueios, mas não liberá-los. (correct)
  • A transação não pode adquirir novos bloqueios.

Qual é a vantagem do bloqueio exclusivo (Exclusive Lock)?

  • Permite a leitura simultânea por várias transações.
  • Reduz a complexidade de coordenação entre nós.
  • Facilita a recuperação de dados em transações falhas.
  • Garante que apenas uma transação pode acessar para escrita. (correct)

Qual é um dos principais desvantagens do Protocolo 2PL Estrito?

  • Aumenta a concorrência no sistema.
  • Ponto único de falha em um nó central.
  • Possui maior simplicidade na implementação.
  • Reduz a concorrência por manter bloqueios até o fim. (correct)

Como funciona o 2PL Centralizado?

<p>Um nó central gerencia os bloqueios e verifica a compatibilidade. (A)</p> Signup and view all the answers

Qual é a principal desvantagem do 2PL Totalmente Distribuído?

<p>Possui maior complexidade e pode resultar em deadlocks distribuídos. (D)</p> Signup and view all the answers

Por que o 2PL Centralizado pode ser considerado um gargalo em sistemas grandes?

<p>Ele exige verificação de compatibilidade em um único nó central. (D)</p> Signup and view all the answers

Qual das seguintes afirmações é verdadeira sobre os bloqueios partilhados (Shared Lock)?

<p>Permitindo leitura simultânea por várias transações. (A)</p> Signup and view all the answers

Qual é uma consequência do uso de bloqueios em um sistema de gerenciamento de transações?

<p>Pode levar à ocorrência de deadlocks. (B)</p> Signup and view all the answers

Como uma transação pode ler um dado no protocolo de ordenação por marcas temporais?

<p>Se outra transação anterior não tiver escrito naquele dado. (B)</p> Signup and view all the answers

Quais são as fases de um protocolo baseado em técnicas otimistas?

<p>Leitura, Validação e Escrita. (A)</p> Signup and view all the answers

Qual é uma desvantagem do protocolo de snapshot isolation?

<p>Não garante a serializabilidade em todos os casos. (B)</p> Signup and view all the answers

Qual técnica pode ser utilizada para prevenir deadlocks?

<p>Abortar transações que tentem causar deadlocks. (B)</p> Signup and view all the answers

O que é garantido pela atomicidade em transações distribuídas?

<p>As transações são finalizadas completamente ou não são realizadas. (B)</p> Signup and view all the answers

Qual é uma característica dos logs na gestão de falhas?

<p>Aceleram a recuperação após falhas. (B)</p> Signup and view all the answers

Como a consistência forte é definida?

<p>Todas as réplicas têm os mesmos dados após cada transação. (B)</p> Signup and view all the answers

Quais são as principais desvantagens do protocolo baseado em técnicas otimistas?

<p>O custo da validação pode ser alto em ambientes com alta concorrência. (D)</p> Signup and view all the answers

O que caracteriza a fase de validação em um protocolo otimista?

<p>Checagem de conflitos com transações anteriores. (A)</p> Signup and view all the answers

Flashcards

Protocolo de Bloqueio em Duas Fases (2PL)

Divide a execução de uma transação em duas fases: Fase de Crescimento (adquire bloqueios) e Fase de Contração (libera bloqueios).

Bloqueio Partilhado

Permite que várias transações leiam um mesmo recurso ao mesmo tempo.

Bloqueio Exclusivo

Permite que apenas uma transação acesse um recurso para escrita, excluindo outras.

2PL Estrito

Mantém os bloqueios de escrita até o final da transação, evitando reversões em cascata.

Signup and view all the flashcards

2PL Centralizado

Um nó central gerencia todos os bloqueios do sistema distribuído, simplificando a implementação.

Signup and view all the flashcards

2PL Totalmente Distribuído

Cada nó gerencia os bloqueios localmente para os recursos que possui.

Signup and view all the flashcards

Deadlock

Situação em que várias transações aguardam indefinidamente por recursos bloqueados umas pelas outras.

Signup and view all the flashcards

Recuperabilidade

Processo em que as transações podem ser restauradas para um estado consistente.

Signup and view all the flashcards

Protocolo de Ordenação por Marcas Temporais

Cada transação recebe uma marca temporal única no momento em que começa e as operações são ordenadas por essa marca temporal para garantir a consistência.

Signup and view all the flashcards

Leitura no Protocolo de Marcas Temporais

A transação só pode ler um dado se nenhuma transação posterior já tiver escrito naquele dado.

Signup and view all the flashcards

Escrita no Protocolo de Marcas Temporais

A transação só pode escrever um dado se nenhuma transação posterior já tiver lido ou escrito naquele dado.

Signup and view all the flashcards

Protocolo Baseado em Técnicas Otimistas

Assume que os conflitos são raros e, portanto, não utiliza bloqueios. O protocolo é dividido em três fases: leitura, validação e escrita.

Signup and view all the flashcards

Fase de Leitura no Protocolo Otimista

A transação lê os dados e armazena localmente quaisquer alterações pretendidas.

Signup and view all the flashcards

Fase de Validação no Protocolo Otimista

Verifica-se se houve conflitos com outras transações antes de confirmar a transação.

Signup and view all the flashcards

Fase de Escrita no Protocolo Otimista

Se validada, a transação grava os resultados no banco de dados.

Signup and view all the flashcards

Protocolo de Snapshot Isolation

Cada transação executa em um snapshot (fotografia) consistente do banco de dados no momento em que começou. As modificações feitas pela transação não são visíveis para outras até que ela seja confirmada.

Signup and view all the flashcards

Snapshot Isolation: Leitura Consistente

Permite que cada transação leia uma "fotografia" (snapshot) consistente do banco de dados no momento em que ela começou, ignorando alterações feitas por transações concorrentes ainda não commitadas.

Signup and view all the flashcards

Deadlocks em Protocolos de Bloqueio

Os protocolos de bloqueio, especialmente o 2PL, estão sujeitos a deadlocks. Deadlocks ocorrem quando duas ou mais transações aguardam indefinidamente pelos bloqueios umas das outras.

Signup and view all the flashcards

Study Notes

Controlo de Dados Distribuídos

  • O 2PL (Two-Phase Locking) divide a execução de transações em duas fases:
    • Fase de Crescimento: Aquisição de bloqueios, sem liberação.
    • Fase de Contração: Liberação de bloqueios, sem aquisição de novos.
  • Tipos de Bloqueios:
    • Bloqueio Partilhado: Permite leituras simultâneas.
    • Bloqueio Exclusivo: Permite apenas uma transação por vez para escrita.

Variantes do 2PL

2PL Estrito

  • Mantém bloqueios de escrita até ao fim da transação.
  • Vantagens: Evita reversões em cascata e garante recuperabilidade.
  • Desvantagens: Reduz a concorrência devido aos bloqueios prolongados.

2PL Centralizado

  • Um nó central gerencia todos os bloqueios.
  • Transações solicitam bloqueios ao nó central, que verifica a compatibilidade.
  • Vantagens: Implementação simples e menor complexidade de coordenação.
  • Desvantagens: Ponto único de falha e gargalo em sistemas grandes.

2PL Totalmente Distribuído

  • Cada nó gerencia os bloqueios localmente.
  • Transações solicitam bloqueios diretamente ao nó correto.
  • Vantagens: Mais robusto e escalável.
  • Desvantagens: Maior probabilidade de deadlocks e complexidade de implementação.

Protocolos de Concorrência

Protocolo de Ordenação por Marcas Temporais (Timestamp Ordering)

  • Cada transação recebe um timestamp único no início.
  • As operações são ordenadas por timestamp para garantir consistência.
  • Leituras: Só são permitidas se não houver escrita posterior.
  • Escritas: Só são permitidas se não houver leitura ou escrita posterior.
  • Vantagens: Garante serializabilidade sem bloqueios, evitando deadlocks.
  • Desvantagens: Possíveis rejeições de transações por conflitos.

Protocolo Baseado em Técnicas Otimistas

  • Assume pouca ocorrência de conflitos.
  • Três fases:
    • Fase de Leitura: Lê os dados e salva as alterações.
    • Fase de Validação: Verifica conflitos com outras transações.
    • Fase de Escrita: Grava os resultados se a validação for bem-sucedida.
  • Vantagens: Evita overheads de bloqueios em sistemas com poucas colisões.
  • Desvantagens: Custo de validação alto em alta concorrência. Existem rejeições de transações possíveis.

Protocolo de Snapshot Isolation (SI)

  • Cada transação executa em um snapshot consistente do banco de dados.
  • Modificações não são visíveis para outras transações até a confirmação.
  • Leitura de uma "fotografia" consistente do banco de dados no início da transação.
  • Vantagens: Evita bloqueios explícitos e reduz conflitos.
  • Desvantagens: Possibilidade de não garantir serializabilidade em todos os casos.

Controle de Deadlocks

  • Protocolos de bloqueio (especialmente 2PL) podem ter deadlocks.
  • Deadlocks ocorrem quando transações aguardam indefinidamente pelos bloqueios umas das outras.
  • Soluções:
    • Prevenção: Restrições para evitar deadlocks (ex.: ordem global de aquisição de bloqueios).
    • Detecção e Resolução: Monitoramento e abortamento de transações para quebrar ciclos de dependência.

Gestão de Falhas e Recuperação

  • Falhas são inevitáveis em sistemas distribuídos.
  • Gestão de falhas e recuperação garante disponibilidade e integridade.
  • Técnicas:
    • Logs e Checkpoints: Registros de operações e backups periódicos para recuperação.
    • Replicação de Dados: Cópias em diferentes nós para lidar com falhas.
  • Desafios: Falhas parciais e partições de rede.

Técnicas para Garantir Consistência e Atomicidade

  • Consistência: Manutenção de um estado válido antes, durante e após transações.
    • Modelos:
      • Forte: Todas as réplicas tem os mesmos dados.
      • Eventual: As réplicas convergem para o mesmo estado (inconsistência temporária possível).
      • Snapshot Isolation: Cada transação vê um estado consistente no início.
    • One-Copy Serializability: Garante efeitos de transações em réplicas são equivalentes a uma única cópia.
  • Atomicidade: Transações finalizadas completamente ou não finalizadas totalmente.
    • Técnicas em sistemas distribuídos (ex.: 2PC, 3PC).
    • Abort e Rollback: Reversão de alterações em caso de falha.

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 controlo de dados distribuídos, focando no Two-Phase Locking (2PL) e suas variantes. Explore as fases de bloqueio e os diferentes tipos de bloqueios disponíveis, bem como as vantagens e desvantagens de cada abordagem. Prepare-se para uma avaliação abrangente sobre o tema.

More Like This

Use Quizgecko on...
Browser
Browser