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

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

Где используется Azure Stream Analytics

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

Добавление задания 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#. Чтобы реализовать десериализатор, определяемую пользователем статистическую функцию или UDA на других языках, таких как Java или Python, можно использовать структурированную потоковую передачу Spark. Можно также запустить EventProcessorHost Центров событий на собственных виртуальных машинах для выполнения произвольной потоковой обработки.

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

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

Следующие шаги