Анализ данных в «реальном времени» с помощью SQL Server StreamInsight

Введение в StreamInsight

StreamInsight является одним из компонентов SQL Server или облачным сервисом Windows Azure для обработки сложных событий (Complex
Event Processing, CEP).

cep

На схеме на оси абсцисс отражена совокупная скорость передачи данных, событий в секунду, а на оси ординат – характерное время задержки при выдаче результата запроса для той или иной задачи.

Цветные области на графике показывают, какие требования существуют у тех или иных приложений к скорости передачи данных и обработки запросов.

Видно, что технология сложной обработки событий предназначена для решения задач с высокой скоростью передачи данных и низкой задержкой.

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

Отраслевые примеры использования StreamInsight

Сложная обработка событий (CEP) может использоваться в следующих отраслях и задачах:

  • финансы – для алгоритмизации торговли и обнаружения мошенничества;
  • телекоммуникации – для мониторинга сети и качества сервиса;
  • производство – для мониторинга материалов (RFID), агрегирования данных от сенсоров и генерация тревоги в случае ошибок;
  • веб-приложения — для анализа трафика сайта и обнаружения нежелательного поведения;
  • здравоохранение – для анализа состояния здоровья пациента;
  • логистика – для прогнозирование и отслеживание цепочки поставок и GPS-трэкинга.

Разумеется, возможно и многие другие примеры применения данной технологии.

Архитектура StreamInsight

Схема платформы обработки сложных событий приведена на следующем рисунке.

cep_platform

Сервер (CEP-движок) постоянно держит в оперативной памяти и обрабатывает постоянные (декларированные) запросы. Эти запросы по виду похожи на T-SQL запросы и могут определенным образом преобразовывать и агрегировать данные со входящих адаптеров. Постоянные запросы могут быть вложены друг в друга, и также могут подтягивать статические данные из традиционных баз данных (SQL Server). На выходе CEP-движка в результате обработки появляются только интересующие нас агрегированные события.

Входящие адаптеры отвечают за передачу событий с источников.

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

Исходящие события, полученные в результате обработки CEP-движком, передаются в выходные (исходящие) адаптеры.

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

Демонстрация. Пример разработки приложения StreamInsight

В качестве примера использования технологии StreamInsight предлагаю вам посмотреть пример приложения анализа трафика на многополосной автомагистрали.

Демонстрация визуализации в портале SharePoint

Аналогичные приложения можно создать непосредственно на портале SharePoint. Пример подобного решения по анализу «реального времени» сообщений в Twitter (по определенным ключевым терминам) есть в Московском технологическом центре Microsoft (MTC Moscow). Снимок экрана – ниже.

twitter-analytics

Дополнительные ресурсы по технологии StreamInsight

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: