Sobes.tech
Junior — Middle

Quais riscos surgem quando várias solicitações que alteram os mesmos dados são executadas simultaneamente no contexto de duas transações?

sobes.tech IA

Resposta da IA

Ao executar várias consultas simultaneamente que modificam os mesmos dados em diferentes transações, surgem os seguintes riscos:

  • Condição de corrida (Race Condition): as modificações de uma transação podem sobrescrever as de outra, levando à perda de dados.

  • Violação da integridade dos dados: se as transações não estiverem devidamente isoladas, os dados podem ficar em um estado inconsistente.

  • Leituras fantasmas: uma transação vê linhas modificadas ou novas adicionadas por outra transação.

  • Deadlocks (Bloqueios mortos): as transações podem bloquear-se mutuamente, esperando pela liberação de recursos.

  • Perda de atualizações (Lost Updates): quando duas consultas leem os mesmos dados e depois tentam atualizá-los, as alterações de uma podem ser sobrescritas pela outra.

Para prevenir esses problemas, utilizam-se níveis de isolamento de transações e mecanismos de bloqueio, como SELECT FOR UPDATE ou bloqueio otimista.