72 похожих чатов

Коллеги, подскажите плиз. Изучаю что есть такое "оптимистичная и пессимистичная

блокировки" - никогда не пользовался столбцом @Version в своих @Enitity прежде. Правильно я понимаю, что все что сказано про эти типы блокировок важны лишь есть уровень изоляции read uncommited? То есть при стандартном для бд read commited это уже не актуально

16 ответов

27 просмотров

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

Влад
а попроще?)

Не связаны между собой вообще никак

Влад
а попроще?)

https://stackoverflow.com/questions/129329/optimistic-vs-pessimistic-locking

Влад- Автор вопроса

Если просто о сложном ,то пессимистическая держит Лок на что то , а оптимистическая запоминает состояние до и после и сравнивая определяет - была ли другая транзакция над этими же данными.

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

Ilya Zviagin
Есть разные виды оптимистичной...

В моем понимании это всегда будет сравнение двух состояний. т.е состояний в момент начала транзакции и в конце. Есть ли не так, то как, например?

Nikolay
В моем понимании это всегда будет сравнение двух с...

Например, вообще никак. Это тоже вид оптимистичной блокировки

Ilya Zviagin
Например, вообще никак. Это тоже вид оптимистичной...

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

Nikolay
это интересный подход. Но почему тогда не назвать ...

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

Похожие вопросы

Обсуждают сегодня

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Всем привет Подскажите, какой план выбирать на Heroku Если я хочу запускать scheduled jobs (queues) на своем сервере? Я так понимаю для queues запускаются на отдельных workers...
Egor Chernenko
1
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
Что за японодичь? Мне хоть m68k, хоть 8080, 8088, на любом можно что-то создать
Егор
5
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Карта сайта