Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6_Informatsionnye_tekhnologii_v_menedgmente.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
434.18 Кб
Скачать

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

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

Вложенные транзакции

Модель вложенных транзакций включает понятие головной транзакции, которая управляет выполнением всей иерархии. В рамках иерархии могут присутствовать транзакции разных уровней вложенности. Концевые узлы иерархии представляют собой плоские транзакции. Отдельные ветви иерархии могут иметь разную длину, т. е. концевые транзакции могут находиться на разном "расстоянии" от головной транзакции (корня дерева транзакций).

Три правила для управления вложенными транзакциями:

- Правило фиксации. Фактическая фиксация субтранзакции происходит только после фиксации всех ее предков вплоть до головной транзакции.

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

- Правило видимости. Все действия, выполненные в рамках субтранзакции, при ее фиксации становятся видимыми родительской транзакции. Все объекты, захваченные некоторой транзакцией, доступны ее потомкам. Соседние транзакции (относящиеся к одному уровню и имеющие общего родителя) "не видны" друг другу ни в том, ни в другом смысле, что позволяет выполнять их параллельно.

23. Обеспечение надежности хранения данных в oltp-системах.

Транзакционными называются системы, осуществляющие обработку данных на уровне отдельных операций (транзакций). Такие программные продукты называют OLTP-системами (One-Line Transaction Processing) – обработка транзакций в режиме реального времени.

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

Транзакция может состоять из операций чтения, удаления, вставки и модификации данных.

Одно из основных требований современной OLTP–системы - надежность хранения данных. СУБД должна уметь восстанавливать согласованное состояние базы данных после любых аппаратных и программных сбоев.

Для восстановления после сбоев СУБД использует журнал транзакций, который содержит последовательность записей, описывающих изменения в БД.

Общий принцип восстановления после сбоя таков – результаты выполнения транзакций, зафиксированных до сбоя, должны присутствовать в восстановленной БД, результаты незафиксированных транзакций в ней должны отсутствовать, т. е. Восстанавливается последнее состояние до сбоя состояние БД.

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