Níveis de isolamento de transações de banco de dados
Isso pode ser feito em seu banco de dados aproveitando as garantias de seu banco de dados específico (mysql).
O nível de isolamento padrão para postgres/mysql permite que 2 leituras simultâneas vejam os mesmos dados e, em seguida, cada uma sobrescreva a outra (em uma gravação).
A documentação do postgres fornece um excelente exemplo deste caso :
BEGIN;
UPDATE accounts SET balance = balance + 100.00 WHERE acctnum = 12345;
UPDATE accounts SET balance = balance - 100.00 WHERE acctnum = 7534;
COMMIT;
...