Re[5]: Отследить изменение
От: MasterZiv СССР  
Дата: 26.04.08 10:56
Оценка:
potap пишет:

> Спасибо, очень интересно, буду читать


Главное, почему НЕ НАДО так делать (так — это любым способом оповещать
клиентов об изменениях в БД) -- большое количество клиентов.
Если мы производим в единицу времени M транзакций изменения данных,
и имеем N клиентов, то в эту же единицу времени нам надо будет производить

o = N * M оповещений.

M на самом деле обычно тоже зависит от N, количества пользователей,
поскольку пользователи на сервере появляются не просто так, а чтобы что-то
делать. Допустим,

M = k * N (кол-во операций линейно зависит от кол-ва пользователей).

В таком случае оценка кол-ва оповещений будет

o = k * N**2

т.е. кол-во работы сервера по оповещению клиентов будет пропорционально
квадрату кол-ва клиентов. Это — очень плохо для масштабируемости системы.
Т.е. грубо говоря, для больших систем с высокой нагрузкой это просто
не будет работать.

Что касается конкретно предлагаемого решения — с KILL —
тут есть два недостатка

* kill внутри сервера не работает синхронно. Т.е. будет какая-то задержка.
(но это не сильно важно)

* при большой нагрузке клиенты тупо не успеют устанавливать соединения с
сервером, поскольку установка соединения — достаточно длительная операция.
Но, конечно, при вялом изменнеии данных схема работать будет.
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.