Субд лекции

Темы:

Многозвенные транзакции

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

Модель многозвенных транзакций включает оператор CHAIN WORK - неделимую комбинацию операторов BEGIN WORK и COMMIT WORK, которая неравноценна последовательному выполнению операторов BEGIN WORK и COMMIT WORK по отдельности. При выполнении этих операторов по отдельности контекст пропадает; некоторая другая транзакция может вклиниться и изменить значения в базе данных, которые нужны для выполнения следующего звена многозвенной транзакции, прежде чем это звено начнет выполняться. Таким образом, многозвенные транзакции концептуально эквивалентны транзакциям с контрольными точками с той разницей, что откат может проводиться только до последней зафиксированной точки, а не до любой предыдущей контрольной точки.

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

предыдущаяследующая