Виды декомпозиций. Декомпозиция без потерь


Необходимость управления параллельностью - часть 2


Пример 1

Транзакция А

Время

Транзакция В

 

t1

Обновление кортежа t

Извлечение кортежа t

t2

-

-

t3

Откат транзакции

-

t4

-

 

Пример 2

Транзакция А

Время

Транзакция В

 

t1

Обновление кортежа t

Обновление кортежа t

t2

-

-

t3

Откат транзакции

-

t4

-

В данном случае транзакция А будет обрабатывать данные, которые уже не существуют (и, в сущности, никогда не существовали).

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

Включает 3 варианта:

1.      Неповторяемое считывание;

2.      Фиктивные элементы фантомы;

3.      Собственно несовместимый анализ.

 

1. Неповторяемое считывание:

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

Транзакция А

Время

Транзакция В

Чтение p ® 100

t1

-

-

t2

Чтение p ® 100

-

t3

Запись 200 ® p

-

t4

Фиксация транзакции

Чтение p ® 200

t5

-

Фиксация транзакции

t6

-

 

2. Фиктивные элементы фантомы:

Эффект фиктивных элементов фантомов наблюдается, когда происходит чтение нескольких строк, удовлетворяющих некоторому условию:

Транзакция А производит считывание строк с одним и тем же условием. Например, считывает результаты экзамена студентов группы ИС-01. В это время вклинивается транзакция В и вставляет или удаляет n-ое количество строк. При повторном считывании транзакция А видит другое количество строк.

Транзакция А ничего не знает о существовании В и не может понять, что происходит с данными.

Транзакция А

Время

Транзакция В

Выборка строк, удовлетворяющих некоторому условию

: результат n строк

t1

-

-

t2

Вставка строк, удовлетворяющих условию

-

t3

Фиксация транзакции

Выборка строк, удовлетворяющих условию

: результат n+1 строк

t4

-

<


Начало  Назад  Вперед