Что такое блокировка, проблемы с блокировкой в ​​финансовых операциях?

Subquestioning SQL - когда вы должны использовать "с (nolock)"

В одном местном финансовом учреждении я был упрек их программистами за высказывание им своего мнения о том, что (навязчивость их программистов) (b) проблемы с блокировкой в ​​базе данных MS SQL Server 2005 не имеют для меня большого смысла.

Каковы возможные проблемы с возможной блокировкой, блокировкой, блокировкой, если финансовые операции никогда не обновляются, не удаляются и даже некорректные операции (часть "транзакции"?) корректируются путем вставки (добавления) новых исправляющих записей в базы данных,?
Каков термин для этого на английском языке? На других языках это называется "storno", "storned" (?) Операции/записи.

Итак, как я понимаю, "транзакции" на самом деле никогда не откатываются назад, и никогда не бывает ошибочных/несуществующих записей, только неактуализированных.

Обновление:
Я googled для storno и не мог найти никаких результатов с его определением на английском языке или его использованием в английских текстах. Я нашел определение для storno (в латинских буквах) только на итальянском языке.
Но бухгалтерский учет был изобретен в Италии, и многие итальянские термины учета используются на других языках, например, в российском бухгалтерском учете (банковском). Я также считал, что это международная практика в финансовой отчетности, не так ли?

Update2:
S.Lott дал мне ссылку на То, как транзакции были отменены в приложении ERP, - это большое дело!, рассказывающее, что storn - транзакция разворота.

Ну, это неправильно. Storno - это не только трансакция, это любая операция (часть транзакции), исправляющая неправильную работу, хотя две объединенные операции могут показаться обратным преобразованием (состоящим из двух операций - для кредитования и дебетования на целевые и исходные учетные записи).

Итак, storno - не обычная практика бухгалтерского учета в мире?

В любом случае я бы хотел избежать обсуждения деталей/методов учета/терминов учета и ограничить вопрос до контекста, когда записи никогда не удаляются или не обновляются.

Каковы возможные проблемы с блокировкой, блокировкой, блокировкой, производительностью в этом контексте?

Ответ 1

"Сторные транзакции" или "Реверсивные транзакции" суммируются. Во многих местах.

http://richardatopenbravo.blogspot.com/2010/02/way-that-transactions-are-reversed-in.html

http://help.sap.com/saphelp_46b/helpdata/en/d2/6f921f415e11d182b10000e829fbfe/content.htm

http://forum.wordreference.com/showthread.php?t=1875166

Не конфликтовать реализацию программного обеспечения с помощью бухгалтерского учета. Разумная реализация может выполняться с минимальной блокировкой. Однако это ничего не значит. Возможно, вы заслужили упрек, потому что программное обеспечение (а) плохо спроектировано и (б) требует тщательной блокировки из-за плохого дизайна.

Каковы возможные проблемы...?

Поскольку мы не знаем, насколько хорошо или насколько плохо написано программное обеспечение, невозможно угадать. Они могут знать что-то о своей системе, о которой вы не знали.

Простую систему транзакционных транзакций следует легко реализовать. Действительно, это должно быть тривиально.

Пара таблиц "только для вставки" может по-прежнему сталкиваться с блокировками, если во время вставок используется блокировка уровня страницы.

Таблица A, страница 1 имеет вставку в транзакции X.

Таблица B, страница 2 имеет вставку в транзакции Y.

Таблица B, страница 2 имеет вставку в транзакции X.

Таблица A, страница 1 имеет вставку в транзакции Y.

Единственный способ избежать взаимоблокировок - использовать всю систему в одной таблице. Или все транзакции ограничены одной таблицей. Или используйте единый замок базы данных.

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