Azure'da akış işleme teknolojisi seçme
Bu makalede, Azure'da gerçek zamanlı akış işleme için teknoloji seçimleri karşılaştıracağız.
Gerçek zamanlı akış işleme kuyruk veya dosya tabanlı depolamadan gelen iletileri kullanır, iletileri işler ve sonucu başka bir ileti kuyruğuna, dosya deposuna veya veritabanına iletir. İşleme, iletileri sorgulamayı, filtrelemeyi ve toplamayı içerebilir. Akış işleme altyapılarının sonsuz veri akışlarını tüketmesi ve minimum gecikme süresiyle sonuç üretmesi gerekir. Daha fazla bilgi için bkz. Gerçek zamanlı işleme.
Gerçek zamanlı işleme için bir teknoloji seçerken hangi seçenekleriniz vardır?
Azure'da aşağıdaki veri depolarının hepsi gerçek zamanlı işlemeyi destekleyen temel gereksinimleri karşılar:
- Azure Akış Analizi
- Spark Akışı ile HDInsight
- Azure Databricks’te Apache Spark
- Storm ile HDInsight
- Azure İşlevleri
- Azure App Service Web İşleri
- Apache Kafka akış API'si
Anahtar Seçim Ölçütleri
Gerçek zamanlı işleme senaryoları için aşağıdaki soruları yanıtlayarak ihtiyaçlarınıza uygun hizmeti seçmeye başlayabilirsiniz:
Akış işleme mantığı yazmada bildirimli veya benimsenen bir yaklaşım mı tercih edersiniz?
Zamana bağlı işleme veya pencere için yerleşik detekte mi ihtiyacınız var?
Verileriniz Avro, JSON veya CSV'nin yanı sıra biçimlerde mi geliyor? Evet ise, özel kod kullanarak herhangi bir biçimi destekleyen seçenekleri göz önünde bulundurabilirsiniz.
İşlemlerinizi 1 GB/sn'nin üzerinde ölçeklendirmeniz gerekiyor mu? Evet ise, küme boyutuyla ölçeklendiren seçenekleri göz önünde bulundurabilirsiniz.
Yetenek matrisi
Aşağıdaki tablolarda, özellikler arasındaki temel farklar özetlenmiştir.
Genel özellikler
| Özellik | Azure Stream Analytics | Spark Akışı ile HDInsight | Azure Databricks’te Apache Spark | Storm ile HDInsight | Azure İşlevleri | Azure App Service Web İşleri |
|---|---|---|---|---|---|---|
| Programlama | Stream Analytics sorgu dili, 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 |
| Programlama paradigması | Bildirim temelli | Bildirimsel ve imperative karışımı | Bildirimsel ve imperative karışımı | Kesin | Kesin | Kesin |
| Fiyatlandırma modeli | Akış birimleri | Küme saati başına | Databricks birimleri | Küme saati başına | İşlev başına yürütme ve kaynak tüketimi | App Service planı saati başına |
Tümleştirme özellikleri
| Özellik | Azure Stream Analytics | Spark Akışı ile HDInsight | Azure Databricks’te Apache Spark | Storm ile HDInsight | Azure İşlevleri | Azure App Service Web İşleri |
|---|---|---|---|---|---|---|
| Girişler | Azure Event Hubs, Azure IoT Hub, Azure Blob depolama | Event Hubs, IoT Hub, Kafka, HDFS, Depolama Bloblar, Azure Data Lake Store | Event Hubs, IoT Hub, Kafka, HDFS, Depolama Bloblar, Azure Data Lake Store | Event Hubs, IoT Hub, Depolama Bloblar, Azure Data Lake Store | Desteklenen bağlamalar | Service Bus, Depolama Kuyruklar, Depolama Bloblar, Event Hubs, Web Kancaları, Cosmos DB, Dosyalar |
| Lavabo | Azure Data Lake Store, Azure SQL Veritabanı, Depolama Blobları, Event Hubs, Power BI, Tablo Depolama, Service Bus Kuyrukları, Service Bus Konuları, Cosmos DB, Azure İşlevleri | HDFS, Kafka, Depolama Blobları, Azure Data Lake Store, Cosmos DB | HDFS, Kafka, Depolama Blobları, Azure Data Lake Store, Cosmos DB | Event Hubs, Service Bus, Kafka | Desteklenen bağlamalar | Service Bus, Depolama Kuyruklar, Depolama Bloblar, Event Hubs, Web Kancaları, Cosmos DB, Dosyalar |
İşleme özellikleri
| Özellik | Azure Stream Analytics | Spark Akışı ile HDInsight | Azure Databricks’te Apache Spark | Storm ile HDInsight | Azure İşlevleri | Azure App Service Web İşleri |
|---|---|---|---|---|---|---|
| Yerleşik zamana bağlı/pencere desteği | Yes | Yes | Yes | Yes | Hayır | Hayır |
| Giriş veri biçimleri | Avro, JSON veya CSV, UTF-8 kodlamalı | Özel kod kullanan herhangi bir biçim | Özel kod kullanan herhangi bir biçim | Özel kod kullanan herhangi bir biçim | Özel kod kullanan herhangi bir biçim | Özel kod kullanan herhangi bir biçim |
| Ölçeklenebilirlik | Sorgu bölümleri | Küme boyutuna göre sınırlanmış | Databricks kümesi ölçek yapılandırması ile sınırlanmış | Küme boyutuna göre sınırlanmış | Paralel olarak en fazla 200 işlev uygulama örneği işleme | App Service plan kapasitesine göre sınırlanmış |
| Geç varış ve sıra dışı olay işleme desteği | Yes | Yes | Yes | Yes | Hayır | Hayır |
Ayrıca bkz: