Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Рейтинг 1 / 26. Транзакции и параллелизм. Проблемы параллельной работы транзакций

.docx
Скачиваний:
49
Добавлен:
19.05.2015
Размер:
18.09 Кб
Скачать

Транзакции и параллелизм

Работа транзакций в смеси

Транзакция рассматривается как последовательность элементарных атомарных операций. Атомарность отдельной элементарной операции состоит в том, что СУБД гарантирует, что, с точки зрения пользователя, будут выполнены два условия:

  • Эта операция будет выполнена целиком или не выполнена вовсе (атомарность - все или ничего).

  • Во время выполнения этой операции не выполняются никакие другие операции других транзакций (строгая очередность элементарных операций).

  • Элементарные операции различных транзакций могут выполняться в произвольной очередности (конечно, внутри каждой транзакции последовательность элементарных операций этой транзакции является строго определенной). Например, если есть несколько транзакций, состоящих из последовательности операций элементарных:

  • , ,

  • то реальная последовательность, в которой СУБД выполняет эти транзакции может быть, например, такой:

  • .

  • Определение 1. Набор из нескольких транзакций, элементарные операции которых чередуются друг с другом, называется смесью транзакций.

  • Определение 2. Последовательность, в которой выполняются элементарные операции заданного набора транзакций, называется графиком запуска набора транзакций.

  • Замечание. Очевидно, что для заданного набора транзакций может быть несколько (вообще говоря, достаточно много) различных графиков запуска.

Проблемы параллельной работы транзакций

Различают три основные проблемы параллелизма:

  • Проблема потери результатов обновления.

  • Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание).

  • Проблема несовместимого анализа.