Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Проблема потери результатов обновления
Считается, что передача обработки элементарных операций нескольких транзакций происходит в момент освобождения процессора (например, при записи или чтения данных из внешней памяти). Две транзакции по очереди записывают некоторые данные в одну и ту же строку и фиксируют изменения.
Результат. После окончания обеих транзакций, строка содержит значение , занесенное более поздней транзакцией B. Транзакция A ничего не знает о существовании транзакции B, и ожидает в строке значение . Таким образом, транзакция A потеряла результаты своей работы. 2. Проблема незафиксированной зависимости (чтение " грязных" данных) Транзакция B изменяет данные в строке. После этого транзакция A считывает измененные данные и работает с ними. Транзакция B откатывается и восстанавливает старые данные.
Результат. Транзакция A в своей работе использовала данные, которых фактически не было в БД. Так как после отката транзакции B, восстановит данные, как если бы она вообще никогда не выполнялась. Таким образом, результаты работы транзакции A некорректны, т.к. она работала с данными, отсутствовавшими в БД.
|