Реализация алгоритма управления параллелизмом в распределенной базе данных
Я пишу диссертацию по управлению параллелизмом в распределенной базе данных. Я смотрю, как справиться с проблемой потерянного обновления в распределенной базе данных. Я использую какой-то предложенный алгоритм для решения этой проблемы, но не знаю, как реализовать его с помощью триггера в sql server 2017.
Предлагаемый алгоритм объясняется в следующих шагах:
• Шаг первый (LU_TRANDETAILS): этот шаг обнаруживает сведения о последних запущенных транзакциях и сеансах и сохраняет эти сведения в таблице TRANDETAILS.
• ШАГ ВТОРОЙ (LU_VST): эта процедура выводит и сохраняет время начала активного сеанса распределенной транзакции. Выходное значение хранится в переменной VST, которая будет использоваться в триггере для проверки состояния.
• ШАГ ТРЕТИЙ (LU_MINVST): эта процедура выводит и сохраняет время начала самого старого запущенного сеанса распределенной транзакции. Выходные данные хранятся в переменной MINVST и будут переданы триггеру для проверки состояния.
• ШАГ ЧЕТВЕРТЫЙ (LU_MAXSCN): эта процедура дает максимальные значения номера изменения системы (ORA_ROWSCN) из таблицы и передает его через переменную MAXSCN для запуска проверки состояния.
• ШАГ ПЯТЫЙ (LU_LOCKSESSION (LC)): Эта процедура находит сведения о блокировке среди всех запущенных сеансов пользователя и сохраняет их в таблице LOCK_DETAILS. Процедура также сохраняет количество блокировок (количество блокировок, удерживаемых различными сеансами) в переменную LC и передает ее триггеру для проверки состояния.
Мне нужна помощь в реализации этого предложенного алгоритма с триггером в sql server, а затем использовать его в c#
Что я уже пробовал:
Я ничего не пробовал так как понятия не имею
Gerry Schmitz
Вы можете начать свою диссертацию с определения того, что такое "проблема потерянного обновления" и как ее идентифицировать. Тогда вы можете начать думать о том, чтобы исправить это.