
Проблема зависимости от не зафиксированных результатов может возникнуть в том случае, если любой транзакции разрешено считывание (или, что еще хуже, обновление) кортежа, который только что был обновлен другой транзакцией, но результаты выполнения этой транзакции еще не были зафиксированы.
Если некоторое обновление не зафиксировано, всегда существует определенная вероятность, что оно не будет зафиксировано никогда из-за отката данной транзакции. В этом случае первая транзакция будет обрабатывать данные, которые уже не существуют (и, в сущности, никогда не существовали).
Доступ к не зафиксированным результатам обновления (иногда называемым не зафиксированным изменением). Затем это обновление в момент t3 отменяется. В результате транзакция А выполняется, исходя из ошибочного предположения, что кортеж t имеет значение, которое он имел в момент t2, тогда как на самом деле он сохранил свое прежнее значение, которое имел в момент tl. В итоге в результате выполнения транзакции А будет получен не верный результат. Кроме того, следует учитывать, что откат транзакции В может произойти не по вине транзакции В, а, например, в результате сбоя системы. (К этому времени выполнение транзакции А может быть уже завершено, а потому сбой системы не приведет к откату транзакции А.)
В момент t2 транзакция А вновь оказывается зависимой от не зафиксированного изменения. Более того, в момент t3 все ее результаты фактически утрачиваются, поскольку откат транзакции В приводит к восстановлению исходного состояния кортежа t, которое он имел в момент tl. Это еще один вариант проблемы потери результатов обновления.
Какой выбрать
хостинг и почту в Кыргызстане?