Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Режимы блокировок

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

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