Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / оптимистическая и пессимистическая конкуренция / 25 сообщений из 33, страница 1 из 2
12.11.2004, 14:24
    #32779744
value
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимистическая и пессимистическая конкуренция
хотелось бы узнать, как можно реализовать оптимистическую и пессимистическую конкуренцию для учетных систем
...
Рейтинг: 0 / 0
12.11.2004, 14:44
    #32779826
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимистическая и пессимистическая конкуренция
Привет, value!
Ты пишешь:

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

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

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

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


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

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

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


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


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

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

Конкретно как это реализуется надо писать, или знаешь ?
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / оптимистическая и пессимистическая конкуренция / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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