在 Azure 上選擇即時分析和串流處理技術

Azure 上有數個服務可用於即時分析和串流處理。 本文提供您決定最適合您應用程式之技術所需的資訊。

使用 Azure 串流分析的時機

Azure 串流分析是 Azure 上適用於串流分析的建議服務。 您可以將其用於包括但不限於下列各種案例:

使用您已知道的 SQL 語言將 Azure 串流分析作業新增至應用程式,是讓串流分析在 Azure 中啟動並執行的最快方式。 Azure 串流分析是一項作業服務,因此您不需要花時間管理叢集,而且不需要擔心作業層級的 99.9% 服務等級協定 (SLA) 停機。 計費也會在作業層級完成,使啟動成本較低(一個串流單位),但可調整(最多 396 個串流單位)。 執行一些串流分析作業比執行和維護叢集更有成本效益。

Azure 串流分析具有豐富的現成體驗。 您可以立即利用下列功能,而不需要任何額外的設定:

  • 內建時態運算符,例如 視窗式匯總、時態聯結和時態分析函式。
  • 原生 Azure 輸入和輸出配接器
  • 支援緩慢變更 參考數據 (也稱為查閱表格),包括與地理空間參考數據聯結以進行地理柵欄。
  • 整合式解決方案,例如 異常偵測
  • 相同查詢中的多個時間範圍
  • 能夠以任意順序撰寫多個時態性運算子。
  • 從輸入抵達事件中樞的 100 毫秒端對端延遲,到在事件中樞輸出登陸,包括來自事件中樞和事件中樞的網路延遲,持續高輸送量

使用其他技術的時機

您想要以 JavaScript 或 C# 以外的語言撰寫 UDF、UDA 和自訂還原序列化程式

針對雲端作業,Azure 串流分析支援 JavaScript 的使用者定義函式 (UDF) 或使用者定義彙總 (UDA);針對 IoT Edge 作業,則支援 C# 的使用者定義函式 (UDF) 或使用者定義彙總 (UDA)。 也支援 C# 的使用者定義還原序列化程式。 如果您想要以其他語言 (例如 Java 或 Python) 實作還原序列化程式、UDF 或 UDA,則可以使用 Spark 結構化串流。 您也可以在自己的虛擬機上執行事件中樞 EventProcessorHost ,以執行任意串流處理。

您的解決方案位於多重雲端環境或內部部署環境

Azure 串流分析是 Microsoft 的專屬技術,只能在 Azure 中使用。 如果您需要將解決方案移植到雲端或內部部署,請考慮開放原始碼技術,例如Spark結構化串流或 Apache Flink

下一步