共用方式為


在 Azure 中選擇串流處理技術

本文會比較 Azure 中即時串流處理的技術選擇。

即時串流處理會取用來自佇列或檔案型儲存體的訊息,處理訊息,並將結果轉送至另一個訊息佇列、檔案存放區或資料庫。 處理可能包括查詢、篩選和彙總訊息。 串流處理引擎必須能夠取用無限的資料流,並以以最短的延遲時間來產生結果。 如需詳細資訊,請參閱即時處理

在選擇即時處理的技術時,有哪些選項?

在 Azure 中,下列所有資料存放區皆符合支援即時處理的核心需求:

索引鍵選取準則

對於即時處理案例,請透過回答下列問題,開始為您的需要選擇適當的服務:

  • 您偏好使用宣告式還是命令式方法來撰寫串流處理邏輯?

  • 您是否需要時態性處理或視窗化的內建支援?

  • 您的資料是否會以 Avro、JSON 或 CSV 以外的格式送達? 如果是,請考慮使用自訂程式碼支援任何格式的選項。

  • 您是否需要將處理能力擴展至超出 1 GBps? 如果是,請考慮使用叢集大小進行調整的選項。

功能對照表

下表摘要列出功能的主要差異。

一般功能

功能 Azure 串流分析 搭配 Spark 串流的 HDInsight Azure Databricks 中的 Apache Spark Azure Functions Azure App Service WebJobs
可程式性 SQL、JavaScript C#/F#、Java、Python、Scala C#/F#、Java、Python、R、Scala C#、F#、Java、Node.js、Python C#、Java、Node.js、PHP、Python
程式設計範例 宣告式 混合使用宣告式和命令式 混合使用宣告式和命令式 命令式 命令式
計價模式 串流單位 每分鐘節點費用 Databricks 單位 按函數執行和資源耗用量 按 App Service 方案小時

整合功能

功能 Azure 串流分析 搭配 Spark 串流的 HDInsight Azure Databricks 中的 Apache Spark Azure Functions Azure App Service WebJobs
輸入 Azure 事件中樞、Azure IoT 中樞、Azure Blob 儲存體/Data Lake Storage Gen2 事件中樞、IoT 中樞、Kafka、HDFS、儲存體 Blob、Azure Data Lake Store 事件中樞、IoT 中樞、Kafka、HDFS、儲存體 Blob、Azure Data Lake Store 支援的繫結 服務匯流排、儲存體佇列、儲存體 Blob、事件中樞、WebHook、Azure Cosmos DB、檔案
接收 Azure Data Lake Storage Gen 1、Azure 資料總管、適用於 PostgreSQL 的 Azure 資料庫、Azure SQL Database、Azure Synapse Analytics、Blob 儲存體和 Azure Data Lake Gen 2、Azure 事件中樞、Power BI、Azure 資料表儲存體、Azure 服務匯流排佇列、Azure 服務匯流排主題、Azure Cosmos DB、Azure Functions HDFS、Kafka、儲存體 Blob、Azure Data Lake Store、Azure Cosmos DB HDFS、Kafka、儲存體 Blob、Azure Data Lake Store、Azure Cosmos DB 支援的繫結 服務匯流排、儲存體佇列、儲存體 Blob、事件中樞、WebHook、Azure Cosmos DB、檔案

處理功能

功能 Azure 串流分析 搭配 Spark 串流的 HDInsight Azure Databricks 中的 Apache Spark Azure Functions Azure App Service WebJobs
內建時態性/視窗化支援 Yes .是 No
輸入資料格式 Avro、JSON 或 CSV、UTF-8 編碼 使用自訂程式碼的任何格式 使用自訂程式碼的任何格式使用自訂程式碼的任何格式 使用自訂程式碼的任何格式
延展性 查詢分割區 依叢集大小繫結 依 Databricks 叢集調整設定繫結 最多平行處理 200 個函數應用程式執行個體 依 App Service 方案容量繫結
支援延遲抵達和順序錯亂事件處理 Yes .是 No

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主要作者:

下一步