Compartir a través de


Selección de una tecnología de procesamiento de flujos en Azure

Este artículo compara las opciones de tecnología para procesamiento de flujos en tiempo real en Azure.

El procesamiento de flujos en tiempo real usa mensajes de una cola o almacenamiento basado en archivos, procesa los mensajes y reenvía el resultado a otra cola de mensajes, almacén de archivos o base de datos. El procesamiento puede incluir la consulta, el filtrado y la agregación de mensajes. Los motores de procesamiento de flujos deben poder utilizar un flujo ilimitado de datos y generar resultados con una latencia mínima. Para más información, consulte Procesamiento en tiempo real.

¿De qué opciones dispone a la hora de elegir una tecnología de procesamiento en tiempo real?

En Azure, los almacenes de datos siguientes cumplirán los requisitos principales para el procesamiento en tiempo real:

Principales criterios de selección

En escenarios de procesamiento en tiempo real, seleccione primero el servicio adecuado para sus necesidades respondiendo a estas preguntas:

  • ¿Prefiere un enfoque declarativo o imperativo para crear una lógica de procesamiento de flujos?

  • ¿Necesita compatibilidad integrada para procesamiento temporal o basado en ventanas?

  • ¿Recibe datos en formatos distintos a Avro, JSON o CSV? Si es así, tenga en cuenta opciones que admitan cualquier formato que use código personalizado.

  • ¿Necesita escalar el procesamiento más allá de 1 GBps? En caso afirmativo, considere la posibilidad de usar opciones que se escalan con el tamaño del clúster.

Matriz de funcionalidades

En las tablas siguientes se resumen las diferencias clave en cuanto a funcionalidades.

Funcionalidades generales

Capacidad Azure Stream Analytics HDInsight con Spark Streaming Apache Spark en Azure Databricks HDInsight con Storm Azure Functions Azure App Service WebJobs
Programación 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
Paradigma de programación Declarativa Mezcla de declarativa e imperativa Mezcla de declarativa e imperativa Imperativo Imperativo Imperativo
Modelo de precios Unidades de streaming Por hora de clúster Unidades de Databricks Por hora de clúster Por ejecución de funciones y consumo de recursos Por hora de plan de App Service

Funcionalidades de integración

Capacidad Azure Stream Analytics HDInsight con Spark Streaming Apache Spark en Azure Databricks HDInsight con Storm Azure Functions Azure App Service WebJobs
Entradas Azure Event Hubs, Azure IoT Hub, Azure Blob Storage/ADLS Gen2 Event Hubs, IoT Hub, Kafka, HDFS, blobs de Storage, Azure Data Lake Store Event Hubs, IoT Hub, Kafka, HDFS, blobs de Storage, Azure Data Lake Store Event Hubs, IoT Hub, blobs de Storage, Azure Data Lake Store Enlaces admitidos Service Bus, colas de almacenamiento, blobs de almacenamiento, Event Hubs, WebHooks, Azure Cosmos DB, Files
Receptores Azure Data Lake Storage Gen 1, Azure Data Explorer, Azure Database for PostgreSQL, Azure SQL Database, Azure Synapse Analytics, Blob Storage y Azure Data Lake Gen 2, Azure Event Hubs, Power BI, Azure Table Storage, colas de Azure Service Bus, temas de Azure Service Bus, Azure Cosmos DB, Azure Functions HDFS, Kafka, blobs de almacenamiento, Azure Data Lake Store, Azure Cosmos DB HDFS, Kafka, blobs de almacenamiento, Azure Data Lake Store, Azure Cosmos DB Event Hubs, Service Bus, Kafka Enlaces admitidos Service Bus, colas de almacenamiento, blobs de almacenamiento, Event Hubs, WebHooks, Azure Cosmos DB, Files

Funcionalidades de procesamiento

Capacidad Azure Stream Analytics HDInsight con Spark Streaming Apache Spark en Azure Databricks HDInsight con Storm Azure Functions Azure App Service WebJobs
Compatibilidad integrada con almacenamiento temporal o basado en ventanas No No
Formatos de datos de entrada Avro, JSON o CSV, con codificación UTF-8 Cualquier formato que use código personalizado Cualquier formato que use código personalizado Cualquier formato que use código personalizado Cualquier formato que use código personalizado Cualquier formato que use código personalizado
Escalabilidad Particiones de consulta Limitada por el tamaño del clúster Limitado por la configuración de escalado del clúster de Databricks Limitada por el tamaño del clúster Hasta 200 instancias de aplicación de función procesándose en paralelo Limitada por la capacidad del plan de App Service
Compatibilidad con control de eventos desordenados y llegada tardía No No

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Pasos siguientes