Общие сведения (StreamInsight)
Microsoft StreamInsight предоставляет мощную платформу для разработки и развертывания приложений по обработке сложных событий. Технология обработки сложных событий предназначена для обработки потоков событий с высокой пропускной способностью и малой задержкой. Как правило, источники потоков событий включают данные из приложений по управлению производством, приложений для работы на фондовом рынке, веб-аналитики и операционной аналитики. Архитектура обработки потоков StreamInsight вместе с привычной платформой разработки на базе .NET позволяет разработчикам быстро реализовывать надежные и высокоэффективные приложения для обработки событий.
StreamInsight приносит следующие ключевые преимущества.
Высокая оптимизация производительности и пропускной способности данных
В StreamInsight реализована упрощенная потоковая архитектура, поддерживающая высокую степень параллелизма для выполнения постоянных запросов к данным, передаваемым на высокой скорости. Использование кэша в памяти и добавочное вычисление результатов обеспечивают превосходную производительность с высокой пропускной способностью и малой задержкой. Малая задержка обеспечивается за счет обработки событий без затратных операций загрузки и сохранения данных в ключевых точках маршрута обработки. Вся обработка в StreamInsight автоматически запускается входящими событиями. В частности, приложения не должны затрачивать ресурсы на опрос событий. Платформа предоставляет функции для обработки неупорядоченных событий. Кроме того, можно получить доступ к статическим эталонным или статистическим данным, а затем включить их в анализ с малой задержкой.
Среда разработки .NET
Разработчики могут создавать приложения по обработке сложных событий на языках платформы Microsoft .NET, таких как Visual C#, и использовать современную языковую платформу LINQ в качестве языка внедренных запросов. Учитывая, что эти технологии уже известны большому числу разработчиков, такая возможность снижает затраты на разработку и сокращает время перехода приложения из среды разработки в рабочую среду. В текущем выпуске StreamInsight поддерживает в качестве базового языка только C#.
Использование LINQ позволяет разработчикам, знакомым с языком SQL, быстро создавать в декларативном стиле запросы, которые выполняют обработку и корреляцию данных из нескольких потоков, давая значимые результаты. В свою очередь, оптимизатор и планировщик сервера StreamInsight гарантируют оптимальную производительность запросов.
Гибкие возможности развертывания
StreamInsight поддерживает три сценария развертывания.
Полная интеграция в приложение в виде размещенной (внедренной) библиотеки.
Реализация в виде изолированного сервера, который совместно используется несколькими приложениями и несколькими пользователями. Сервер StreamInsight в изолированной конфигурации работает в оболочке (исполняемом файле) или может упаковываться в виде службы Windows.
Размещенный или изолированный сервер StreamInsight может входить в ферму серверов.
Средства управления
Функции наблюдения и управления, встроенные в сервер StreamInsight, обеспечивают низкую совокупную стоимость владения для приложений обработки сложных событий. Интерфейс управления и диагностические представления, предоставляемые на сервере StreamInsight, дают администратору возможность наблюдать за приложением обработки сложных событий и управлять им. Платформа управления также позволяет независимым поставщикам программных продуктов и системным интеграторам выполнять удаленное наблюдение за системами StreamInsight, развернутыми в производственной среде и в других средах с горизонтальным масштабированием, а также обеспечивать поддержку развернутых систем.
StreamInsight содержит изолированный отладчик потока событий, предназначенный для анализа, диагностики и устранения неполадок запросов, используемых в приложениях StreamInsight.
Сценарии обработки сложных событий
Общей чертой следующих бизнес-сценариев является необходимость в обработке потоков событий с высокой пропускной способностью и малой задержкой.
Наблюдение за производственными процессами и управление процессами
Анализ навигации
Финансовые службы
Электростанции
Здравоохранение
Наблюдение за ИТ-средой
Снабжение
Телекоммуникации
В следующих разделах описываются некоторые из этих сценариев и изучаются их требования к обработке событий.
Наблюдение за производственными процессами и управление процессами
Чтобы обеспечить оптимальную работу продуктов и процессов с минимальными простоями, производственные компании нуждаются в средстве сбора и анализа с малой задержкой для данных, получаемых с оборудования и датчиков в заводских цехах, В типичном производственном сценарии предъявляются следующие требования.
Наблюдение и статистическая обработка данных, создаваемых оборудованием, на основе активов.
Наблюдение за операциями и выходом продукции в заводских цехах посредством датчиков.
Наблюдение и принятие ответных мер с помощью контроллеров устройств.
Возможность обработки до 10 000 событий данных в секунду.
Создание событий и предупреждений, если что-то пойдет не так.
Профилактическое техническое обслуживание важного оборудования с учетом состояния.
Анализ совокупных данных с малой задержкой (в оконном режиме и в логарифмическом масштабе).
Анализ навигации
Для максимального удобства работы пользователя с коммерческим веб-сайтом необходимо обрабатывать действия пользователя, выполняемые на сайте, с малой задержкой. Типичное приложение по анализу потока предъявляет следующие требования.
Возможность управлять макетом страницы, навигацией и визуальным представлением в зависимости от результатов анализа потока с малой задержкой.
Возможность обрабатывать до 100 000 событий данных за секунду во время пиковой нагрузки.
Моментальное выявление шаблонов потока и вывод целевых рекламных объявлений.
Алгоритмическая торговля в среде финансовых служб
Алгоритмическая торговля в силу необходимости обрабатывать данные большого объема предъявляет следующие требования.
Возможность обработки до 100 000 событий данных в секунду.
Обработка критичных по времени запросов.
Наблюдение за текущим состоянием рынка и извлечение выгоды за счет реализации краткосрочных возможностей.
Интеллектуальная фильтрация входных данных.
Возможность определения действующих в течение определенного времени шаблонов для нескольких источников данных для автоматического принятия решения о покупке, продаже или удержании активов, входящих в портфель.
Электростанции
В энергетическом секторе требуется эффективная инфраструктура для управления электросетями и другим программам. Такие системы обычно предъявляют следующие требования.
Немедленное принятие меры в случае отклонения показателей расхода воды или электроэнергии, чтобы сократить или исключить аварийные отключения и другие перебои в работе.
Повышение эксплуатационной эффективности и эффективности с точки зрения охраны окружающей среды за счет перехода на интеллектуальные электросети.
Несколько уровней статистической обработки данных по сетке.
Возможность обработки до 100 000 событий в секунду от нескольких миллионов источников данных.