Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье сравниваются варианты технологий потоковой обработки в реальном времени в Azure.
Обзор потоковых данных
Организации часто имеют различные источники данных, которые одновременно выдают сообщения, записи или данные. Объем данных может варьироваться от нескольких байтов до нескольких мегабайт (МБ). Потоковые данные передаются в большом объеме непрерывно и инкрементально, что позволяет обрабатывать их практически в режиме реального времени. Этот тип данных включает сведения, используемые компаниями для аналитики в режиме реального времени и видимости различных аспектов их бизнеса, таких как журналы приложений, обновления геолокации, события и чтение датчиков.
Потоковая передача данных часто имеет следующие характеристики:
Несовершенная целостность данных: Временные ошибки в источнике могут привести к отсутствием элементов данных. Непрерывный характер потока может привести к несоответствию данных. Поэтому потоковые системы обработки и аналитики обычно включают логику проверки данных для устранения этих ошибок.
Непрерывный поток данных: Поток данных не имеет начала или конца, поэтому необходимо постоянно собирать данные. Например, журналы действий сервера накапливаются до тех пор, пока сервер работает.
Различные форматы данных: Вы можете передавать данные в нескольких форматах, таких как JSON, Avro и CSV. Он может включать различные типы данных, такие как строки, числа, даты и двоичные типы. Системы потоковой обработки должны обрабатывать эти вариации данных.
Временной порядок данных: Отдельные элементы в потоке данных содержат метки времени. И сам поток данных может быть чувствительным к времени и потерять значение после определенного времени. В некоторых случаях необходимо сохранить порядок обработки данных.
Технологии обработки в режиме реального времени
Чтобы помочь вам выбрать подходящую технологию, в этом разделе описаны распространенные варианты в Azure, от приема к использованию. Каждый подраздел выделяет рекомендуемые технологии на основе их роли в потоке потоковой обработки.
Поток обработки данных высокого уровня
Скачайте файл Visio для этой архитектуры.
Производители потоков
Производители потоков создают и передают данные в службы приема Azure. Они постоянно создают данные из источников, таких как устройства Интернета вещей (IoT), журналы приложений или базы данных.
Производители потоков предоставляют следующие преимущества:
Захват данных почти в режиме реального времени. Производители могут постоянно собирать данные из таких источников, как устройства Интернета вещей, взаимодействие пользователей и журналы приложений. Они передают данные в службы Azure, такие как Центры событий Azure или Центр Интернета вещей Azure.
Оптимизируйте пропускную способность с помощью пакетной обработки и сжатия. Производители могут объединять сообщения в пакеты и применять сжатие, чтобы свести к минимуму размер данных во время передачи. Эти возможности повышают эффективность.
Обеспечение надежной передачи с помощью обработки ошибок и повторных попыток. Производители могут справляться с нарушениями в сети или сбоями брокера с помощью автоматических повторных попыток, чтобы обеспечить надежность доставки данных.
Обеспечение целостности данных с помощью идемпотентности. Вы можете настроить производителей для поддержки точно одного раза доставки, которая предотвращает повторяющиеся сообщения и гарантирует согласованный поток данных.
Компоненты
IoT-хаб принимает данные из Интернета вещей. Он предоставляет такие функции, как двунаправленное взаимодействие, проверка подлинности устройства и автономное буферизация сообщений. Это идеально подходит для управления устройствами Интернета вещей и их потоками данных.
Производители отслеживания измененных данных (CDC) включают такие базы данных Azure, как База данных SQL Azure и Azure Cosmos DB.
Для доступа к данным CDC можно использовать соединители, такие как Debezium для базы данных SQL или механизм отслеживания изменений Azure Cosmos DB. Эти соединители часто размещаются в средах "Функции Azure" или "Служба приложений Azure". Если вы используете функцию потоков событий Microsoft Fabric, вам не нужны отдельные приложения, такие как Debezium, для подключения производителей CDC к подчиненным потребителям.
Пользовательские приложения , такие как Debezium, также могут размещаться как автономные приложения в управляемых службах, таких как Служба Azure Kubernetes (AKS) или среды службы приложений. Этот подход обеспечивает больший контроль или настройку.
Общие возможности
Возможность | Центр Интернета вещей | Производители Центров по контролю и профилактике заболеваний (CDC) | Кастомные приложения |
---|---|---|---|
Данные телеметрии устройства | Да | Нет | Нет |
Управляемая служба | Да | Нет | Нет |
Масштабируемость | Да | Да | Да |
Прием потоковых данных
Производители, такие как веб-приложения и мобильные приложения, устройства Интернета вещей и датчики, постоянно создают данные. Потоковый конвейер обработки данных должен эффективно принимать эти данные для анализа в реальном времени и пакетного анализа.
Обратите внимание на следующие факторы:
Скорость данных: Определите способ обработки данных высокой частоты из нескольких источников, которые часто различаются в формате и размере.
Масштабируемость: Убедитесь, что уровень обработки данных может динамически масштабироваться по мере увеличения объема, разнообразия и скорости данных.
Целостность данных и надежность: Предотвращение потери или дублирования данных во время передачи.
Компоненты
Центры событий — это служба приема данных в режиме реального времени, которая может обрабатывать миллионы событий в секунду, что делает его идеальным для сценариев высокой пропускной способности. Он может динамически масштабироваться и обрабатывать большие объемы данных с низкой задержкой.
Центры событий поддерживают такие функции, как секционирование для параллельной обработки и политик хранения данных. Он интегрируется со службами Azure, такими как Azure Stream Analytics, Fabric, Azure Databricks и Функции Azure. Центры событий также интегрируются с Apache Kafka, и вы можете запускать существующие рабочие нагрузки Kafka без каких-либо изменений кода.
Сетка событий — это полностью управляемая служба маршрутизации событий. Он получает, распределяет и реагирует на события из различных источников, поэтому идеально подходит для архитектур на основе событий в режиме реального времени. Она эффективно обрабатывает уведомления о событиях и интегрируется со службами Azure, пользовательскими приложениями и партнерскими системами. Event Grid играет важную роль в обработке потоковых данных.
Kafka в Azure HDInsight — это управляемая служба Apache Kafka для приема и обработки данных в реальном времени. Эта служба используется для записи и хранения потоковых данных из различных источников, таких как устройства Интернета вещей, журналы приложений и веб-каналы социальных сетей. Эта служба обеспечивает дополнительный контроль конфигурации Kafka в управляемой инфраструктуре.
Apache Kafka в Confluent Cloud — это полностью управляемая служба Apache Kafka для приема данных в режиме реального времени. Она интегрируется с Azure для упрощения развертывания и масштабирования. Это решение включает такие функции, как реестр схем, ksqlDB для потоковых запросов и безопасность корпоративного уровня. Используйте этот параметр, если вы используете расширенную экосистему соединителей Confluent и средства потоковой обработки.
Общие возможности
Возможность | Центры событий | Kafka в HDInsight | Kafka на Confluent |
---|---|---|---|
Хранение сообщений | Да | Да | Да |
Ограничение размера сообщения | 1 МБ | Конфигурируемый | Конфигурируемый |
Управляемая служба | Да | Управляемая инфраструктура как услуга | Да |
Автомасштабирование | Да | Да | Да |
Предложение партнера | Нет | Нет | Да |
Модель ценообразования | На основе ранга | За кластеро-час | Модели потребления |
Потоковая обработка
Этот шаг включает в себя процессы, которые преобразуют данные в режиме реального времени и фильтруют, агрегируют, обогащают или анализируют полученные данные.
Обратите внимание на следующие факторы:
Обработка с отслеживанием состояния и без отслеживания состояния: Определите, зависит ли обработка от ранее видимых данных (с отслеживанием состояния) или независимых событий (без отслеживания состояния).
Обработка времени события: Учитывайте сценарии, в которых необходимо обработать потоки данных из нескольких источников, особенно для записей, поступающих в последнее время.
Оконная обработка: Используйте скользящие или фиксированные окна для управления агрегацией по времени и анализа.
Отказоустойчивость: Убедитесь, что система может восстановиться после сбоев без потери данных или повторной обработки ошибок.
Компоненты
Stream Analytics — это управляемая служба, использующая язык запросов на основе SQL для включения аналитики в режиме реального времени. Используйте эту службу для простых задач обработки, таких как фильтрация, агрегирование и присоединение потоков данных. Он легко интегрируется с Центрами событий, Центром Интернета вещей и хранилищем BLOB-объектов Azure для ввода и вывода. Stream Analytics лучше всего подходит для задач с низкой сложностью, в режиме реального времени, где достаточно простого управляемого решения с запросами на основе SQL.
Структурированная потоковая передача Spark поддерживается такими службами, как Fabric, Azure Databricks и Azure Synapse Analytics. Эти службы предоставляют единую платформу аналитики, созданную на основе Apache Spark, и могут обрабатывать сложные преобразования данных, конвейеры машинного обучения и рабочие нагрузки больших данных. API потоковой передачи Spark поддерживают глубокую интеграцию с Delta Lake для управления версиями данных и согласованности.
Потоки событий Fabric — это возможность потоковой передачи данных в режиме реального времени в Fabric, которая является унифицированной платформой аналитики. Потоки событий обеспечивают простое прием, обработку и интеграцию потоковых данных для аналитики и приложений в режиме реального времени. Пользователи могут получать доступ к потокам событий с минимальным техническим опытом. Он предоставляет интерфейс с возможностью перетаскивания и сброса для настройки потоков данных.
Функции Azure — это бессерверная служба вычислений для обработки на основе событий. Это полезно для упрощенных задач, таких как преобразование данных или активация рабочих процессов на основе событий в режиме реального времени. Функции Azure являются бессерверными по проектированию. Функция долговременных функций расширяет возможности поддержки рабочих процессов с сохранением состояния для сложной координации событий.
Общие возможности
Возможность | Потоковая аналитика | Структурированная потоковая передача Spark (Fabric, Azure Databricks, Azure Synapse Analytics) | Потоки событий Fabric | Функции Azure |
---|---|---|---|---|
Микро пакетная обработка | Да | Да | Да | Нет |
Обработка на основе событий | Нет | Нет | Да | Да |
Состояниевая обработка | Да | Да | Да | Нет |
Поддержка создания контрольных точек | Да | Да | Да | Нет |
Интерфейс с низким кодом | Да | Нет | Да | Нет |
Модель ценообразования | Единицы потоковой передачи | Да | Fabric SKU | Да |
Приемники потоковой передачи
После обработки данных система направляет данные в соответствующие назначения или приемники для хранения, дальнейшего анализа или использования в приложениях в режиме реального времени. Эти места назначения могут включать базы данных, озера данных, средства аналитики или панели мониторинга и визуализации.
Обратите внимание на следующие факторы:
Потребление и использование данных: Используйте Power BI для аналитики в режиме реального времени или панелей мониторинга отчетов. Он хорошо интегрируется со службами Azure и предоставляет динамические визуализации потоков данных.
Требования к низкой задержке: Определите, должна ли система предоставлять аналитику в потоках данных в режиме реального времени, таких как данные телеметрии устройства и журналы приложений. Некоторые приложения могут также требовать сверхнизкой задержки для операций чтения и записи, что делает их подходящими для оперативной аналитики или приложений в режиме реального времени.
Масштабируемость и объем: Оцените необходимость рабочей нагрузки принимать большие объемы данных, поддерживать различные форматы данных и эффективно и экономически масштабироваться.
Компоненты
Azure Data Lake Storage — это масштабируемое, распределенное и экономичное решение для хранения неструктурированных и частично структурированных данных. Она поддерживает хранилище петабайтов и рабочие нагрузки с высокой пропускной способностью для хранения больших объемов потоковых данных. Она также обеспечивает быстрые операции чтения и записи, которые поддерживают аналитику потоковых данных и конвейеров данных в режиме реального времени.
Хранилище событий Fabric — это база данных KQL для аналитики в режиме реального времени и изучения данных на основе событий, таких как данные телеметрии и журналы, данные временных рядов и данные Интернета вещей. Она поддерживает прием миллионов событий в секунду с низкой задержкой. Эта функция обеспечивает практически мгновенный доступ к потоковым данным. Ивентхаус тесно интегрируется с экосистемой Fabric. Он позволяет пользователям запрашивать и анализировать потоковые данные немедленно с помощью таких средств, как Power BI.
Azure Cosmos DB — это база данных NoSQL для низкой задержки, глобально распределенного и высокомасштабируемого хранилища данных. Он совместим с несколькими API, такими как SQL, MongoDB, Cassandra, Table и Gremlin, который обеспечивает гибкость для различных приложений. Azure Cosmos DB обеспечивает высокую пропускную способность и может обрабатывать большие объемы потоковых данных с согласованной производительностью.
База данных SQL — это полностью управляемая облачная реляционная служба. Он основан на подсистеме SQL Server. Таким образом, он предоставляет возможности традиционной базы данных SQL Server с преимуществами облачной масштабируемости, надежности и снижения затрат на управление.
Общие возможности
Возможность | Хранилище данных Data Lake | Место для мероприятий Fabric | Azure Cosmos DB (облачная база данных) | База данных SQL |
---|---|---|---|---|
Хранилище объектов общего назначения | Да | Нет | Нет | Нет |
Агрегирование данных потоковой передачи | Нет | Да | Нет | Нет |
Низкая задержка операций чтения и записи для документов JSON | Нет | Да | Да | Нет |
Структурированные агрегаты данных для Power BI | Нет | Да | Нет | Да |
Модель ценообразования | За ГБ или ТБ | Fabric SKU | Единицы запроса | Единица транзакций базы данных (DTU) или vCore |
Соавторы
Корпорация Майкрософт поддерживает эту статью. Следующие авторы написали эту статью.
Основной автор:
- Пратима Валавала | Главный архитектор решений
Чтобы просмотреть неопубликованные профили LinkedIn, войдите в LinkedIn.
Следующие шаги
Ознакомьтесь со следующими модулями обучения:
- Изучение Функции Azure
- Приступая к работе с Azure Stream Analytics: выявление мошенничества в режиме реального времени
- Выполнение расширенных преобразований потоковых данных
- Использование Apache Spark в Azure Databricks