Поделиться через


Выбор технологии потоковой обработки в 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 или Data Lake Storage 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 Storage 1-го поколения, Azure Data Explorer, База данных 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

Соавторы

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

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

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