Podcast
Questions and Answers
Qual é a principal característica da fase de crescimento no Protocolo de Bloqueio em Duas Fases (2PL)?
Qual é a principal característica da fase de crescimento no Protocolo de Bloqueio em Duas Fases (2PL)?
Qual é a vantagem do bloqueio exclusivo (Exclusive Lock)?
Qual é a vantagem do bloqueio exclusivo (Exclusive Lock)?
Qual é um dos principais desvantagens do Protocolo 2PL Estrito?
Qual é um dos principais desvantagens do Protocolo 2PL Estrito?
Como funciona o 2PL Centralizado?
Como funciona o 2PL Centralizado?
Signup and view all the answers
Qual é a principal desvantagem do 2PL Totalmente Distribuído?
Qual é a principal desvantagem do 2PL Totalmente Distribuído?
Signup and view all the answers
Por que o 2PL Centralizado pode ser considerado um gargalo em sistemas grandes?
Por que o 2PL Centralizado pode ser considerado um gargalo em sistemas grandes?
Signup and view all the answers
Qual das seguintes afirmações é verdadeira sobre os bloqueios partilhados (Shared Lock)?
Qual das seguintes afirmações é verdadeira sobre os bloqueios partilhados (Shared Lock)?
Signup and view all the answers
Qual é uma consequência do uso de bloqueios em um sistema de gerenciamento de transações?
Qual é uma consequência do uso de bloqueios em um sistema de gerenciamento de transações?
Signup and view all the answers
Como uma transação pode ler um dado no protocolo de ordenação por marcas temporais?
Como uma transação pode ler um dado no protocolo de ordenação por marcas temporais?
Signup and view all the answers
Quais são as fases de um protocolo baseado em técnicas otimistas?
Quais são as fases de um protocolo baseado em técnicas otimistas?
Signup and view all the answers
Qual é uma desvantagem do protocolo de snapshot isolation?
Qual é uma desvantagem do protocolo de snapshot isolation?
Signup and view all the answers
Qual técnica pode ser utilizada para prevenir deadlocks?
Qual técnica pode ser utilizada para prevenir deadlocks?
Signup and view all the answers
O que é garantido pela atomicidade em transações distribuídas?
O que é garantido pela atomicidade em transações distribuídas?
Signup and view all the answers
Qual é uma característica dos logs na gestão de falhas?
Qual é uma característica dos logs na gestão de falhas?
Signup and view all the answers
Como a consistência forte é definida?
Como a consistência forte é definida?
Signup and view all the answers
Quais são as principais desvantagens do protocolo baseado em técnicas otimistas?
Quais são as principais desvantagens do protocolo baseado em técnicas otimistas?
Signup and view all the answers
O que caracteriza a fase de validação em um protocolo otimista?
O que caracteriza a fase de validação em um protocolo otimista?
Signup and view all the answers
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.
- Modelos:
- 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.
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.