Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 callback в бесплатных СУБД  [new]
Алексей В.
Member

Откуда:
Сообщений: 240
возник такой вопрос. Какие есть возможности для получения функции callback в субд типа postgresql или mysql? Есть ли там чтото такое? в firebird вроде как есть :)

Заранее спасибо.
30 янв 08, 21:26    [5224173]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
Алексей В.
Member

Откуда:
Сообщений: 240
для postgresql нашел listen
а для mysql пока глухо.
30 янв 08, 21:47    [5224208]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Алексей В. пишет:
> возник такой вопрос. Какие есть возможности для получения функции
> callback в субд типа postgresql или mysql? Есть ли там чтото такое? в
> firebird вроде как есть :)

Обычно такое в СУБД не делают - это не их дело.
Так что это скорее исключение.

Posted via ActualForum NNTP Server 1.4

31 янв 08, 09:40    [5224779]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
905
Member

Откуда:
Сообщений: 159
пусть к базе подключены 10 клиентов
1 изменил данные в одной из таблиц
как уведомить остальных 9, что есть новые данные? (если без механизма типа callback, listen)
31 янв 08, 12:22    [5226280]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54769

По телефону. 8 из 9 пошлют нах ибо эти изменения им никуда не стучат и
будут правы.

Posted via ActualForum NNTP Server 1.4

31 янв 08, 12:27    [5226318]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
MasterZiv

Обычно такое в СУБД не делают - это не их дело.

Платная СУБД Оракл такое делает: фичи - это ее дело.
31 янв 08, 21:21    [5229794]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
Сахават Юсифов
Member

Откуда: Орел
Сообщений: 3992
Dimitry Sibiryakov

По телефону. 8 из 9 пошлют нах ибо эти изменения им никуда не стучат и
будут правы.
Posted via ActualForum NNTP Server 1.4

Пусть пошлет тем, кто подписался.
31 янв 08, 21:42    [5229825]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
905
Member

Откуда:
Сообщений: 159
Dimitry Sibiryakov

По телефону. 8 из 9 пошлют нах ибо эти изменения им никуда не стучат и
будут правы.


ну да вместо простейшей и удобной функции лучше приделать костыль и быть правым (ведь с костлями многие ходят и ничего)
как пример нужности listen - есть "писатели", которые создают некий "заказ", а есть читатели, которые этот заказ далее ведут
31 янв 08, 23:03    [5229969]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
Алексей В.
Member

Откуда:
Сообщений: 240
2_905
полностью согласен. один клиент изменил таблицу ассортимента. как получить остальным клиентам что добавился новый ассортимент?
31 янв 08, 23:50    [5230036]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
Алексей В.
один клиент изменил таблицу ассортимента. как получить остальным клиентам что добавился новый ассортимент?

а нажать F5 им впадлу, что-ли? :-)
1 фев 08, 09:26    [5230538]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
Сахават Юсифов
Member

Откуда: Орел
Сообщений: 3992
dimitr
Алексей В.
один клиент изменил таблицу ассортимента. как получить остальным клиентам что добавился новый ассортимент?

а нажать F5 им впадлу, что-ли? :-)

А некому.
1 фев 08, 11:22    [5231351]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
pavelvp
Member

Откуда:
Сообщений: 673
В ЛИНТЕР есть такая возможность, но за деньги.
1 фев 08, 11:54    [5231641]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Сахават Юсифов
dimitr
Алексей В.
один клиент изменил таблицу ассортимента. как получить остальным клиентам что добавился новый ассортимент?

а нажать F5 им впадлу, что-ли? :-)

А некому.

Или в силу того, что он начальник не положено. А своевремнно узнать что такое случилось надо. При этом не желательно, чтобы прога начальника вообще была в сессии: мало ли када это случится. Да и вообще случится в Забайкайле, а у начальника прога замигала в Москве.
1 фев 08, 13:15    [5232311]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10528
Алексей В.
2_905
полностью согласен. один клиент изменил таблицу ассортимента. как получить остальным клиентам что добавился новый ассортимент?

А не случится ли так что постоянное изменение ассортимента другими пользователями будет мешать работать другим, т.к. их отображение справочника ассортимента будет постоянно обновляться, как и положенно с перезаполнение дрида и мигаием с зависанием и никто работать толком не сможет.
2 фев 08, 00:32    [5235815]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
905
Member

Откуда:
Сообщений: 159
barrabas

А не случится ли так что постоянное изменение ассортимента другими пользователями будет мешать работать другим, т.к. их отображение справочника ассортимента будет постоянно обновляться, как и положенно с перезаполнение дрида и мигаием с зависанием и никто работать толком не сможет.


механизм listen\notify говорит о том что произошло событие на сервере, например есть данные в таблице
разработчик клиента обязан это корректно обработать
можно конечно и перезапросить, а затем перерисовать весь(!) грид с "миганием", а можно подумать и сделать удобно для пользователя
2 фев 08, 00:56    [5235831]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10528
905
barrabas

А не случится ли так что постоянное изменение ассортимента другими пользователями будет мешать работать другим, т.к. их отображение справочника ассортимента будет постоянно обновляться, как и положенно с перезаполнение дрида и мигаием с зависанием и никто работать толком не сможет.


механизм listen\notify говорит о том что произошло событие на сервере, например есть данные в таблице
разработчик клиента обязан это корректно обработать
можно конечно и перезапросить, а затем перерисовать весь(!) грид с "миганием", а можно подумать и сделать удобно для пользователя

я знаю что это такое
просто те примеры которые приводились в пользу калбека мне показались странными, еще понимаю начальнику сообщение выводить при неразумном поведении манагера, но обновлаять наменклатуруру както не спортивно
3 фев 08, 02:05    [5237211]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
Алексей В.
Member

Откуда:
Сообщений: 240
согласен что пример был не фонтан :)
задачу надо решить такую - один оператор вводит заказ, второй оператор должен без телодвижений со своей стороны этот заказ увидеть, обработать и передать третьему.

Таких цепочек может быть много, и постоянными рефрешами я могу перегрузить как сеть так и сервер СУБД чего не хотелось бы. А так, поставил триггер на добавление нового и на модификацию, в триггере разослал уведомления, клиенты обновились. Дешево и вкусно :) не надо грузить сервер постоянными запросами вне зависимости от интенсивности работы.
3 фев 08, 10:29    [5237310]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
Изопропил
Member

Откуда:
Сообщений: 31627
Что-то мне сдаётся, что и этот пример неудачный.

Очередь сообщений, мне кажется, для решения подобных задач больше подходит.
3 фев 08, 12:33    [5237442]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
Ага. Сервер приложений J2EE/Corba/другое или MQ система должны эти заниматься а никак не СУБД.
3 фев 08, 13:37    [5237542]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
Алексей В.
Member

Откуда:
Сообщений: 240
в проекте нет клиент сервера, применяется просто толстый клиент работающий с СУБД. при логине указывается какими задачами он занимается, каждый клиент не знает о соседях ничего. в единицу времени могут быть загружены как все типы клиентов (операторов) так и только некоторые из них. проект старый. сейчас проводится модификация и рефакторинг кода. разработку сервера приложений и тонких клиентов признали нецелесообразным.
3 фев 08, 14:04    [5237604]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
Yo.!
Guest
Ggg_old
Ага. Сервер приложений J2EE/Corba/другое или MQ система должны эти заниматься а никак не СУБД.

глупости ...
3 фев 08, 14:08    [5237610]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67415
Блог
Алексей В.
Таких цепочек может быть много, и постоянными рефрешами я могу перегрузить как сеть так и сервер СУБД чего не хотелось бы. .... не надо грузить сервер постоянными запросами вне зависимости от интенсивности работы.

Я бы посоветовал обратить внимание на техническую реализацию. А то выглядеть-то процесс может как callback, а в реальности оказаться тем же самым постоянным рефрешем (что в чем-то разумно - долбеж с сервера на клиента дело такое, неудобное, скажем легко зарубающееся настройками безопасности).
3 фев 08, 14:12    [5237617]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67415
Блог
Ggg_old
Ага. Сервер приложений J2EE/Corba/другое или MQ система должны эти заниматься а никак не СУБД.

О, вот и начитанные подоспели.

Постарайтесь осознать один простой факт: сервера приложений появились и остаются только как прокладка, позволяющая временно компенсировать отсутствие некоторой функциональности в некоторых недоразвитых СУБД. СУБД, однако, развиваются, знания "это задача не для СУБД" стремительно устаревают, задач "для AS" становится все меньше. Вот и в данном топике речь идет о бесплатных СУБД, по той простой причине, что в платных это давно есть, и совать для решения этой задачи AS можно только от общей неграмотности.
3 фев 08, 14:17    [5237625]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

softwarer пишет:
> устаревают, задач "для AS" становится все меньше. Вот и в данном топике
> речь идет о бесплатных СУБД, по той простой причине, что в платных это
> давно есть, и совать для решения этой задачи AS можно только от общей
> неграмотности.

Далеко не во всех платных СУБД это есть. И далеко не всем приложениям это надо.
А я могу рассказать, как это реализуется.
Внутри сервера есть некие объекты синхронизации, сходные с Event-ами
традиционного многопоточного программирования.
Клиент создает два соединения с сервером. В одном работает нормально.
В другом вызывает ожидание какого-то события (при этов в СУБД есть спец.
средства по определению, ожиданию и возбуждению событий).
Реально при ожидании это соединение зависает до момента сигнализации
события внутри сервера. Потом отвисает - и вот оно, пойманное событие.

Такое можно сделать даже самому, вляпать например в MySQL как внешние
функции. Только надо о тайм-аутах соединения подумать как-то.

Posted via ActualForum NNTP Server 1.4

3 фев 08, 15:20    [5237718]     Ответить | Цитировать Сообщить модератору
 Re: callback в бесплатных СУБД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67415
Блог
MasterZiv
Далеко не во всех платных СУБД это есть. И далеко не всем приложениям это надо.

Безусловно, не во всех. "Все" сейчас вряд ли кто сумеет хотя бы по памяти назвать, не говоря уже "утверждать, что внутри". Однако, для платной СУБД это на сегодня уже норма, ожидаемое по умолчанию. Скоро станет нормой и для бесплатных - как стали таковой ХП и триггера. Не всем надо - опять же согласен.

MasterZiv
А я могу рассказать, как это реализуется.

Это к сожалению рассказ не о том, как реализуется, а о том, как пользоваться. Самый интересный момент у Вас скрыт за "это соединение зависает ... Потом отвисает". Лично я не особо удивлюсь, если где-то это зависание реализовано как эффективный цикл с опросом "пока не наступило событие" (то есть в целом эквивалентно sql-запросу к табличке "случившихся событий").

MasterZiv
Такое можно сделать даже самому

Конечно.
3 фев 08, 15:48    [5237756]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить