SQL Server & C# немедленное уведомление клиента при обновлении базы данных с миллисекундной синхронизацией
Я все еще пишу свое финансовое программное обеспечение:P И наконец получил надежный реальный поток данных в реальном времени, который в настоящее время я храню в своей базе данных SQL Server в режиме реального времени.
Как и на фондовом рынке, время - это все, мне интересно, как я смогу, чтобы мои клиентские машины были уведомлены о вставках базы данных по мере их поступления? Время от времени может быть до 200 обновлений в секунду в базе данных, а иногда менее 1 в минуту.
Как мне внедрить систему, в которой мое клиентское приложение (Windows Forms C#) будет получать уведомления о новых данных и их данных сразу же без задержки (в миллисекундах) после обновления моей базы данных на сервере, расположенном в одном месте?
Нужно ли мне иметь поток, который постоянно опрашивает мою базу данных? Это будет слишком много нагрузки? Сокеты TCP/IP для клиентов и базы данных?
Я полагаю, мне придется писать что-то вроде datafeed??? Как бы я занялся разработкой чего-нибудь подобного????
Спасибо
Дэвид
2 ответа
Зачем вам хранить данные в базе данных, если обновления для клиента должны быть в режиме реального времени? Можете ли вы не привязать фид к объекту данных на промежуточном / клиентском компьютере, а затем, при изменении события (образец наблюдателя) этого объекта данных, вы можете повторно привязать клиента. Вы можете хранить данные в SQL, как только привязка сделана только для целей аудита.
Одним из механизмов является использование пользовательских триггеров в вашей базе данных: C# / SQL Listener, чтобы сообщить мне, была ли строка вставлена в таблицу. Однако я не знаю, могут ли они гарантировать вам миллисекундную синхронизацию.