SQL Server & C# немедленное уведомление клиента при обновлении базы данных с миллисекундной синхронизацией

Я все еще пишу свое финансовое программное обеспечение:P И наконец получил надежный реальный поток данных в реальном времени, который в настоящее время я храню в своей базе данных SQL Server в режиме реального времени.

Как и на фондовом рынке, время - это все, мне интересно, как я смогу, чтобы мои клиентские машины были уведомлены о вставках базы данных по мере их поступления? Время от времени может быть до 200 обновлений в секунду в базе данных, а иногда менее 1 в минуту.

Как мне внедрить систему, в которой мое клиентское приложение (Windows Forms C#) будет получать уведомления о новых данных и их данных сразу же без задержки (в миллисекундах) после обновления моей базы данных на сервере, расположенном в одном месте?

Нужно ли мне иметь поток, который постоянно опрашивает мою базу данных? Это будет слишком много нагрузки? Сокеты TCP/IP для клиентов и базы данных?

Я полагаю, мне придется писать что-то вроде datafeed??? Как бы я занялся разработкой чего-нибудь подобного????

Спасибо

Дэвид

2 ответа

Решение

Зачем вам хранить данные в базе данных, если обновления для клиента должны быть в режиме реального времени? Можете ли вы не привязать фид к объекту данных на промежуточном / клиентском компьютере, а затем, при изменении события (образец наблюдателя) этого объекта данных, вы можете повторно привязать клиента. Вы можете хранить данные в SQL, как только привязка сделана только для целей аудита.

Одним из механизмов является использование пользовательских триггеров в вашей базе данных: C# / SQL Listener, чтобы сообщить мне, была ли строка вставлена ​​в таблицу. Однако я не знаю, могут ли они гарантировать вам миллисекундную синхронизацию.

Другие вопросы по тегам