Välja en dataströmbearbetningsteknik i Azure

Den här artikeln jämför teknikval för dataströmbearbetning i realtid i Azure.

Dataströmbearbetning i realtid förbrukar meddelanden från kö- eller filbaserad lagring, bearbetar meddelandena och vidarebefordrar resultatet till en annan meddelandekö, fillagring eller databas. Bearbetningen kan omfatta frågor, filtrering och aggregering av meddelanden. Dataströmbearbetningsmotorer måste kunna använda oändliga dataströmmar och ge resultat med minimal svarstid. Mer information finns i Realtidsbearbetning.

Vilka alternativ har du när du väljer teknik för realtidsbearbetning?

I Azure uppfyller alla följande datalager de grundläggande kraven som stöder realtidsbearbetning:

Viktiga urvalsvillkor

För realtidsbearbetningsscenarier kan du börja välja lämplig tjänst för dina behov genom att besvara följande frågor:

  • Föredrar du en deklarativ eller imperativ metod för redigering av dataströmbearbetningslogik?

  • Behöver du inbyggt stöd för tidsbearbetning eller fönster?

  • Kommer dina data i format utöver Avro, JSON eller CSV? Om ja, överväg alternativ som stöder alla format med anpassad kod.

  • Behöver du skala bearbetningen över 1 GB/s? Om ja, överväg de alternativ som skalas med klusterstorleken.

Kapacitetsmatris

I följande tabeller sammanfattas de viktigaste skillnaderna i funktioner.

Allmänna funktioner

Funktion Azure Stream Analytics HDInsight med Spark Streaming Apache Spark i Azure Databricks HDInsight med Storm Azure Functions Azure App Service WebJobs
Programmerbarhet Stream Analytics-frågespråk, 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
Programmeringsparadigm Deklarativ Blandning av deklarativ och imperativ Blandning av deklarativ och imperativ Imperativ Imperativ Imperativ
Prismodell Strömningsenheter Per klustertimme Databricks-enheter Per klustertimme Per funktionskörning och resursförbrukning Per App Service-plantimme

Integreringsfunktioner

Funktion Azure Stream Analytics HDInsight med Spark Streaming Apache Spark i Azure Databricks HDInsight med Storm Azure Functions Azure App Service WebJobs
Indata Azure Event Hubs, Azure IoT Hub, Azure Blob Storage Event Hubs, IoT Hub, Kafka, HDFS, Storage Blobs, Azure Data Lake Store Event Hubs, IoT Hub, Kafka, HDFS, Storage Blobs, Azure Data Lake Store Event Hubs, IoT Hub, Storage Blobs, Azure Data Lake Store Bindningar som stöds Service Bus, Storage queues, Storage Blobs, Event Hubs, WebHooks, Cosmos DB, Files
Sjunker Azure Data Lake Store, Azure SQL Database, Storage Blobs, Event Hubs, Power BI, Table Storage, Service Bus Queues, Service Bus Topics, Cosmos DB, Azure Functions HDFS, Kafka, Storage Blobs, Azure Data Lake Store, Cosmos DB HDFS, Kafka, Storage Blobs, Azure Data Lake Store, Cosmos DB Event Hubs, Service Bus, Kafka Bindningar som stöds Service Bus, Storage queues, Storage Blobs, Event Hubs, WebHooks, Cosmos DB, Files

Bearbetningsfunktioner

Funktion Azure Stream Analytics HDInsight med Spark Streaming Apache Spark i Azure Databricks HDInsight med Storm Azure Functions Azure App Service WebJobs
Inbyggt stöd för tids-/fönster Ja Ja Ja Ja Inga Inga
Format för indata Avro, JSON eller CSV, UTF-8-kodad Alla format med anpassad kod Alla format med anpassad kod Alla format med anpassad kod Alla format med anpassad kod Alla format med anpassad kod
Skalbarhet Frågepartitioner Avgränsade efter klusterstorlek Begränsas av konfiguration av Databricks-klusterskalning Avgränsade efter klusterstorlek Upp till 200 funktionsappinstanser som bearbetas parallellt Begränsas av App Service-plankapaciteten
Support för händelsehantering för försenad och utanför ordning Ja Ja Ja Ja Inga Inga

Se även: