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

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

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

Варианты при выборе технологии для обработки в реальном времени

Все следующие хранилища данных в Azure будут соответствовать основным требованиям к обработке в реальном времени:

Основные критерии выбора

Для сценариев обработки в реальном времени сначала выберите службу, которая соответствует вашим требованиям, ответив на следующие вопросы:

  • Какой подход к созданию логики потоковой обработки вы предпочитаете использовать: декларативный или императивный?

  • Нужна ли встроенная поддержка для обработки темпоральной информации или обработки методом окна?

  • Вы получаете данные в форматах помимо Avro, JSON или CSV? Если да, выберите варианты, где поддерживаются все форматы, использующие пользовательский код.

  • Требуется ли возможность увеличения скорости обработки свыше 1 ГБ/с? Если да, выберите варианты с поддержкой масштабирования размера кластера.

Матрица возможностей

В следующих таблицах перечислены основные различия в возможностях.

Общие возможности

Возможность Azure Stream Analytics HDInsight с потоковой передачей Spark; Apache Spark в Azure Databricks HDInsight со Storm Функции Azure Веб-задания службы приложений Azure
Программируемость SQL, JavaScript C#/F#, Java, Python, Scala C#/F#, Java, Python, R, Scala C#, Java C#, F#, Java, Node.js, Python C#, Java, Node.js, PHP, Python
Парадигма программирования Декларативный Сочетание декларативного и принудительного подхода Сочетание декларативного и принудительного подхода Императивный подход Императивный подход Императивный подход
Модель ценообразования Единицы потоковой передачи На час работы кластера Единицы Databricks На час работы кластера За выполнение функции и использование ресурсов За час согласно плану службы приложений

Возможности интеграции

Возможность Azure Stream Analytics HDInsight с потоковой передачей Spark; Apache Spark в Azure Databricks HDInsight со Storm Функции Azure Веб-задания службы приложений Azure
Входные данные Центры событий Azure, Центр Интернета вещей Azure, хранилище BLOB-объектов Azure и ADLS 2-го поколения Центры событий, Центр Интернета вещей, Kafka, HDFS, BLOB-объекты хранилища, Azure Data Lake Storage Центры событий, Центр Интернета вещей, Kafka, HDFS, BLOB-объекты хранилища, Azure Data Lake Storage Центры событий, Центр Интернета вещей, BLOB-объекты хранилища, Azure Data Lake Store Поддерживаемые привязки служебная шина, очереди служба хранилища, большие двоичные объекты служба хранилища, центры событий, веб-перехватчики, Azure Cosmos DB, файлы
Приемники Azure Data Lake служба хранилища 1-го поколения, Azure Data Обозреватель, База данных Azure для PostgreSQL, База данных SQL Azure, Azure Synapse Analytics, хранилище BLOB-объектов и Azure Data Lake 2-го поколения, Центры событий Azure, Power BI, хранилище таблиц Azure, очереди Служебная шина Azure, Служебная шина Azure разделы, Azure Cosmos DB, Функции Azure HDFS, Kafka, служба хранилища BLOB-объекты, Azure Data Lake Store, Azure Cosmos DB HDFS, Kafka, служба хранилища BLOB-объекты, Azure Data Lake Store, Azure Cosmos DB Центры событий, служебная шина, Kafka Поддерживаемые привязки служебная шина, очереди служба хранилища, большие двоичные объекты служба хранилища, центры событий, веб-перехватчики, Azure Cosmos DB, файлы

Возможности обработки

Возможность Azure Stream Analytics HDInsight с потоковой передачей Spark; Apache Spark в Azure Databricks HDInsight со Storm Функции Azure Веб-задания службы приложений Azure
Встроенная поддержка обработки темпоральной информации или обработки методом окна Да Да Да Да No No
Форматы входных данных Avro, JSON или CSV, данные в кодировке UTF-8 Любой формат с использованием пользовательского кода Любой формат с использованием пользовательского кода Любой формат с использованием пользовательского кода Любой формат с использованием пользовательского кода Любой формат с использованием пользовательского кода
Масштабируемость Секции запросов Ограничивается размером кластера Ограничивается конфигурацией масштабирования кластера Databricks Ограничивается размером кластера До 200 экземпляров приложений-функций, обрабатываемых одновременно Ограничивается емкостью, предоставляемой согласно плану службы приложений
Поддержка обработки событий, наступивших с задержкой, и неупорядоченных событий Да Да Да Да No No

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участник.

Автор субъекта:

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