Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
funikovyuriтекущая реализация транзакций в РСУБД оптимизирована для какой-то одной стратегии. Обычно это пессимистическое блокирование всех используемых ресурсов в зависимости от уровня изоляции. Вот это я не совсем понял. Оптимистическая блокировка в транзакциях реализуется ничуть не хуже пессимистической - разве что нет готовой поддержки. Версионники, конечно, могли бы дать здесь инструмент контроля изменений, более удобный чем ручной timestamp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 19:33 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
Оптимистическая блокировка в транзакциях реализуется ничуть не хуже пессимистической Самим ядром СУБД она никак не реализуется. Т.е. это вне его компетенции. А timestamp - это уход от философии разделения внутреннего и внешнего представления данных. Т.е. это зависимость от данных! Вот примерно о чем я говорю Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 19:38 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
2 MasterZiv: авторА если это реально нужно - реализация внетранзакционных блокирово уровня приложения достаточно проста и прозрачна, чтобы ее обсуждать. Варианты какжется предлагались, если нет - в сети их описано достаточно много. А можно хотя бы пару ссылок на реализацию "внетранзакционных блокировок уровня" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 06:26 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
funikovyuriОптимистическая блокировка в транзакциях реализуется ничуть не хуже пессимистической Самим ядром СУБД она никак не реализуется. В ней по большому счету нечему реализоваться ядром СУБД. Для этого надо пойти в сторону Access, PowerBuilder или других средств автогенерации SQL-я. Грубо говоря, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Единственное, что могла бы база - заменить последнее на что-нибудь типа Код: plaintext 1. 2. Было бы удобно, не спорю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 12:18 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
PB генерит запрос только на изменившиеся записи/поля, поэтому если я у 2 записей изменил 2 разных поля, то для каждой записи будет соотвествующий UPDATE только на изменившиеся поля, а в WHERE помимо ID будут поставлены на сравнение со старыми значениями эти поля или все, которые я явно указал для DataWindow. Вообще в PB на DataWindow достаточно много настроек модели поведения сохранения информации в БД, вплоть до изменения ключевого поля. Если же ничего из предложенных вариантов не устраивает, PB всегда можно попросить проводить изменения через собственные ХП. По моему тут достаточно простора для потребностей и фантазии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 18:35 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
ASCRUS угу - только в where все равно будут ВСЕ поля... Иначе никакого смысла в этом нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 18:49 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
funikovyuri ASCRUS угу - только в where все равно будут ВСЕ поля... Иначе никакого смысла в этом нет В WHERE будет в зависимости от выбранной опции: Key columns Key and Updateable columns Key and Modified columns Нужные поля можно ручками включить в список "Updateable columns" для соотвествующе выбранного режима. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 18:58 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
ну 1 - это понятно, 2 - о чем я и говорю, 3 - вот его практическое назначение для меня загадка :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 19:06 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
ASCRUSPB генерит запрос только на изменившиеся записи/поля, поэтому если я у 2 записей изменил 2 разных поля, то для каждой записи будет соотвествующий UPDATE только на изменившиеся поля, а в WHERE помимо ID будут поставлены на сравнение со старыми значениями эти поля Это замечательный путь к рассогласованию данных внутри одной записи. ASCRUSили все, которые я явно указал для DataWindow. А к этому относятся те минусы, о которых я говорил. ASCRUSВообще в PB на DataWindow достаточно много настроек модели поведения сохранения информации в БД, вплоть до изменения ключевого поля. Хм. Это по-моему, рядовое требование. ASCRUS Если же ничего из предложенных вариантов не устраивает, PB всегда можно попросить проводить изменения через собственные ХП. По моему тут достаточно простора для потребностей и фантазии. Хм. Речь, кажется, идет не о преимуществах использования PB :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 12:10 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
funikovyuri3 - вот его практическое назначение для меня загадка :) 3 - это путь "минимальной блокировки" в абсолютно нормализованной базе. В этом случае максимальна вероятность итогового успеха, поскольку две сессии могут в параллель редактировать разные поля записи. Цена этого - очень строгие требования к независимости данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 12:15 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
блин....сколько слов вокруг сто раз пережёванной темы ! Притом, что это далеко не первый флейм про блокировку документов. Делайте самодельную блокировку и Вы сможете : * увидеть, кто и когда занял документ; * увидеть с какой машины занят документ; * каким именно действием занят документ; * блокировку на определённые действия и на длительное время; * ещё многое другое, что Вам придёт в голову :) На уровне серверных блокировок всё перечисленное выполнить невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 11:46 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
LSVДелайте самодельную блокировку и Вы сможете : * увидеть, кто и когда занял документ; * увидеть с какой машины занят документ; * каким именно действием занят документ; ... На уровне серверных блокировок всё перечисленное выполнить невозможно. Возможно, возможно. По крайней мере для MSSQL. Хотя и не сказать, чтобы просто. Вообще же, MasterZiv отчасти прав в том, что использование любого механизма блокировок в ИС - хоть самодельных, хоть серверных - надо начинать с тщательной минимизации возможности возникновения таких блокировок. Т.е., часто полностью избежать их нельзя, но значительно уменьшить кол-во можно. Например, в примере предложенном softwarer, для примечания вряд ли обязательно блокировать документ. Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 13:27 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32969122&tid=1545980]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 432ms |

| 0 / 0 |
