Выберите технологию аналитики и потоковой обработки в 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 поддерживает определяемые пользователем функции (UDFs) и определяемые пользователем агрегаты (UDAs) в JavaScript для облачных заданий и C# для заданий IoT Edge. Кроме того, поддерживаются определяемые пользователем десериализаторы C#. Если вы хотите реализовать десериализатор, UDF или UDA на других языках, например Java или Python, используйте структурированную потоковую передачу Spark. Вы также можете запустить Концентраторы событий EventProcessorHost на собственных виртуальных машинах для выполнения произвольной потоковой обработки.

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

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

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