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


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


Управление параллельностью – процесс организации одновременного выполнения в базе данных различных операций, гарантирующих исключение их взаимного влияния друг на друга.

Важнейшей целью создания БД является организация параллельного доступа многих пользователей к общим данным, используемыми ими совместно. Обеспечить параллельный доступ относительно несложно, если все пользователи будут только читать данные, помещенные в базу. В этом случае работа каждого из них не оказывает никакого влияния на работу остальных пользователей. Однако, если два и более пользователей одновременно обращаются к базе данных и хотя бы один из них хочет обновить хранимую в базу информацию, возможно взаимное влияние процессов друг на друга, способное привести к несогласованности данных. Существуют три проблемы параллельности (возникающие при параллельной обработке транзакций):

1.

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

Рассмотрим ситуацию, когда транзакция А считывает некоторый кортеж t в момент t1, а транзакция В считывает этот же кортеж t в момент t2. Далее транзакция А обновляет кортеж t в момент t3 (исходя из значений в момент t1), а транзакция В обновляет тот же кортеж t в момент t4 (исходя из значений в момент t2 и аналогичных значений, которые были считаны в момент t1).

Транзакция А

Время

Транзакция В

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

t1

-

-

t2

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

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

t3

-

-

t4

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

-

t5

-

Результат операции обновления, выполненной транзакцией А, будет утерян, поскольку в момент t4 он будет перезаписан транзакцией В.

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

Может возникнуть в том случае, если любой транзакции разрешено считывание или обновление кортежа, который только что был обновлен другой транзакцией, но результаты выполнения этой транзакции еще не были зафиксированы. Если некоторое обновление не зафиксировано, то существует определенная вероятность, что оно не будет зафиксировано никогда из-за отката данной транзакции.




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



Книжный магазин