247
их назначение – автоматизированная поддержка приложений, оформ-
ленных в виде последовательности транзакций. Каждая транзакция – это
законченный блок обращений к ресурсу (как правило, базе данных) и
некоторых действий над ним, для которого гарантируется выполнение
четырех условий:
− атомарность – операции транзакции образуют неразделимый,
атомарный блок с определенным началом и концом. Этот блок либо
выполняется от начала до конца, либо не выполняется вообще. Если в
процессе выполнения транзакции произошел сбой, происходит откат
(возврат) к исходному состоянию;
− согласованность – по завершении транзакции все задейство-
ванные ресурсы находятся в согласованном состоянии;
− изолированность – одновременный доступ транзакций различ-
ных приложений к разделяемым ресурсам координируется таким обра-
зом, чтобы эти транзакции не влияли друг на друга;
− долговременность – все изменения данных (ресурсов), осущест-
вленные в процессе выполнения транзакции, не могут быть потеряны.
В системе без ТР-монитора, обеспечение этих свойств берут на се-
бя серверы распределенной базы данных, использующие двухфазный
протокол (2РС- two-phase commit). Протокол 2РС описывает двухфаз-
ный процесс, в котором перед началом распределенной транзакции все
системы опрашиваются о готовности выполнить необходимые действия.
Если каждый из серверов баз данных дает утвердительный ответ, тран-
закция выполняется на всех задействованных источниках данных. Если
хотя бы в одном месте происходит какой-либо сбой, будет выполнен от-
кат для всех частей транзакции.
Однако в системе с распределенными базами данных выполнение
протокола 2РС можно гарантировать только в том случае, если все ис-
точники данных принадлежат одному поставщику. Поэтому для слож-
ной распределенной среды, которая обслуживает тысячи клиентских
мест и работает с десятками разнородных источников данных, без мони-
тора транзакций не обойтись. ТР-мониторы способны координировать и
управлять транзакциями, которые обращаются к серверам баз данных от
различных поставщиков благодаря тому, что большинство этих продук-
тов помимо протокола 2РС поддерживают транзакционную архитекту-
ру (ХА), которая определяет интерфейс для взаимодействия ТР-
монитора с менеджером ресурсов, например, СУБД Oracle или Sybase.
Спецификация ХА является частью общего стандарта распределенной
обработки транзакций (distributed transaction processing – DTP), разрабо-
танного X/Open (рис. 8.14).
Функции современных ТР-мониторов не ограничиваются под-
держкой целостности прикладных транзакций. Большинство продуктов
этой категории способны распределять, планировать и выделять при-
оритеты запросам нескольких приложений одновременно, тем самым,