Microsoft Business Intelligence

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

Введение в StreamInsight

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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