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

         

Управление распределённой параллельностью


Хороший механизм управления параллельностью в распределенной СУБД должен обеспечивать:

1.      устойчивость к отказам на сайтах и в линиях;

2.      высокий уровень параллельности, удовлетворяющий существующим требованиям производительности;

3.      невысокий дополнительный уровень потребления времени процессора и других системных ресурсов;

4.      удовлетворительные показатели работы с сетевыми соединениями, имеющими высокое значение времени задержки соединения;

5.      отсутствие дополнительных ограничений на структуру атомарных действий.

Управление параллельностью

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

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

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

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



Содержание раздела