Estudos gratuitos da ER Soluções WebVer outros conteúdos grátis
ER Soluções WebEstudos · Patterns of Enterprise Application Architecture

5. Concorrência

Atualização perdida e leitura inconsistente. Transação de sistema ≠ transação de negócio.

Duas pessoas editam o mesmo registro; a segunda gravação apaga a primeira
Atualização perdida: Ana e Bruno leem v1, ambos gravam, a edição de Ana some.

Resumo

Perguntas-chave

responda de cabeça, depois abra
Qual a diferença entre controle otimista e pessimista?
Otimista deixa todos editarem e detecta o conflito na gravação. Pessimista impede o conflito bloqueando o dado antes da edição.
O que é transação de negócio?
Uma unidade de trabalho do ponto de vista do usuário, que pode durar várias requisições (ex.: editar e confirmar um pedido).
Quais anomalias cada nível de isolamento permite?
Repeatable read: fantasmas. Read committed: leituras não repetíveis. Read uncommitted: leituras sujas. Serializable: nenhuma.

Exercícios de fixação

0/5 respondidas
1.
Ana e Bruno abrem o mesmo cliente. Ana muda o telefone e grava. Bruno muda o e-mail e grava, sobrescrevendo o registro inteiro. O telefone de Ana se perdeu. Que problema é esse?
2.
Por que não manter uma transação do banco aberta enquanto o usuário edita uma tela por 10 minutos?
3.
Qual nível de isolamento permite leitura de dados ainda não confirmados (dirty read)?
4.
Qual a principal desvantagem do controle pessimista?
5.
Que modelo de execução no servidor Fowler considera mais simples e seguro para a maioria dos sistemas?
Seu progresso fica salvo neste navegador.