選擇 Azure 上的即時分析與串流處理技術

Azure 上提供多項即時分析與串流處理服務。 本文將協助你決定哪種技術最適合你的應用。

何時使用 Azure 串流分析

Azure 串流分析 是推薦的 Azure 串流分析服務。 用於多種情境,包括但不限於:

在你的應用程式中新增 Azure 串流分析 工作,是最快讓串流分析在 Azure 上運行的方法,使用你已經會的 SQL 語言。 Azure 串流分析 是工作服務,因此你不必花時間管理叢集,也不必擔心因工作層級的 99.9% 服務水準協議(SLA)而有停機問題。 計費也以工作層級進行,使得啟動成本低(一個串流單元),但可擴展(最多396個串流單元)。 執行幾個串流分析工作比維護叢集來得划算得多。

Azure 串流分析 擁有豐富的即裝即用功能。 你可以立即利用以下功能,無需額外設定:

  • 內建的時間運算子,例如視窗彙總、時間聯結及時間分析函數。
  • Azure 原生 輸入輸出 配接器
  • 支援緩慢變化的參考資料(亦稱為查閱表),包括與地理空間參考資料進行連結以執行地理圍欄。
  • 整合解決方案,如 異常偵測
  • 同一查詢中出現多個時間窗口
  • 能夠以任意順序組合多個時間運算子。
  • 在持續高輸送量下,從輸入到達事件中樞到輸出寫入事件中樞的端對端延遲低於 100 毫秒,包括往返事件中樞的網路延遲。

何時使用其他技術

你想用 JavaScript 或 C 以外的語言來寫 UDF、UDA 和自訂的反序列化器#

Azure 串流分析 支援在雲端工作中使用 JavaScript 的使用者定義函數(UDFs)和使用者定義聚合(UDAs),以及在 IoT Edge 工作中使用 C#。 也支援 C# 使用者自訂的解序列器。 如果你想在其他語言(如 Java 或 Python)實作反序列化器、UDF 或 UDA,請使用 Spark Structured Streaming。 你也可以在自己的虛擬機器上執行 Event Hubs EventProcessorHost ,進行任意串流處理。

你的解決方案是在多雲或本地環境

Azure 串流分析 是 Microsoft 的專有技術,僅在 Azure 上可用。 如果你需要解決方案跨雲端或本地端可攜性,可以考慮開源技術,如 Spark Structured Streaming 或 Apache Flink

後續步驟