探索串流處理架構的常見元素

已完成

有許多技術都可用來實作資料流處理解決方案,雖然特定實作的詳細資料可能會有所不同,但大部分資料流架構都有共通的元素。

資料流處理的一般架構

簡單來說,資料流處理的高階架構如下所示:

產生資料的事件圖表,系統會在處理該資料之前先在佇列中擷取該資料,而結果會寫入至資料存放區或視覺化。

  1. 事件會產生一些資料。 可能是感應器發出的訊號、有人張貼了社交媒體訊息、有記錄檔項目正在寫入,或可能導致數位資料出現的任何事物。
  2. 系統會擷取產生的資料,並放在資料流來源中以供處理。 在簡單的情況下,來源可能是雲端資料存放區中的資料夾,或資料庫中的資料表。 而在更為健全的資料流解決方案中,來源可能是包含了邏輯的「佇列」,可確保事件資料會依序處理,且每個事件只會處理一次。
  3. 在處理事件資料時,通常會由在事件資料上運作的永久查詢來處理,該查詢會選取特定類型的事件、專案資料值,或某段時間內 (時間型,又稱「時間範圍」) 的彙總資料值。例如,計算每分鐘感應器所發出的訊號數量。
  4. 資料流處理作業的結果會寫入輸出 (又稱接收) 中,可能是檔案、資料庫資料表、即時視覺化儀表板,或另一個可供後續下游查詢進一步處理的佇列。

即時分析服務

Microsoft 支援多種技術,您可以用來實作串流資料的即時分析,包括:

  • Azure 串流分析:一種平台即服務 (PaaS) 解決方案,您可以用來定義「串流工作」,其會從串流來源擷取資料、套用永久查詢,以及將結果寫入至輸出。
  • Spark 結構化串流:一種開放原始碼程式庫,可讓您在 Apache Spark 型服務上開發複雜的串流解決方案,包括 Microsoft FabricAzure Databricks
  • Microsoft Fabric:一種高效能資料庫和分析平台,其中包含資料工程、Data Factory、資料科學、即時分析、資料倉儲和資料庫。

資料流處理的來源

下列服務常用於內嵌資料,以便在 Azure 上進行資料流處理:

  • Azure 事件中樞:一種資料擷取服務,您可以用來管理事件資料的佇列,以確保每個事件只會依序處理一次。
  • Azure IoT 中樞:一種與 Azure 事件中樞類似的資料擷取服務,但已最佳化為管理來自物聯網 (IoT) 裝置的事件資料。
  • Azure Data Lake Store Gen 2:一種可高度調整的儲存體服務,通常用於「批次處理」案例,但也可以用作串流資料的來源。
  • Apache Kafka:一種開放原始碼資料擷取解決方案,通常會與 Apache Spark 搭配使用。

資料流處理的接收

資料流處理的輸出通常會傳送到下列服務:

  • Azure 事件中樞:用來將已處理的資料排入佇列,以進行進一步的下游處理。
  • Azure Data Lake Store Gen 2Microsoft OneLakeAzure Blob 儲存體:用來將已處理的結果保存為檔案。
  • Azure SQL DatabaseAzure DatabricksMicrosoft Fabric:用來將已處理的結果保存在資料表中,以進行查詢和分析。
  • Microsoft Power BI:用來在報表和儀表板中產生即時的資料視覺效果。