В чем разница между явной и неявной блокировкой в ​​базе данных? - PullRequest
3 голосов
/ 08 сентября 2010

В чем разница между явной и неявной блокировкой в ​​базе данных?

Ответы [ 3 ]

2 голосов
/ 27 января 2014

Скрытая блокировка

Objectivity / DB неявно получит соответствующие блокировки для вашего приложения в той точке, в которой они необходимы. Операция, которая читает объект, получит блокировку чтения; операция, которая модифицирует объект, получит блокировку записи.

Явная блокировка

Неявная блокировка получает права доступа к ресурсам так, как они нужны приложению. В целом, автоматическая блокировка с помощью Objectivity / DB обеспечивает уровень параллелизма федеративной базы данных, достаточный для большинства приложений.

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

Приложение, которому необходимо заранее зарезервировать доступ ко всем необходимым объектам, может явно заблокировать объекты. Предположим, что приложению необходимо вычислить значение на основе состояния многих объектов в определенный момент времени. Хотя приложение не может проверить все необходимые объекты одновременно, оно может достичь того же эффекта, заморозив состояние объектов, а затем проверяя их последовательно. Явная блокировка эффективно замораживает объекты, потому что никакой другой сеанс не может изменять их, пока они заблокированы.

2 голосов
/ 09 сентября 2010

Неявные блокировки обычно устанавливаются СУБД автоматически. Большинство СУБД позволяют разработчику или приложению создавать блокировки, которые называются явными блокировками.

0 голосов
/ 16 ноября 2012
  • Явная блокировка: - Блокировка явно запрашивается для записи или таблицы.
  • Скрытая блокировка: - Блокировка подразумевается, но не получается
...