Проблема параллелизма с изоляцией - передано на чтение - PullRequest
0 голосов
/ 01 июня 2010

Я должен написать простую демонстрацию для снятия суммы с общей банковской суммы. Энди и Джен имеют совместный банковский счет с номером 123. Предположим, у них есть 100 $ на счету. Джен и Энди одновременно управляют своим счетом, и оба пытаются снять 90 $ в настоящее время. Моя транзакция Isolation настроена на чтение и оба могут снять деньги, оставив баланс до - (минус) 80 $, хотя у меня есть ограничение, что баланс никогда не должен быть меньше 0.

Я использую спящий режим. Является ли управление версиями единственным способом решения этой проблемы, или мне следует перейти на другой уровень изоляции?

1 Ответ

1 голос
/ 01 июня 2010

Я испытываю желание сказать, что оптимистическая блокировка - действительно путь (и это то, что я бы сделал вместо изменения уровня изоляции, одновременный доступ к одной и той же записи звучит как исключительная ситуация).

...