PDA

Просмотр полной версии : Транзакция отмены транзакции


saovu
09.09.2013, 09:19
Полуфилосовская проблема из текущего рабочего процесса.
Если операция отмены транзакции, сама является транзакцией, то как быть с отменой отмены ? Отменой отмены отмены ? И т.п.

P.S. Понятно, что реальная реализация будет определяться конкретной семантикой задачи, включая эту самую глубину отмен отмен, но с понятийной точки зрения "остается осадок".

Hogfather
09.09.2013, 09:36
Если операция отмены транзакции, сама является транзакцией, то как быть с отменой отмены ?
На пальцах объясните. Что-то я себе плохо представляю вопрос:

BEGIN TRANSACTION
Do something
BEGIN TRANSACTION
Do something more
ROLLBACK TRANSACTION /* Это что ли? */
COMMIT TRANSACTION

Или мы про суровую жизнь банков?

kravets
09.09.2013, 09:38
Полуфилосовская проблема из текущего рабочего процесса.
Если операция отмены транзакции, сама является транзакцией, то как быть с отменой отмены ? Отменой отмены отмены ? И т.п.

P.S. Понятно, что реальная реализация будет определяться конкретной семантикой задачи, включая эту самую глубину отмен отмен, но с понятийной точки зрения "остается осадок".

Операция - транзакция. То, над чем осуществляется операция, может называться как угодно, это непринципиально. Это - субъект отмены.

saovu
09.09.2013, 09:44
ROLLBACK TRANSACTION /* Это что ли? */
Нет, конечно.
Речь про самописную расчетную систему.

Операция - транзакция. То, над чем осуществляется операция, может называться как угодно, это непринципиально. Это - субъект отмены.
Это успокаивающая точка зрения, но всё таки имеются сомнения. Потому что это слишком особенный субъект отмены.

Hogfather
09.09.2013, 09:49
самописную расчетную систему
Т.е. транзакция банковская? Дык, тогда отмена отмены транзакции есть также новая транзакция. Может я еще не проснулся, но пока подвоха не вижу. Главное, оставить аудиторский след, поэтому все эти отмены отмен (игра в "ромашку": платить - не платить) будут порождать новые транзакции по числу лепестков оной "ромашки",

saovu
09.09.2013, 10:06
Т.е. транзакция банковская?
Не обязательно банковская, но в том числе и банковская.

Главное, оставить аудиторский след
Отдельная большая тема для разговора. Но это уж наверное в другой раз

kravets
09.09.2013, 10:18
Нет, конечно.
Речь про самописную расчетную систему.


Это успокаивающая точка зрения, но всё таки имеются сомнения. Потому что это слишком особенный субъект отмены.

С точки зрения самой операции ничем не отличающийся от остальных, если блокировки (прогр.) выполнены корректно.

will
09.09.2013, 10:29
сама является транзакцией, то как быть с отменой отмены ? Отменой отмены отмены ?
проконсультируйтесь с юристами своего предприятия или запросите мнение юристов предприятия -заказчика.

Обычно они сильно возражают против такого.

0647
09.09.2013, 15:01
Или мы про суровую жизнь банков? (с умной мордой) С точки зрения философии - не силен и не сведущ, а техницки - Undo ведь не до бесконечности можно выполнять... и стек не бездонной глубины...

Hogfather
09.09.2013, 15:11
техницки - Undo ведь не до бесконечности можно выполнять
Здесь скорее цикл: Undo-Redo ("закопать стюардессу, откопать стюардессу")

Степан Капуста
09.09.2013, 20:19
Имхо: если отменяемая транзакция не завершена, то — «роллбэк», если уже завершена — то можно назвать «сторно».

Hogfather
09.09.2013, 23:01
saovu, у Вас там часом не е-эр-пя какая-нибудь самописная с ТЗ написанным бухгалтером-параноиком?



Убрал две страницы со взаимными обвинениями в флуде и прочих грехах.
Пожалуйста, личные выяснения отношений в ЛС.
Здесь желательно по теме.
Jacky

saovu
09.09.2013, 23:05
saovu, у Вас там часом не е-эр-пя какая-нибудь самописная с ТЗ написанным бухгалтером-параноиком?
Самописная, но не е-эр-пя.
Даже не знаю как бы так рассказать, ничего не рассказав (я ж столько подписок давал нашим корпоративным безопасникам).

Hogfather
09.09.2013, 23:27
Даже не знаю как бы так рассказать, ничего не рассказав
А и не надо. Корпопротивная безопасность -- это святое. Я кажется понимаю, о чём может идти речь. Я Вам так скажу, бесполезно искать философию или здравый смысл там, где присутствует корпоративная безопасность и КРУ. Надо просто воплощать в жизнь и не задумываться, ибо нет ничего лучше хорошо автоматизированного корпоративного хаоса. В этом миссия корпоративного ИТ. Хотя, медитировать, наблюдая за дурной бесконечностью отмены отмены транзакций, будучи вооружённым только смартфоном и диаматом, путь также достойный офис-самурая.

Аналогия со стюардессой выше правильная? Я верно уловил идею?

saovu
09.09.2013, 23:43
Аналогия со стюардессой выше правильная?
Для полноты аналогии убийство стюардессы должно быть тоже отменяемо, равно как и труп стюардессы после выкапывания должен уметь отыграть взад все процессы разложения.

0647
10.09.2013, 08:11
Для полноты аналогии убийство стюардессы должно быть тоже отменяемо, равно как и труп стюардессы после выкапывания должен уметь отыграть взад все процессы разложения. Гм... гм... а что, если транзакцию "закапывание уже убитой стюардессы" расчленить :) на под-транзакции: 1 - собственно убиение, 2 - приготовление к сокрытию следов, 3 - собственно закапывание. Тогда, при такой детализации, ИМХО, и реанимация при откате будет более вероятна. В общем, атом - неисчерпаем. :)

Hogfather
10.09.2013, 08:45
под-транзакции
Может я из другой парадигмы, но транзакция -- это совокупность операций, т.е. может быть вложенная транзакция, но не "под-транзакция". В общем, мы впадаем в мудалогию*, коллега.

---
От Муда ( 無駄 (http://en.wikipedia.org/wiki/Muda_(Japanese_term)), яп.) - действия, не создающие ценность. Специально для бдительного админа: это официальный термин в бережливом производстве (Lean Production)

0647
10.09.2013, 08:59
транзакция -- это совокупность операций, Совершенно верно, я тоже такого мнения. Просто мне подумалось, что для успешной реализации т.н. "транзакции отмены транзакции" саму исходную (отменяемую) транзакцию стоило бы разукрупнить - грубо говоря, вместо одной транзакции на 100 операций иметь 10 более мелких транзакций по 10 операций. Как-то так. :o