Выберите технологию аналитики и потоковой обработки в Azure в режиме реального времени

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

Когда следует использовать Azure Stream Analytics

Azure Stream Analytics — это рекомендуемая служба для Stream Analytics в Azure. Его можно использовать для широкого спектра сценариев, которые включают в себя, но не ограничиваются:

  • Панели мониторинга для визуализации данных
  • Оповещения в режиме реального времени из темпоральных и пространственных шаблонов или аномалий
  • Извлечение, преобразование, загрузка (ETL)
  • Шаблон источника событий
  • IoT Edge

Добавление задания Azure Stream Analytics в приложение — самый быстрый способ получения и запуска потоковой аналитики в Azure с помощью уже известного языка SQL. Azure Stream Analytics — это служба заданий, поэтому вам не нужно тратить время на управление кластерами, и вы можете не беспокоиться о простое при уровне доступности 99,9% благодаря соглашению об уровне обслуживания на уровне задания. Выставление счетов также выполняется на уровне задания, что позволяет снизить затраты на запуск (единица потоковой передачи), но масштабируемость (до 396 единиц потоковой передачи). Это гораздо более экономично для выполнения нескольких заданий Stream Analytics, чем для запуска и обслуживания кластера.

Azure Stream Analytics обеспечивает богатый функционал из коробки. Вы можете сразу воспользоваться следующими функциями без дополнительной настройки:

  • Встроенные темпоральные операторы, такие как оконные агрегаты, темпоральные соединения и темпоральные аналитические функции.
  • Собственные адаптеры ввода и вывода Azure
  • Поддержка медленно изменяющихся ссылочных данных (также известных как таблицы подстановки), включая присоединение к геопространственным ссылочным данным в целях геофенсинга.
  • Интегрированные решения, такие как обнаружение аномалий
  • Несколько окон времени в одном запросе
  • Возможность создания нескольких темпоральных операторов в произвольных последовательностях.
  • При сквозной задержке менее 100 мс от момента поступления входных данных в Центры событий до вывода выходных данных в Центры событий, включая сетевую задержку как до, так и от Центров событий, при сохранении устойчиво высокой пропускной способности.

Когда следует использовать другие технологии

Вы хотите написать пользовательские функции, агрегаты и десериализаторы на языке, отличном от JavaScript или C#.

Azure Stream Analytics поддерживает определяемые пользователем функции (UDF) или определяемые пользователем агрегаты (UDA) в JavaScript для облачных заданий и C# для заданий IoT Edge. Кроме того, поддерживаются определяемые пользователем десериализаторы C#. Если вы хотите реализовать десериализатор, UDF или UDA на других языках, таких как Java или Python, можно использовать структурированную потоковую передачу Spark. Вы также можете запустить Концентраторы событий EventProcessorHost на собственных виртуальных машинах для выполнения произвольной потоковой обработки.

Решение находится в многооблачной или локальной среде.

Azure Stream Analytics — это собственная технология Майкрософт и доступна только в Azure. Если вам нужно, чтобы решение было переносимым в облаке или локально, рассмотрите такие технологии с открытым исходным кодом, как структурированная потоковая передача Spark или Apache Flink.

Дальнейшие шаги