Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida SGBD sem controle de concorrência


JoãoX

Pergunta

Digamos que um banco de dados não tenha controle de concorrência:

Tempo 1 - Trans1 - update X

Tempo 2 - Trans2 - update X

Tempo 3 - Trans1 - update X

Tempo 4 - Trans2 - update X

Poderia ocorrer uma "perda de atualização"? Alguma transação iria sobrepor a outra?

Editado por JoãoX
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Bom Dia

Digamos que um banco de dados não tenha controle de concorrência, caso forem executadas em sequencia as seguintes transações:

Tempo 1 - Trans1 - fetch X

Tempo 2 - Trans2 - fetch X

Tempo 3 - Trans1 - update X

Tempo 4 - Trans2 - update X

Poderia ocorrer que um "roollback implícito" em alguma das transações?

Sim. Havendo falha em qualquer das transações nos tempos 3 e 4, um rollback seria aplicado na transação que ocorreu a falha.

Poderia ocorrer uma "perda de atualização"? Alguma transação iria sobrepor a outra?

Sim. Por diversos motivos.

Exemplo:

Se o saldo de conta é 10 então os tempos 1 e 2 lerão 10 cada.

Se tempo 3 acrescenta 10 e tempo 4 retira 10, então o saldo continuará a ser 10 e quem executou a transação 1 em tempo 3 pensará que tem 20 e quem executou a transação 2 em tempo 4 pensará que tem 0.

Outro exemplo:

tempos 1 e 2 leram 10. tempo 3 acrescenta 10 e tempo 4 retira 10, mas em tempo 3 houve rollback por uma falha qualquer.

Tempo 3 pensará que tem 20 mas tem 10 e tempo 4 pensará que tem 0 e terá 0.

Link para o comentário
Compartilhar em outros sites

  • 0
Bom Dia

Digamos que um banco de dados não tenha controle de concorrência, caso forem executadas em sequencia as seguintes transações:

Tempo 1 - Trans1 - fetch X

Tempo 2 - Trans2 - fetch X

Tempo 3 - Trans1 - update X

Tempo 4 - Trans2 - update X

Poderia ocorrer que um "roollback implícito" em alguma das transações?

Sim. Havendo falha em qualquer das transações nos tempos 3 e 4, um rollback seria aplicado na transação que ocorreu a falha.

Poderia ocorrer uma "perda de atualização"? Alguma transação iria sobrepor a outra?
Sim. Por diversos motivos.

Exemplo:

Se o saldo de conta é 10 então os tempos 1 e 2 lerão 10 cada.

Se tempo 3 acrescenta 10 e tempo 4 retira 10, então o saldo continuará a ser 10 e quem executou a transação 1 em tempo 3 pensará que tem 20 e quem executou a transação 2 em tempo 4 pensará que tem 0.

Outro exemplo:

tempos 1 e 2 leram 10. tempo 3 acrescenta 10 e tempo 4 retira 10, mas em tempo 3 houve rollback por uma falha qualquer.

Tempo 3 pensará que tem 20 mas tem 10 e tempo 4 pensará que tem 0 e terá 0.

Obrigado

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...