Гость
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические? / 18 сообщений из 18, страница 1 из 1
12.08.2016, 17:46
    #39291266
VERSION
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
Справедливо ли утверждать для упрощения, что MS SQL (в блокировочных уровнях изоляции) использует Пессимистические блокировки, а Oracle использует Оптимистические блокировки?


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

Оптимистическая блокировка не ограничивает модификацию обрабатываемых данных сторонними сессиями, однако перед началом предполагаемой модификации запрашивает значение некоторого выделенного атрибута каждой из строк данных (обычно используется наименование VERSION и целочисленный тип с инициальным значением 0).
...
Рейтинг: 0 / 0
12.08.2016, 19:02
    #39291296
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
Оптимистичная / пессимистичная обычно относится к уровню _приложения_. Обзывать так блокировки накладываемые СУБД - как то странно. IMHO
...
Рейтинг: 0 / 0
14.08.2016, 00:23
    #39291534
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
VERSIONСправедливо ли утверждать для упрощения, что MS SQL (в блокировочных уровнях изоляции) использует Пессимистические блокировки, а Oracle использует Оптимистические блокировки?
Нет.
...
Рейтинг: 0 / 0
14.08.2016, 00:38
    #39291536
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
VERSIONСправедливо ли утверждать для упрощения, что MS SQL (в блокировочных уровнях изоляции) использует Пессимистические блокировки, а Oracle использует Оптимистические блокировки?


[

нет. оба пессимистические используют.
...
Рейтинг: 0 / 0
14.08.2016, 00:42
    #39291537
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
VERSION,

от уровня изоляции транзакции это не зависит, потому что это работает на минимальном уровне (уровень 0, write committed).
...
Рейтинг: 0 / 0
14.08.2016, 01:38
    #39291539
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
VERSIONСправедливо ли утверждать для упрощения, что MS SQL (в блокировочных уровнях изоляции) использует Пессимистические блокировки, а Oracle использует Оптимистические блокировки?


Пессимистическая блокировка и Оптимистическая блокировка
...

дааа...
Это вам не мельдоний - настоящая синтетика.
Какой кошмар.
...
Рейтинг: 0 / 0
14.08.2016, 14:49
    #39291585
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
VERSIONСправедливо ли утверждать для упрощения, что MS SQL (в блокировочных уровнях изоляции) использует Пессимистические блокировки, а Oracle использует Оптимистические блокировки?


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

Оптимистическая блокировка не ограничивает модификацию обрабатываемых данных сторонними сессиями, однако перед началом предполагаемой модификации запрашивает значение некоторого выделенного атрибута каждой из строк данных (обычно используется наименование VERSION и целочисленный тип с инициальным значением 0).
Оракл поддерживает средства для организации пессимистической блокировки: запросы на чтение с блокировкой. Оптимистическая предполагает запоминание на клиенте прочитанного и поверку перед сохранением не изменена ли уже запись: может тоже перед проверкой не было ли изменений и сохранением выполнить запрос с блокировкой, чтобы никто в это время не изменил.
...
Рейтинг: 0 / 0
14.08.2016, 14:54
    #39291586
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
vadiminfoОптимистическая предполагает запоминание на клиенте прочитанного и поверку перед
сохранением не изменена ли уже запись: может тоже перед проверкой не было ли изменений и
сохранением выполнить запрос с блокировкой, чтобы никто в это время не изменил.

Какая кривая и ненадёжная эмуляция SNAPSHOT транзакции...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.08.2016, 16:42
    #39291596
VERSION
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
MasterZivVERSIONСправедливо ли утверждать для упрощения, что MS SQL (в блокировочных уровнях изоляции) использует Пессимистические блокировки, а Oracle использует Оптимистические блокировки?


[

нет. оба пессимистические используют.
Даже на уровне изоляции транзакции Snapshot в MS SQL пессимистические используются?

https://msdn.microsoft.com/ru-ru/library/tcbchxcb(v=vs.110).aspx В подходе с изоляцией моментального снимка используется модель оптимистического параллелизма. Если транзакция моментального снимка попытается зафиксировать изменения в данных, произошедшие после начала транзакции, то будет произведен откат транзакции и возникнет ошибка.

https://msdn.microsoft.com/ru-ru/library/tcbchxcb(v=vs.110).aspx Транзакция работает с последними версиями строк , имеющими порядковый номер, предшествующий порядковому номеру транзакции. Более новые версии строк, созданные после начала транзакции, не учитываются.

По описанию очень близко к:
https://ru.wikipedia.org/wiki/Блокировка_(СУБД)#.D0.9F.D0.BE_.D0.BB.D0.BE.D0.B3.D0.B8.D0.BA.D0.B5_.D1.80.D0.B5.D0.B0.D0.BB.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D0.B8 Оптимистическая блокировка не ограничивает модификацию обрабатываемых данных сторонними сессиями, однако перед началом предполагаемой модификации запрашивает значение некоторого выделенного атрибута каждой из строк данных (обычно используется наименование VERSION и целочисленный тип с инициальным значением 0). Перед записью модификаций в базу данных перепроверяется значение выделенного атрибута, и если оно изменилось, то транзакция откатывается или применяются различные схемы разрешения коллизий.
...
Рейтинг: 0 / 0
14.08.2016, 16:58
    #39291603
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
Да бог с ним. Ну не видит человек разницы между сосиской и рулоном обоев, так в конце концов то и другое делается из бумаги. Пусть его.
...
Рейтинг: 0 / 0
14.08.2016, 17:22
    #39291611
VERSION
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
softwarerДа бог с ним. Ну не видит человек разницы между сосиской и рулоном обоев, так в конце концов то и другое делается из бумаги. Пусть его.
Увидел такую ошибку и решил тут узнать мнение у экспертов:
http://www.orafaq.com/papers/locking.pdf The Oracle database uses optimistic locking by default.
Отсюда: http://www.orafaq.com/wiki/Papers
...
Рейтинг: 0 / 0
14.08.2016, 19:20
    #39291645
VERSION
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
Leonid KudryavtsevОптимистичная / пессимистичная обычно относится к уровню _приложения_. Обзывать так блокировки накладываемые СУБД - как то странно. IMHO

https://en.wikipedia.org/wiki/Optimistic_locking
(Redirected from Optimistic locking)
https://en.wikipedia.org/wiki/Optimistic_concurrency_control Optimistic concurrency control (OCC) is a concurrency control method applied to transactional systems such as relational database management systems and software transactional memory.
https://en.wikipedia.org/wiki/Optimistic_concurrency_control Some database management systems offer OCC natively - without requiring special application code .
...
Рейтинг: 0 / 0
15.08.2016, 00:33
    #39291691
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
Dimitry SibiryakovvadiminfoОптимистическая предполагает запоминание на клиенте прочитанного и поверку перед
сохранением не изменена ли уже запись: может тоже перед проверкой не было ли изменений и
сохранением выполнить запрос с блокировкой, чтобы никто в это время не изменил.

Какая кривая и ненадёжная эмуляция SNAPSHOT транзакции...

Ну, возможно, это вообще в общем случае не эмуляция транзакций БД: так как после чтением записи из БД, и решением что-то изменить в ней допускается даже отключение приложения от БД при таком кривом подходе.
...
Рейтинг: 0 / 0
15.08.2016, 11:27
    #39291808
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
VERSION,

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

Что говорить об операциях чтения, то тут Oracle вообще не поддерживает полный набор блокировок по умолчанию. В нем можно установить только блокировку на модификацию (Ну и используя уникальный constraint на вставку) или пользовательскую блокировку.

Более того, поскольку блокировки хранятся вместе с данными, то и сначала заблокировать, а потом прочитать автоматом не получится (хотя в режиме serializable можно получить отлуп если не удалось).

Но если это очень нужно, то можно сделать это вручную через вспомогательные элементы (сторонние объекты и пользовательские блокировки).
...
Рейтинг: 0 / 0
30.05.2017, 16:01
    #39462459
оторвавшийся тромб
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
VERSION,

про блокировки -нет. А вот по самим СУБД -да, однозначно. Oracle оптимистичен
...
Рейтинг: 0 / 0
31.05.2017, 00:44
    #39462751
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
оторвавшийся тромб,

да тут весь топик - чушь какая-то. Люди ахинею пишут, не задумываясь.
...
Рейтинг: 0 / 0
31.05.2017, 01:51
    #39462763
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
kdv,

есть ощущение, что не все сообщения топика дожили до этого дня.
...
Рейтинг: 0 / 0
09.06.2017, 22:16
    #39469824
Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические?
kdvоторвавшийся тромб,

да тут весь топик - чушь какая-то. Люди ахинею пишут, не задумываясь.

15 лет назад на туже тему писали тоже самое )
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Справедливо утверждать, что в MSSQL пессимистические блокировки а Oracle оптимистические? / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]