logo search
Моделирование систем / Моделирование систем / Теория / Dop / АИС_Конспект

3.2. Системы обработки транзакций

Транзакция представляет собой процесс, протекающей в информационной системе и направленный на изменение данных. Выполнение транзакции характеризуется двумя состояниями:

В свою очередь фиксирование транзакции означает ее принятие, либо «откат». В случае принятия транзакции изменения фиксируются в базе данных системы. В противном случае «откат» приводит к отмене всех действий проведенных в базе данных и она должна быть возвращена в исходное состояние, каким она характеризовалась на момент открытия транзакции.

Информационные системы прослеживания транзакций получили название OLTP (On Line Transaction Processing) систем. Такие системы выполняют проведение транзакции в реальном времени. Для успешного выполнения транзакций система должна обеспечить выполнение условий реализации транзакций.

Ниже перечисляются основные свойства транзакции:

Рассмотренные свойства транзакции имеют соответствующие английские названия: atomicity, consistency, isolation, durability. Поэтому транзакции, обладающие перечисленными выше свойствами, сокращенно называются ACID транзакциями.

В многопользовательских системах применятся также технология сериализации транзакций. Сериализация транзакций реализуется на базе двух принципов:

Реализация принципа сериализации выполняется с помощью механизма блокировок. Блокировка может выполняться следующими способами:

  1. блокировка на уровне базы данных;

  2. блокировка на уровне отдельных таблиц;

  3. блокировка на уровне «страниц»;

  4. блокировка на уровне записи.

Блокировка номер 3 выполняется на физическом уровне, под страницей понимается участок жесткого диска, на котором записаны данные таблицы. Блокировки номер 1 и 2 могут существенно замедлять процесс обработки транзакций. Для ускорения обработки транзакций блокировка выполняется на уровне строк таблицы номер 4.

Для ускорения доступа могут использоваться также жесткая и не жесткая блокировки.

Жесткая блокировка выполняется, когда транзакция производит изменения данных в таблице, другим транзакциям доступ к изменяемым данным запрещен. Не жесткая блокировка используется при извлечении данных, при этом другие транзакции могут извлекать те же данные. Транзакция может использовать жесткую блокировку, если ни одна другая транзакция не блокирует данные.

При взаимной блокировке транзакций, одна из них прерывается и выполняется ее «откат».

Системы управления транзакция поддерживают два основных типа транзакций: локальные и распределенные. Распределенные транзакции реализуются на нескольких серверах сети, на которых фрагментирована удаленная база данных. Локальные транзакции выполняются на одном сервере сети, ли на рабочей станции.

В современных организациях широкое распространение получают распределенные транзакции. Для оптимизации процесса их выполнения в состав OLTP информационных систем вводят специальную подсистему – монитор транзакций (TPM – transaction processing monitor).

TPM выполняет следующие функции:

Для выполнения первой функции применяется технология маршрутизации клиентских запросов. Подсистема TPM обращается к динамической маршрутной таблице и отыскивает свободный сервер, который может обслужить клиентский запрос. Поиск свободного сервера происходит либо путем циклического их опроса, либо по определенному алгоритму.

Для оптимизации скорости выполнения транзакций выполняется контроль за активными серверными приложениями. Чем больше серверных приложений обслуживают запросы, чем выше быстродействие OLTP системы. Для поиска оптимального числа активных серверных приложений используется специальный коэффициент, который вычисляется по формуле 3.1. [7]:

(3.1)

где Q – число запросов в очереди; A – число работающих серверных приложений.

Если M превышает некоторое максимальное пороговое значение, то запускается копия серверного приложения, при достижении порогового минимума копия выгружается из памяти сервера.