Re[4]: Как реализовано динамическое обновление данных в прил
От: KGP http://kornilow.newmail.ru
Дата: 17.07.03 12:23
Оценка:
Здравствуйте, LG, Вы писали:

M>>На самом деле вариантов всего два:

M>>1. Если приложение чистый клиент-сервер, то периодический опос базы на предмет изменений.

опрос-опросу рознь ...

например, если надо узнать об изменениях 1-й записи, то можно timestamp использовать ...
считал, запомнил timestamp ...прошло время... запросил только timestamp — если изменился, то перечитал данные.
Но если у тебя прога и для mdb и для MS SQL Server, то использовать timestamp уже ...
Re[7]: Как реализовано динамическое обновление данных в прил
От: Merle Австрия http://rsdn.ru
Дата: 17.07.03 12:39
Оценка: +1
Здравствуйте, KGP, Вы писали:


KGP>MS SQL Server, поддерживая тип поля timestamp, даёт пользователю возможность узнать изменял ли кто запись за время 'от чтения этого поля записи ранне до текущего чтения'.

KGP>Это не контроль целостности и не прямое оповещение, а контроль за изменениями записи, а точнее обновление поля при любом изменении записи.
KGP>И за этим следит СЕРВЕР (можно и в триггере на UPDATE повесить свою реализацию ~timestamp, но всё равно это работа СЕРВЕРА, а не среднего звена в данном случае.
KGP>При репликациях это необходимая работа.
Не, ты точно чего-то путаешь...
timestamp — это совершенно другой механизм, который к внешним приложениям имеет очень мало отношения, а уж к данной теме вообще никаким боком.
Когда timestamp на сервере меняется, сервер не бегает за всеми клиентами и не кричит "Мужики, у меня данные поменялись, обновляйтесь по бырому!".
Просто у клиента есть возможность определить самому менялись ли данные, а сервер просто их меняет, ну до кучи еще увеличивает timestamp никому об этом не говоря, а если вдруг какому-то клиенту стало интересно, то пусть сам придет и проверит, поменялись данные или нет.

А здесь обсуждается как сделать и надо ли делать так, чтобы сервер сам извещал клиентов о том, что данные поменялись.
Возможно я немного не ясно излагаю свои соображения, но это казалось мне очевидным.
Мы уже победили, просто это еще не так заметно...
Re[8]: Как реализовано динамическое обновление данных в прил
От: Vitaton Россия  
Дата: 17.07.03 12:48
Оценка:
Здравствуйте, Merle, Вы писали:

Вы очень категоричны в своих суждениях.
Например, в SQL Server есть механизм алертов, при помощи которого именно СЕРВЕР, сообщает(нотифицирует) клиентов.
И в принцепе, дело ли сревера или нет нотифицировать клиентов о чем бы то ни было, это зависит от конкретной задачи.
Useless lamer
Re[9]: Как реализовано динамическое обновление данных в прил
От: Merle Австрия http://rsdn.ru
Дата: 17.07.03 13:14
Оценка: +1
Здравствуйте, Vitaton, Вы писали:

V>Вы очень категоричны в своих суждениях.

Возможно.. Жизнь такая..
Просто я уверен в свой правоте, а уважаемый KGP, видимо немного не до понял сути обсуждения, вероятно, в том числе и по моей вине, из-за невольно дупущеной неточности в формулировках.

V>Например, в SQL Server есть механизм алертов, при помощи которого именно СЕРВЕР, сообщает(нотифицирует) клиентов.

Я упоминал о нем в одном из постингов в этой ветке. Это отдельный, самостоятельный сервис. Сейчас уже не помню, возможно он использует механзм репликации сиквела для генерации событий, но сути это не меняет.


V>И в принцепе, дело ли сревера или нет нотифицировать клиентов о чем бы то ни было, это зависит от конкретной задачи.

Безусловно зависит, но как я уже говорил в подавляющем большинстве случаев это worst practice.
Мы уже победили, просто это еще не так заметно...
Re[8]: Как реализовано динамическое обновление данных в прил
От: KGP http://kornilow.newmail.ru
Дата: 18.07.03 05:52
Оценка:
Здравствуйте, Merle, Вы писали:
KGP>>MS SQL Server, поддерживая тип поля timestamp, даёт пользователю возможность узнать изменял ли кто запись за время 'от чтения этого поля записи ранне до текущего чтения'.
KGP>>Это не контроль целостности и не прямое оповещение, а контроль за изменениями записи, а точнее обновление поля при любом изменении записи.
KGP>>И за этим следит СЕРВЕР (можно и в триггере на UPDATE повесить свою реализацию ~timestamp, но всё равно это работа СЕРВЕРА, а не среднего звена в данном случае.
KGP>>При репликациях это необходимая работа.
M>Не, ты точно чего-то путаешь...

Ну прям как пластинка заела ...

M>Когда timestamp на сервере меняется, сервер не бегает за всеми клиентами и не кричит "Мужики, у меня данные поменялись, обновляйтесь по бырому!".


Вы, уважаемый читаете между строк ? Где я писал, что 'сервер бегает за всеми клиентами'

M>Просто у клиента есть возможность определить самому менялись ли данные, а сервер просто их меняет, ну до кучи еще увеличивает timestamp никому об этом не говоря, а если вдруг какому-то клиенту стало интересно, то пусть сам придет и проверит, поменялись данные или нет.


И чем это высказывание разнится от :
KGP>>MS SQL Server, поддерживая тип поля timestamp, даёт пользователю возможность узнать изменял ли кто запись за время 'от чтения этого поля записи ранне до текущего чтения'.
KGP>>Это не контроль целостности и не прямое оповещение, а контроль за изменениями записи, а точнее обновление поля при любом изменении записи.

M>А здесь обсуждается как сделать и надо ли делать так, чтобы сервер сам извещал клиентов о том, что данные поменялись.

Обсуждалось, КАК реализовать слежку за изменениями данных ...
M>Возможно я немного не ясно излагаю свои соображения, но это казалось мне очевидным.
Возможно, а что казалось очевидным , то что
'Возможно я немного не ясно излагаю свои соображения' ?
Re[9]: Как реализовано динамическое обновление данных в прил
От: Merle Австрия http://rsdn.ru
Дата: 18.07.03 06:18
Оценка: +2
Здравствуйте, KGP, Вы писали:

Нда, что-то у нас с взаимопониманием бедулька какая-то...

KGP>Вы, уважаемый читаете между строк ? Где я писал, что 'сервер бегает за всеми клиентами'

А как еще понимать (-) на мои сообщения, в которых говорлось, что сервер бегать за клиентами не должен?
Я описывал принципы построения подобных механизмов, ты, как я понял, возражал, причем используя детали конкретной реализации.
Мало того, так еще и реализация страдает, так как timestamp годен для очень узкого круга задач, потому что отследить изменение нескольких записей или тем более вставку с его помощью проблематично.


M>>А здесь обсуждается как сделать и надо ли делать так, чтобы сервер сам извещал клиентов о том, что данные поменялись.

KGP>Обсуждалось, КАК реализовать слежку за изменениями данных ...
Угу, но я описывал общие принципы построения, а ты какую-то конкретную реализацию, при этом вроде бы как ты со мной не согласен, но в чем и почему не понятно.


Ладно, давай в дальнейшем постараемся более четко выражать свою позицию, во избежание подобных, очевидно бесмысленных споров по причине взаимных непоняток.
Мы уже победили, просто это еще не так заметно...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.