Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
ASCRUSВ итоге например, после изменения записи PB генерит примерно такой запрос: У этого подхода также есть недостатки. Наиболее для меня неприятный - он плохо совместим с желанием чего-то нетривиального. Например, UpdateSQL в дельфе мне пришлось специально отучать от проверки на ROWCOUNT - поскольку как только я захотел менять больше чем одну таблицу, проверка стала возвращать "не то". Другой аспект - зависимости и траффик. Если тянуть на клиента все поля таблицы - получаем большой избыточный траффик. Если нужные - "прозеваем" изменение других полей, из-за чего может возникнуть рассогласование. Вариант наличия гигабайтных блобов тоже заслуживает внимания :) В целом - я не вижу, что же именно в этом "правильного". Особенно если вспомнить о классическом недостатке - aka "я сделал кучу работы, а теперь ее потеряю". ASCRUSподход более правильный, чем попытка какой либо блокировки записей при изменении их на клиенте, что изначально противоречит парадигмам разработки клиент-серверных приложений. Можно поподробнее - формулировку парадигмы и место противоречия? P.S. Имхо, клиент-серверная парадигма - частный случай общей ООП-парадигмы. Есть объекты (сервер и клиент), которые решают свои задачи и обмениваются сообщениями. Одно из таких сообщений - "дай для просмотра", другое - "дай для изменения". Никаких коллизий не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 14:25 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
2 softwarer поддерживаю. Вообще очень-очень плохо когда средства разработки влияют навязывают определенный подход к разработке пользовательского интерфейса. В идеале было бы неплохо если б сервер бд поддерживал и грязное чтение, и версионность одновременно. (в разных случаях разные подходы выигрывают) а в случае разработки клиентского приложения... я для себя так например давно определился - нет ничего лучше чем С++/Embedded SQL. Тем кто юзает MSSQL/Sybase этого просто не понять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 14:53 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
gardenman2 softwarer поддерживаю. Вообще очень-очень плохо когда средства разработки влияют навязывают определенный подход к разработке пользовательского интерфейса. В идеале было бы неплохо если б сервер бд поддерживал и грязное чтение, и версионность одновременно. (в разных случаях разные подходы выигрывают) а в случае разработки клиентского приложения... я для себя так например давно определился - нет ничего лучше чем С++/Embedded SQL. Тем кто юзает MSSQL/Sybase этого просто не понять. Нет, после PowerBuilder/DataWindow Expression/Embedded SQL однозначно не понять :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 16:20 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
2 ASCRUS Хорошая тема для флейма: С++ via PowerBuilder via Delphy ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 16:29 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
gardenman2 ASCRUS Хорошая тема для флейма: С++ via PowerBuilder via Delphy PowerBuilder строго заточен только под БД: создание клиентских интерфейсов и 3-х звенок, больше он ничего не умеет. Так что флеймить особо не о чем, тема получится из разряда, что лучше "Все в одном или строго ориентированно". Я например PB использую для создания интерфейсных мордочек, Delphi предпочитаю пользоваться для создания компонент/серверов/движков (вот только что закончил тестирование самописного COM-сервера на базе FastReport с его обвязкой для использования в PowerBuilder и вполне остался доволен связкой PB[ООП] + Delphi[COM]). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 16:36 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
ASCRUS Еще раз напомню что оптимистическую блокировка реализована далеко не только у Power Builder softwarer Чтобы не посылать туда-сюда все поля придуман timestamp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 16:49 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
2 ASCRUS Жаль что мы в разных городах, а то можно было бы посравнивать реализацию простеньких задач на PB и С++, по производительности и по удобству пользовательского интерфейса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 17:46 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
gardenman2 ASCRUS Жаль что мы в разных городах, а то можно было бы посравнивать реализацию простеньких задач на PB и С++, по производительности и по удобству пользовательского интерфейса... Ну удобство интерфейса зависит только от DirectHand.sys, а не от того, на чем сделано :) А производительность в мордочках для клиентов для меня вообще не знакомое понятие - чего там производить то ? :) В цикле миллион окошек виндоус открыть что ли ? Ну а если брать производительность работы с данными на 3-ем звене, так DataWindow Engine писался еще в те времена, когда РСУБД умели только хранить данные и вся тяжесть работы по их обработки частенько ложилась именно на PB. Так что здесь у них движок оптимизирован по самое не хочу, хотя я предпочитаю грязную и тяжелую работу отдавать на откуп РСУБД, используя PB только для просмотра и изменения данных. И даже если сравнивать трудозатраты на рисование интерфейса с нуля и с набором своих библиотек/классов/компонент, то окажется, что в последнем случае скорость создания прикладух на тех же Си, Delphi, Java и PowerBuilder фактически одинакова. Все поддерживают ООП, создание визуальных компонент, повторное наследование форм и т.д, простор автоматизации самого себя любимого крайне широк в них. Так что тут опять сравнивать нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 18:38 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
авторНу удобство интерфейса зависит только от DirectHand.sys, а не от того, на чем сделано :) А производительность в мордочках для клиентов для меня вообще не знакомое понятие - чего там производить то ? :) В цикле миллион окошек виндоус открыть что ли ? ASCRUS, раз пошла такая пьянка, может вы и мне DirectHand.sys вправите, а то вот ну никак не могу найти машину на которой не тормозит java swing ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 19:32 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
Yo! авторНу удобство интерфейса зависит только от DirectHand.sys, а не от того, на чем сделано :) А производительность в мордочках для клиентов для меня вообще не знакомое понятие - чего там производить то ? :) В цикле миллион окошек виндоус открыть что ли ? ASCRUS, раз пошла такая пьянка, может вы и мне DirectHand.sys вправите, а то вот ну никак не могу найти машину на которой не тормозит java swing ;) Ну Вы же Ораклист, должны знать, что проблемы производительности мощных систем элементарно решаются путем наращивания аппаратных ресурсов ;) Ну а если серьезно, то я считаю что DirectHands.sys нужно править тем, кто пытается на Java GUI рисовать без достаточного на то основания. Например, Sybase ASA начинает крутить небольшие БД уже с 2 метров выделенной памяти. А вот ее универсальная консоль управления с поддержкой плагинов Sybase Central (аналог MMC) красивая и удобная написана на Java и если на машине меньше 128 метров, то можно часто и долго любоваться работой сборщика мусора. Вот такой вот парадокс :) Я конечно понимаю, что кроссплатформенной СУБД нужны кроссплатформенные визуальные утилиты, однако мне почему то кажется, что разрабатывать и админить БД/СУБД народ предпочитает с Windows, вне зависимости от того, на чем сейчас СУБД крутиться. Для таких вещей конечно C++ был бы гораздо предпочительнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 22:56 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
авторНу Вы же Ораклист, должны знать, что проблемы производительности мощных систем элементарно решаются путем наращивания аппаратных ресурсов ;) это не про свинг :) а central который я видел для 12-го ase был на awt, т.е. есть куда рости :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 23:39 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
- доктор, меня все игнорируют - следующий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 10:58 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
funikovyuri softwarer Чтобы не посылать туда-сюда все поля придуман timestamp Я согласен с тем, что это лучше нежели "реализованное в PowerBuilder-е". У timestamp остается неприятная деталь - необходимость всюду совать техническое поле. Более существенно - не представляю, как я объяснял бы пользователю, что произошел конфликт и работу за последние полчаса он должен выкинуть в помойку, поскольку сохранить ее программа не даст. Имхо - этот подход необходимо сочетать с reconsile. Но это уже несколько другой класс решений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 12:05 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
Sergey_SK MasterZiv Я полагаю, что это - именно то, что тебе ( и большинству других) АБСОЛЮТНО НЕ НУЖНО. Это вообще никому не нужно. to MasterZiv ваши предложения? Не быть слишком умным и не придумывать всякую ерунду. В 90% реальных задач блокирование документа на время его "рассмотрения" пользователем не нужно. Некорректность сохранения пользователем документа (строки(-ок) таблиц) поверх ранее произведенного изменения в том виде, в котором он его прочитал и уведел (и, видимо, посчитал правильным) - весьма спорна. Так что не фиг создавать себе кучу проблем на ровном месте. А если это реально нужно - реализация внетранзакционных блокирово уровня приложения достаточно проста и прозрачна, чтобы ее обсуждать. Варианты какжется предлагались, если нет - в сети их описано достаточно много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 13:58 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
MasterZivНекорректность сохранения пользователем документа (строки(-ок) таблиц) поверх ранее произведенного изменения в том виде, в котором он его прочитал и уведел (и, видимо, посчитал правильным) - весьма спорна. Хм. Бухгалтер проставил документу признак "оплачен". В это же время продавец, кладовщик или еще кто-нибудь, пыхтя, заносит в поле "комментарий" жутко полезную информацию, типа "не забыть на завтра выписать пропуск". Клиент, приехавший завтра на грузовике, с интересом узнает, что его счет не оплачен (и отгрузки не будет) из-за спорной некорректности того, что не нужно в 90% случаев. Видимо, он очень рад и проникается ощущением истинной мудрости гуру от программирования. Занавес. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 14:05 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
логическая блокировка и таких проблем не будет. действительно, не нужно делать проблему на пустом месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 14:21 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
Old Nickлогическая блокировка и таких проблем не будет. Если блокировку все равно надо делать - физическая удобнее. Потому как во-первых удобнее использовать, а во-вторых не будет проблем с теми, кто не знает о существовании логической блокировки. Вопрос, конечно, в реализации этой физической блокировки. Как уже сказал Вадим - если реализовано плохо, приходится придумывать собственный PMON. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 14:33 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
интересно, а в какой ситуации кто-то может не знать о логической блокировке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 15:45 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
>Если блокировку все равно надо делать - физическая удобнее. Потому как во-первых удобнее использовать, а во-вторых не будет проблем с теми, кто не знает о существовании логической блокировки. но зато нет проблем с web/wap клиентами у которых на каждый чих новая сесия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 15:48 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
Old Nickинтересно, а в какой ситуации кто-то может не знать о логической блокировке? О логической блокировке знают только те, кому о ней сказали. Соответственно, можно быть 100% уверенным, что о ней кто-то не знает. Соответственно, надежна она только если доступ к данным перекрыт и абстрагирован - например, appserver-ом. В этом случае проблемой остается только ситуация "нашему специалисту надо поправить в вашей базе..." Yo!но зато нет проблем с web/wap клиентами у которых на каждый чих новая сесия Средство героической борьбы с собственноручно созданными трудностями? Безусловно, в таких условиях строчные блокировки неудачны. Правда, лично мне в таких условиях сразу захотелось бы сделать appserver или еще что-нибудь, что позволит избежать такого идиотизма, как ежесекундные реконнекты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 17:14 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
softwarer реконектов не будет - будет возвращение соединения в пул ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 17:23 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
funikovyuriреконектов не будет - будет возвращение соединения в пул Зависит от. Для этого необходим хотя бы минимальный промежуточный слой - возможно, присутствующий по умолчанию, но тем не менее. Но в целом - наличие пула соединений безусловно вынудит придумывать собственные блокировки - пока что, насколько я в курсе, сервера БД не имеют достаточной поддержки для этого режима. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 17:40 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
softwarer в том-то и дело! СУБД имеют только один вариант реализации транзакций - он хорошо развит и применим во многих случаях. НО транзакции - это просто требования к работе. И реализовывать их можно по-разному - к сожалению руками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 17:56 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
funikovyuri softwarer в том-то и дело!..... Я бы сказал несколько иначе. Механизм транзакций - как он реализован - покрывает все мыслимые потребности. По крайней мере, никто пока что не называл мне ситуции, где мне не хватило бы стандартных транзакционных возможностей. Текущий недостаток БД - неумение держать маленький и эффективный контекст транзакции и переключаться между ними внутри сессии; если угодно - реализации пула на уровне сервера БД. Oracle делает такую попытку (MTS), но, насколько я понимаю, это не то чтобы принципиальный прорыв, поскольку сохраняемый контекст оказывается вовсе не "маленьким и эффективным". Поэтому пул - а значит и все задетые им механизмы - и выезжают из сервера туда, где им вряд ли лучшее место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 18:51 |
|
||
|
Долгие транзакции - Короткие транзакции
|
|||
|---|---|---|---|
|
#18+
softwarer Я согласен! Но, хотя я и не хочу сейчас говорить формально, текущая реализация транзакций в РСУБД оптимизирована для какой-то одной стратегии. Обычно это пессимистическое блокирование всех используемых ресурсов в зависимости от уровня изоляции. Такой сценарий наиболее востребован, хотя и не всегда. Вариант с долгими транзакциями - это один из таких случаев. Второй - это отсоединенная обработка (то для чего вы предлагаете использовать контексты). Можно все это по-разному называть, но, imho, в этой области еще много чего стоит сделать, как с теоретической, так и практической точек зрения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 19:13 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32963979&tid=1545980]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
3ms |
| others: | 222ms |
| total: | 368ms |

| 0 / 0 |
