powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / оптимистическая и пессимистическая конкуренция
33 сообщений из 33, показаны все 2 страниц
оптимистическая и пессимистическая конкуренция
    #32779744
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотелось бы узнать, как можно реализовать оптимистическую и пессимистическую конкуренцию для учетных систем
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32779826
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, value!
Ты пишешь:

value v> хотелось бы узнать, как можно реализовать оптимистическую
v> и пессимистическую конкуренцию для учетных систем
Сервер какой?

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32779841
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сервер MSSQL2000, архитектура - обычный клиент-сервер. А тип сервера влияет на способ реализации? Разве нет каких-нибудь общих принципов?
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32779909
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может быть мой вопрос глупый, но должна же как то обрабатываться ситуация, когда во время редактирования документа одним пользователем, другой пользователь этот же документ пытается удалить?
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32779939
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА тип сервера влияет на способ реализации?
Конечно. Механизмы разные.
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32779988
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок. как реализовать для приведенной выше конфигурации? Я планировал добавить в таблицы документов поле lock, и при открытии документа для редактирования выставлять его true, после закрытия false. Но есть проблема - если во время редактирования будет потеряно соединение, или приложение завершиться аварийно то документ так и останется заблокированным.
Если знаете механизмы для различных типов серверов, то опишите pls.
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780036
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пессимистическая блокировка для Firebird 1.5.x
Код: plaintext
1.
2.
3.
4.
SELECT ... FROM <sometable>
[WHERE ...]
[FOR UPDATE [OF ...]]
[WITH LOCK]
...;

для mssql не знаю...
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780057
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. А не могли бы Вы немного пояснить:
[FOR UPDATE [OF ...]]
[WITH LOCK]
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780088
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT * FROM ORDERS WHERE ID_ORDER = :PID_ORDER FOR UPDATE WITH LOCK
- при обращении другой транзакции будет lock conflict
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780118
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
то есть данная запись блокируется на время выполнения данной транзакции? Я правильно понял?
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780139
chad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если в поле lock писать не false true а идентификатор коннекта, а при дисконнекте (аврийном, штатном ) очищать это поле?
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780156
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для MS SQL есть sp_getapplock/sp_releaseapplock.
а поиск по форму "SQL Server" даст еще систему блокирования документов.


Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780157
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valueто есть данная запись блокируется на время выполнения данной транзакции? Я правильно понял?Да
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780177
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОК. Такой вариант был бы оптимальным. А mssql позволяет обрабатывать события открытия соединения, закрытия соединения?
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780252
chad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Про mssql не знаю.В SYBASE ASA есть такие события. Можети в mssql есть.
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780291
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to chad: понял, спасибо.

Насколько я понимаю, реализация механизма конкуренций при архитектуре клиент-сервер, без привязки к специфичеиким возможностям конкретного сервера невозможна?
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780298
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valueНасколько я понимаю, реализация механизма конкуренций при архитектуре клиент-сервер, без привязки к специфичеиким возможностям конкретного сервера невозможна?
Пожалуй это не относится к оптимистической блокировке, только к писсимистической.
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780301
chad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну на случай аварийного отключения можно сделать кнопку принудительного сброса блокировок.Или в клиенте при входе проверять не осталось ли блокировок от пользователя и их удалять.
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780340
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chadНу на случай аварийного отключения можно сделать кнопку принудительного сброса блокировок.Или в клиенте при входе проверять не осталось ли блокировок от пользователя и их удалять.

Это вариант, но если например у одного из пользователей во время редактирования документа выходит из строя рабочая станция, то он должен бежать к соседней и запускать клиент под своим аккаунтом, заказчик смысл таких действий не поймет, да и ближайший компьютер может находится далеко. А разблокировать все документы сразу, по моему не очень корректно будет.
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780354
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dik76Пожалуй это не относится к оптимистической блокировке, только к писсимистической.
А можно поподробнее про оптимистическу блокировку?
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780366
chad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мои предложения это всего лишь наметки пути.После сборки обработать напильником, надфилем, шлиф бумагой.
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780395
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
value Dik76Пожалуй это не относится к оптимистической блокировке, только к писсимистической.
А можно поподробнее про оптимистическу блокировку?
Тынц тебе. А вообще поиск рулит
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780419
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
понял, возможно два варианта: либо использовать средства сервера, либо приведенный в статье способ, но с недостатком: "... минус тут один: запись может висеть в заблокированном состоянии сколько угодно, поэтому желательно наличие какого-нибудь администратора, который может принудительно разблокировать любую запись."
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780575
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
value
Может быть мой вопрос глупый, но должна же как то обрабатываться ситуация, когда во время редактирования документа одним пользователем, другой пользователь этот же документ пытается удалить?


Хочу дать совет : не будь слишком умным и ... просто не думай об этом до тек пор , пока это действительно не понадобиться. Мне за лет 7 работы с СУБД ни разу не понадобилось. Конфликты подобного рода _реально_ очень редки.
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780580
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
value
хотелось бы узнать, как можно реализовать оптимистическую и пессимистическую конкуренцию для учетных систем


Пессимистическая тебе не грозит, если у тебя MSSQL - база раком встанет от длинных транзакций. Остается либо оптимистическая вообще ( т.е. вообще не пытаться обнаружить конфликты), либо оптимистическая с обнаружением конфликтов по
полю TIMESTAMP

всем (изменяемым или вообще всем) полям записи.

Конкретно как это реализуется надо писать, или знаешь ?
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780587
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dik76
А можно поподробнее про оптимистическу блокировку?
Тынц тебе.
[/quot]

Про ТЫНЦ могу сказать следующее :
Статья ориентирована на Interbasе (или написана интербейзовцем), а это - худшее, что можно предложить товарищу, который собирается работать на MSSQL.

Тема про оптимистическую блокировку не раскрыта. Там блокировки уровня приложения (если их можно так называть, достаточно многие специалисты так говорят).
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32780643
chad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv

Хочу дать совет : не будь слишком умным и ... просто не думай об этом до тек пор , пока это действительно не понадобиться. Мне за лет 7 работы с СУБД ни разу не понадобилось. Конфликты подобного рода _реально_ очень редки.
Тебе просто повезло.
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32783652
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chad MasterZiv

Хочу дать совет : не будь слишком умным и ... просто не думай об этом до тек пор , пока это действительно не понадобиться. Мне за лет 7 работы с СУБД ни разу не понадобилось. Конфликты подобного рода _реально_ очень редки.
Тебе просто повезло.

Нет Эта тибе НЕ ПАВИЗЛО.
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32783700
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv Dik76
А можно поподробнее про оптимистическу блокировку?
Тынц тебе.

Про ТЫНЦ могу сказать следующее :
Статья ориентирована на Interbasе (или написана интербейзовцем), а это - худшее, что можно предложить товарищу, который собирается работать на MSSQL.

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

Ок, с критикой согласен (опыта с MSSQL нет). Но кроме критики, вашего тынца я не вижу.
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32784637
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Пессимистическая тебе не грозит, если у тебя MSSQL - база раком встанет от длинных транзакций. Остается либо оптимистическая вообще ( т.е. вообще не пытаться обнаружить конфликты), либо оптимистическая с обнаружением конфликтов по
полю TIMESTAMP

всем (изменяемым или вообще всем) полям записи.

Конкретно как это реализуется надо писать, или знаешь ?


Реализацию хотелось бы увидеть, если не сложно...

Зы, а почему пессимистическая блокировка под MSSQL подразумевает длинные транзакции, соответствующую позу базы?

По поводу, того что данные конфликты _реально_ редки - скорей всего это так, но это не означает что их не бывает вообще, все зависит от специфики работы предприятия. А если следовать "правилам хорошего тона", то обработку подобных конфликтов в учетной системе реализовывать, по моему, нужно. По крайней мере во многих (если не во всех) коммерческих системах это реализовано.
Я вообще хотел узнать общие принципы, без привязки к средствам сервера, но по всей видимости, таковых нету.

Спасибо за хороший совет не быть слишком умным :) таковым себя и не считаю
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32784943
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одним из наилучших способов разрешения подобных конфликтов являются меры, направленные на их избегание. Т.е., необходимо рассмотреть саму суть возможного конфликта - почему один пользователь пытается удалить документ, в то время как др. его редактирует. Как правило, такая ситуация ненормальна и в реальном мире. В базе их стараются избегать разграничением по правам и назначением ответисполнителей для документов (по клиентам, типам или др. признакам).
Для разрешения же конкретной ситуации в MSSQL2k в принципе можно использовать sp_getapplock/sp_releaseapplock



Nobody faults but mine... (LZ)
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32809187
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой. блин, забыл же написать про реализацию. Напишу , если опять не забуду
...
Рейтинг: 0 / 0
оптимистическая и пессимистическая конкуренция
    #32809744
value
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv Да уж, буду очень благодарен
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / оптимистическая и пессимистическая конкуренция
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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