DevGuideTK
← Trilha Backend

Transações e ACID

As garantias que impedem um sistema de ficar com dados pela metade quando algo falha, e de vender o mesmo item duas vezes.

Uma transação é um conjunto de operações no banco que acontece por inteiro ou não acontece. ACID é o nome das quatro garantias que ela oferece.

Sem transações, uma falha no meio de uma operação deixa dados pela metade, e dois pedidos simultâneos podem vender o mesmo item duas vezes.

  • Atomicidade: tudo ou nada, mesmo se o servidor cair no meio.
  • Consistência: as regras declaradas no banco nunca ficam violadas.
  • Isolamento: transações simultâneas não atrapalham umas às outras, até certo ponto.
  • Durabilidade: o que foi confirmado sobrevive a uma queda.
  • Ler um valor e gravar depois, sem trava, é a origem clássica de vendas duplicadas.