Bir akış işleme teknolojisi, Azure'ı seçmeChoosing a stream processing technology in Azure

Bu makale için gerçek zamanlı akış işleme Azure'da teknoloji seçimleri karşılaştırır.This article compares technology choices for real-time stream processing in Azure.

Gerçek zamanlı akış işleme kuyruk veya dosya tabanlı depolama gelen iletileri kullanır, iletileri işlemek ve sonucu başka bir ileti kuyruğu, bir dosya deposu veya veritabanı iletin.Real-time stream processing consumes messages from either queue or file-based storage, process the messages, and forward the result to another message queue, file store, or database. İşleme iletileri toplayarak sorgulama ve filtreleme içerebilir.Processing may include querying, filtering, and aggregating messages. Stream altyapıları işleme bir sonsuz veri akışlarını kullanma ve en düşük gecikme süresiyle sonuçlar olması gerekir.Stream processing engines must be able to consume an endless streams of data and produce results with minimal latency. Daha fazla bilgi için gerçek zamanlı işleme.For more information, see Real time processing.

Gerçek zamanlı işleme için bir teknoloji seçerken seçenekleri nelerdir?What are your options when choosing a technology for real-time processing?

Azure'da tüm aşağıdaki veri depolarını gerçek zamanlı işleme destekleyen temel gereksinimleri karşılar:In Azure, all of the following data stores will meet the core requirements supporting real-time processing:

Temel seçim ölçütlerineKey Selection Criteria

Gerçek zamanlı işleme senaryoları için bu soruyu yanıtlayarak gereksinimlerinize uygun hizmeti seçerek başlayın:For real-time processing scenarios, begin choosing the appropriate service for your needs by answering these questions:

  • Bildirim temelli veya kesinlik temelli bir yaklaşım yazma akış işleme mantığı tercih ediyorsunuz?Do you prefer a declarative or imperative approach to authoring stream processing logic?

  • Zamana bağlı işleme veya Pencereleme için yerleşik destek gerekiyor mu?Do you need built-in support for temporal processing or windowing?

  • Verilerinizi Avro, JSON veya CSV yanı sıra biçimlerde gelen mu?Does your data arrive in formats besides Avro, JSON, or CSV? Yanıt Evet ise, özel kod kullanarak herhangi bir biçimde destek seçenekleri göz önünde bulundurun.If yes, consider options support any format using custom code.

  • 1 GB/sn ötesinde, işleme ölçeklendirmeniz mi gerekiyor mu?Do you need to scale your processing beyond 1 GB/s? Yanıt Evet ise, küme boyutu ile ölçek seçeneklerini göz önünde bulundurun.If yes, consider the options that scale with the cluster size.

Özellik MatrisiCapability matrix

Aşağıdaki tablolarda, Özellikler'deki temel farklılıklar özetlenmektedir.The following tables summarize the key differences in capabilities.

Genel özellikleriGeneral capabilities

Azure Stream AnalyticsAzure Stream Analytics Hdınsight Spark akış ileHDInsight with Spark Streaming Azure Databricks’te Apache SparkApache Spark in Azure Databricks Hdınsight Storm ileHDInsight with Storm Azure İşlevleriAzure Functions Azure App Service Web işleriAzure App Service WebJobs
ProgramlanabilirlikProgrammability Stream analytics sorgu dili, JavaScriptStream analytics query language, JavaScript Scala, Python, JavaScala, Python, Java Scala, Python, Java, RScala, Python, Java, R Java, C#Java, C# C#, F#, Node.jsC#, F#, Node.js C#, Node.js, PHP, Java, PythonC#, Node.js, PHP, Java, Python
Paradigma programlamaProgramming paradigm Bildirim temelliDeclarative Bildirim temelli ve buyurgan karışımıMixture of declarative and imperative Bildirim temelli ve buyurgan karışımıMixture of declarative and imperative KesinliğiImperative KesinliğiImperative KesinliğiImperative
Fiyatlandırma modeliPricing model Akış birimleriStreaming units Küme saat başınaPer cluster hour Databricks birimiDatabricks units Küme saat başınaPer cluster hour İşlev yürütme ve kaynak tüketimiPer function execution and resource consumption App service planı saat başınaPer app service plan hour

Tümleştirme özellikleriIntegration capabilities

Azure Stream AnalyticsAzure Stream Analytics Hdınsight Spark akış ileHDInsight with Spark Streaming Azure Databricks’te Apache SparkApache Spark in Azure Databricks Hdınsight Storm ileHDInsight with Storm Azure İşlevleriAzure Functions Azure App Service Web işleriAzure App Service WebJobs
GirişlerInputs Azure Event Hubs, Azure IOT Hub, Azure Blob DepolamaAzure Event Hubs, Azure IoT Hub, Azure Blob storage Olay hub'ları, IOT Hub, Kafka, HDFS, depolama Blobları, Azure Data Lake StoreEvent Hubs, IoT Hub, Kafka, HDFS, Storage Blobs, Azure Data Lake Store Olay hub'ları, IOT Hub, Kafka, HDFS, depolama Blobları, Azure Data Lake StoreEvent Hubs, IoT Hub, Kafka, HDFS, Storage Blobs, Azure Data Lake Store Olay hub'ları, IOT Hub'ı depolama Blobları, Azure Data Lake StoreEvent Hubs, IoT Hub, Storage Blobs, Azure Data Lake Store Desteklenen bağlamalarıSupported bindings Hizmet veri yolu, depolama kuyruklarına, depolama Blobları, Event hubs'ı, Web kancaları, Cosmos DB, dosyalarıService Bus, Storage Queues, Storage Blobs, Event Hubs, WebHooks, Cosmos DB, Files
havuzlarSinks Azure Data Lake Store, Azure SQL veritabanı, depolama Blobları, olay hub'ları, Power BI, tablo depolama, Service Bus kuyrukları, hizmet veri yolu konuları, Cosmos DB, Azure işlevleriAzure 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, depolama Blobları, Azure Data Lake Store, Cosmos DBHDFS, Kafka, Storage Blobs, Azure Data Lake Store, Cosmos DB HDFS, Kafka, depolama Blobları, Azure Data Lake Store, Cosmos DBHDFS, Kafka, Storage Blobs, Azure Data Lake Store, Cosmos DB Event Hubs, Service Bus, KafkaEvent Hubs, Service Bus, Kafka Desteklenen bağlamalarıSupported bindings Hizmet veri yolu, depolama kuyruklarına, depolama Blobları, Event hubs'ı, Web kancaları, Cosmos DB, dosyalarıService Bus, Storage Queues, Storage Blobs, Event Hubs, WebHooks, Cosmos DB, Files

İşlem özellikleriProcessing capabilities

Azure Stream AnalyticsAzure Stream Analytics Hdınsight Spark akış ileHDInsight with Spark Streaming Azure Databricks’te Apache SparkApache Spark in Azure Databricks Hdınsight Storm ileHDInsight with Storm Azure İşlevleriAzure Functions Azure App Service Web işleriAzure App Service WebJobs
Yerleşik zamana bağlı/Pencereleme desteğiBuilt-in temporal/windowing support EvetYes EvetYes EvetYes EvetYes HayırNo HayırNo
Giriş veri biçimleriInput data formats Avro, JSON veya CSV, UTF-8 kodlamalıAvro, JSON or CSV, UTF-8 encoded Özel kod kullanarak herhangi bir biçimdeAny format using custom code Özel kod kullanarak herhangi bir biçimdeAny format using custom code Özel kod kullanarak herhangi bir biçimdeAny format using custom code Özel kod kullanarak herhangi bir biçimdeAny format using custom code Özel kod kullanarak herhangi bir biçimdeAny format using custom code
ÖlçeklenebilirlikScalability Query bölümleriQuery partitions Küme boyutu tarafından sınırlananBounded by cluster size Databricks kümesini ölçek yapılandırması tarafından sınırlananBounded by Databricks cluster scale configuration Küme boyutu tarafından sınırlananBounded by cluster size Paralel olarak işleme en fazla 200 işlevi uygulama örneğiUp to 200 function app instances processing in parallel App service planı kapasite tarafından sınırlananBounded by app service plan capacity
Geç varış ve sıralamaya olay işleme desteğiLate arrival and out of order event handling support EvetYes EvetYes EvetYes EvetYes HayırNo HayırNo

Ayrıca bkz:See also: