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

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

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

16 ответов

8 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Чет мне ссыкотно опять Rainlab.User в проект ставить. Кто знает, опять наотъебись все сделали или после обнов пользоваться можно?
Black Cat
10
это группа токсиков или тех кто помогает?
Ибрагим
9
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
Всем привет. Есть задача понимать пустая ли пластина 3д принтера (не в печатающем режиме). Из идей просто сравнивать 2 изображения (эталонное) и текущее, по контурам. Но боюсь...
Nikita Radionov
5
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
Загрузил на свой сервер, теперь обычные прямые ссылки без query параметров и возможных ограничений, всё равно та же ошибка. Неужели скачивать из VK и перезаливать в TG кажд...
Alexey S
2
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
Карта сайта