Транзакции. Проблемы при параллельном использовании транзакций | MetodPro.ru

Реклама на сайте

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


Проблемы параллельного доступа с использованием транзакций

 

При параллельном использовании транзакций могут возникать следующие проблемы:

-                   потерянное обновление (lostupdate);

-                   «грязное» чтение (dirtyread) – чтение данных, которые были записаны откатанной транзакцией;

-                   неповторяющееся чтение (non-repeatableread);

-                   фантомная вставка (phantominsert).

 

Потерянные изменения:

Транзакция Т1 читает данные.

Транзакция Т2 читает те же данные.

Транзакция T1 на основании прочитанного значения вычисляет новое значение данных, записывает его в базу данных и завершается.

Транзакция T2 на основании прочитанного значения вычисляет новое значение данных, записывает его в базу данных и завершается.

 

В результате значение, записанное транзакцией Т2, «затрет» значение, записанное транзакцией Т1.

 

«Грязное» чтение:

Транзакция Т1 изменяет некоторые данные, но еще не завершается.

Транзакция Т2 читает эти же данные (с изменениями, внесенными транзакцией Т1) и принимает на их основе какие-то решения.

Транзакция Т1 выполняет откат.

 

В результате решение, принятое транзакцией Т2 основано на неверных данных.

 

Неповторяющееся чтение:

Транзакция Т1 в ходе своего выполнения несколько раз читает одни и те же данные.

Транзакция Т2 в интервалах между чтениями транзакцией Т1 изменяет эти данные и фиксируется.

 

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

 

Фантом:

Транзакция Т1 в ходе своего выполнения несколько раз выбирает множество строк по одним и тем же критериям.

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

 

В результате оказывается, что одни и те же выборки в транзакции Т1 выбирают разные множество строк.



Методические пособия

  • Системы автоматизированного проектирования
  • Социология молодёжи
  • Общая социология
  • Криптография
  • Проектирование трансляторов
  • Компьютерная графика
  • Моделирование систем
  • Информационная безопасность
  • Теория вычислительных процессов
  • Логические основы искусственного интелекта
  • Проектирование распределённых информационных систем