Механизм блокировки в базах данных при параллельной обработке запросов работает путём временного ограничения выполнения некоторых операций обработки данных. intuit.ru andpop.ru
Блокировка может быть наложена как на отдельную строку таблицы, так и на всю базу данных. intuit.ru Управлением блокировками на сервере занимается менеджер блокировок, который контролирует их применение и разрешение конфликтов. intuit.ru
Существуют два вида блокировки: intuit.ru
- Блокировка записи. intuit.ru andpop.ru Транзакция блокирует строки в таблицах таким образом, что запрос другой транзакции к этим строкам будет отменён. intuit.ru andpop.ru
- Блокировка чтения. intuit.ru andpop.ru Транзакция блокирует строки так, что запрос со стороны другой транзакции на блокировку записи этих строк будет отвергнут, а на блокировку чтения — принят. intuit.ru andpop.ru
Процесс работы механизма блокировки: intuit.ru
- Транзакция считывает строку таблицы — накладывает на неё блокировку чтения. andpop.ru
- Транзакция модифицирует строку данных — накладывает на неё блокировку записи. andpop.ru
- Если запрашиваемая блокировка на строку отвергается из-за уже имеющейся блокировки, то транзакция переводится в режим ожидания до тех пор, пока блокировка не будет снята. intuit.ru andpop.ru
- Блокировка записи сохраняется вплоть до конца выполнения транзакции. intuit.ru
Блокировки помогают синхронизировать доступ к элементам базы данных посредством параллельных транзакций и устраняют проблему параллелизма в СУБД. www.guru99.com