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

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

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

16 ответов

34 просмотра

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта