Классика баз данных - статьи

       

Альтернативные модели транзакций


Транзакции – это единицы обработки данных, обладающие свойствами, существенными с точки зрения традиционных СУБД: атомарность (выполняются либо все действия, либо ни одного), сериализуемость (разные транзакции не оказывают неожиданного воздействия друг на друга) и долговечность (если транзакция зафиксирована, то ее результат не пропадет даже в случае краха системы). Эти свойства сохраняют свою значимость и для многих новых приложений, однако принятые методы реализации транзакций часто оказываются неработоспособными. Некоторые приложения требуют очень продолжительных шагов, как, например, системы проектирования, где инженер изымает из обращения элементы конструкций на несколько часов или дней. Еще один пример – системы управления потоками работ, где действия, выполняемые персоналом, могут также занимать многие часы или несколько суток.

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



Содержание  Назад  Вперед