iPAS AI 應用規劃師 中級 科目二 大數據處理分析與應用

IoT 感測器兼顧即時性、完整性、可擴展性,哪種架構最合適?

原題 19

某製造企業導入上萬台物聯網(IoT)感測器以進行設備健康監測。系統需在毫秒級回應異常事件,並同時將完整資料保留於雲端供後續 AI 模型訓練與分析。若企業希望兼顧即時性、資料完整性與可擴展性,下列哪一種資料流程設計最符合此目標?

白話

製造企業有上萬台 IoT 感測器要監控。系統同時有三個要求:毫秒級即時回應異常、完整資料要存到雲端給 AI 訓練用、系統要能擴展到更多感測器。

問你:哪一種資料流程架構能同時滿足毫秒級即時性、資料完整性和可擴展性?

點選你的答案。

01 總結

一句話總結

三個同時滿足的關鍵:邊緣運算節點(解決毫秒級即時性)→ 流式資料處理(在資料流動時就分析)→ 雲端資料湖(保留完整資料供 AI 訓練),這是現代工業 IoT 架構的標準設計。

02 情境

先感受問題:三個要求,選項 A 只能同時滿足一個

東嶸製造導入了 10,000 台生產設備感測器,每台每 100 毫秒回傳一次溫度和震動資料。

IT 架構師立偉面對三個要求:

要求 1:毫秒級即時性:設備異常要在 500 毫秒內觸發停機警報,避免設備損壞。
要求 2:資料完整性:所有歷史感測器資料要完整保留,供未來訓練預測性維護模型。
要求 3:可擴展性:未來可能增加到 50,000 台感測器,系統架構要能橫向擴展。

這三個要求的困難在於:

要即時,資料就得在「靠近設備的地方」就處理,不能先傳到遠端雲端再計算(網路延遲太高)。

要完整性,所有原始資料都得傳到雲端儲存,不能在本地就丟掉。

要可擴展,架構不能是單機,必須是分散式、可水平擴展的設計。

03 對照

不同架構為什麼分別只能滿足部分要求

  1. 直接傳雲端的延遲問題:感測器 → 雲端 API Gateway → 分析,中間需要網路往返(Round-Trip Time),即使光纖也需要 10-50 毫秒,加上雲端處理時間,毫秒級回應幾乎做不到。設備異常時,警報已經來不及。
  2. 批次處理的延遲問題:批次特徵工程(Batch Feature Engineering)是累積一段時間的資料後一起計算,天然無法達到毫秒級響應。用在事後分析很好,但不適合即時監控。
  3. 資料倉儲不適合存原始感測器資料:資料倉儲(Data Warehouse)設計給結構化的商業智慧查詢,不適合存儲每 100 毫秒一筆的高頻時序原始資料。資料湖(Data Lake)才能以低成本存儲大量原始格式資料。
  4. RESTful API 的吞吐量瓶頸:RESTful API 每個請求需要建立 HTTP 連線,10,000 台設備每 100 毫秒各發一個請求,每秒 100,000 個 HTTP 請求,API Gateway 很快就達到瓶頸。MQTT 或 Kafka 等訊息協定設計來處理這種高頻連接。
  5. 無法同時做即時和事後分析:如果架構只設計了「即時路徑」(本地邊緣計算但不存雲端),就無法用完整歷史資料做 AI 模型訓練;如果只設計了「批次路徑」(存到雲端但不在本地即時計算),就達不到毫秒級響應。
04 解法

三層架構:邊緣即時 + 流式處理 + 雲端資料湖

東嶸製造立偉設計的架構分三層:

第一層:感測器 → 邊緣運算節點

每個廠區有一台邊緣計算伺服器,接收附近幾百台感測器的資料。邊緣節點在本地就做初步計算,不需要先傳到雲端,網路延遲從 50ms 降到 1-2ms。

第二層:邊緣節點 → 流式資料處理框架(Stream Processing Framework)

使用 Apache Flink 或 Apache Kafka Streams,在資料「流動的當下」做異常偵測計算(例如:滑動視窗內溫度均值超閾值),觸發毫秒級警報。同時,這層也把資料串流分成兩路:一路送到即時告警,另一路傳到雲端儲存。

第三層:流式處理 → 雲端資料湖(Data Lake)→ 模型推論和訓練

所有原始感測器資料完整傳到雲端資料湖(如 AWS S3、Azure Data Lake)長期保存,供後續 AI 模型訓練用。

這就是選項 C 講的:感測器 → 邊緣運算節點 → 流式資料處理框架(Stream Processing Framework)→ 雲端資料湖 → 模型推論

技術版:邊緣運算 + 流式處理 + 資料湖的架構設計

三層架構的技術元件

架構層技術元件範例
邊緣運算節點NVIDIA Jetson、Intel NUC、工業 PC,執行輕量推論模型
流式資料傳輸MQTT(輕量 IoT 協定)、Apache Kafka(高吞吐訊息佇列)
流式處理框架Apache Flink、Kafka Streams、Apache Spark Structured Streaming
雲端資料湖AWS S3 + Glue、Azure Data Lake Storage、GCP Cloud Storage
模型訓練平台SageMaker、Azure ML、Vertex AI,使用資料湖的歷史資料

流式處理 vs 批次處理在 IoT 場景的差異

  • 流式處理(Streaming):資料一進來就處理,延遲 毫秒到秒級,適合異常告警、即時推薦、即時計費。
  • 批次處理(Batch):累積資料後定期計算,延遲 分鐘到小時,適合報表生成、模型重新訓練、歷史分析。
  • Lambda 架構:同時維護兩條路徑,串流層做即時近似計算,批次層做精確計算,服務層合併結果。

邊緣運算的價值:把運算推到靠近資料源頭,核心好處是:(1) 延遲降低(本地計算 < 1ms vs 雲端往返 > 20ms);(2) 頻寬節省(只傳警報和摘要,不傳全量原始資料);(3) 離線運作能力(網路中斷時仍能本地監控)。代價是:邊緣設備的運算能力有限,無法跑複雜的大型模型,通常只做輕量的規則判斷或小型 ML 模型推論。

05 陷阱

為什麼其他選項是錯的

A感測器 → 雲端 API Gateway → 分散式資料庫 → 批次特徵工程(→ 模型推論)

字面在說什麼

資料先傳到雲端,存進分散式資料庫,再用批次方式做特徵工程。

為什麼不對

「批次特徵工程」天然有時間延遲,無法達到毫秒級即時響應。而且所有資料都先傳到雲端 API Gateway,網路延遲加上雲端計算時間,不可能做到毫秒級警報。這個架構適合事後分析,不適合即時監控。

誰會選錯

習慣「雲端集中式架構」,沒有邊緣運算概念的人。傳統 IT 架構是「所有資料送到中央處理」,但 IoT 即時監控需要「在靠近資料源的地方先處理」。

B感測器 → MQTT Broker → 雲端資料倉儲 → 即時儀表板 → 模型再訓練

字面在說什麼

用 MQTT 收集資料,存到雲端資料倉儲,再用儀表板顯示。

為什麼不對

幾個問題:(1) 資料倉儲(Data Warehouse)設計給結構化查詢分析,不適合高頻原始感測器資料存儲,應用資料湖(Data Lake);(2) 「即時儀表板」是展示工具,不是異常偵測計算邏輯;(3) 缺少邊緣運算層,所有資料傳到雲端才處理,無法達到毫秒級響應。儀表板是「給人看的」,不是「觸發警報的」。

誰會選錯

知道 MQTT 是 IoT 協定,就覺得方向對了,沒有仔細審視「資料倉儲」和缺少邊緣計算的問題。

D感測器 → 本地快取層 → RESTful API → 雲端報表系統 → 模型批次更新

字面在說什麼

資料先快取,再用 API 傳到雲端,做報表和批次模型更新。

為什麼不對

RESTful API 不適合 10,000 台設備每秒高頻連接(HTTP 連線建立開銷大),應用 MQTT 或 Kafka;「雲端報表系統」是事後查詢的工具,不是即時監控;「模型批次更新」更是純事後處理,根本無法即時。這個架構的每個元件都在朝「延遲型」方向選,完全不符合毫秒級要求。

誰會選錯

對「快取」和「RESTful API」比較熟悉,覺得「快取 = 快」,但快取的「快」是「讀取快」,不是「即時處理快」。IoT 即時監控的瓶頸不在快取,在計算和傳輸延遲。

06 變形

同個考點下次怎麼變形

變形 1

Lambda 架構和 Kappa 架構有什麼差別?哪個更適合這個場景?

直覺

既要即時又要批次,這兩種架構怎麼取捨?

答案

Lambda 架構維護兩條獨立的資料管道:批次層(高延遲、高精確度)和速度層(低延遲、近似結果),服務層合併兩者結果。維護成本高,兩套程式碼。Kappa 架構只有一條串流管道,用串流框架(如 Flink)同時做即時計算和歷史重播(Replay),維護成本低但對串流框架要求高。這個 IoT 場景中,Kappa 架構更適合(串流框架同時做即時異常偵測和歷史資料重播),但如果批次和串流邏輯差異很大,Lambda 更清晰。

變形 2

資料湖(Data Lake)和資料倉儲(Data Warehouse)有什麼核心差異?

直覺

兩個都是「存資料的地方」,哪裡不同?

答案

資料湖:以原始格式(JSON、CSV、Parquet、影像)儲存所有類型資料,「先存再想怎麼用」,適合大量低成本儲存和探索性分析。資料倉儲:結構化資料,有預定義的 Schema,「想清楚了再存」,針對商業智慧查詢(SQL)優化,適合報表和 KPI 追蹤。IoT 原始感測器資料用資料湖(不限格式、可擴展),最終的分析結果可以載入資料倉儲供業務用戶查詢。

變形 3

邊緣運算的主要限制是什麼?哪些工作應該放在雲端做?

直覺

邊緣運算這麼好,為什麼不把所有計算都放在邊緣?

答案

邊緣設備的主要限制:運算能力有限(不能跑 GPT 等大模型)、儲存容量小(不能保留長期歷史資料)、硬體成本高(每個邊緣節點都需要費用)。因此,邊緣適合:輕量的規則判斷、小型 ML 推論(分類、異常偵測)、資料壓縮和預聚合。雲端適合:大型模型訓練、長期歷史分析、複雜的多資料集聯合計算、模型更新後的推送。

變形 4

MQTT 和 Kafka 在 IoT 場景中各扮演什麼角色?

直覺

兩個都是「傳訊息」的,有什麼不同?

答案

MQTT(Message Queuing Telemetry Transport)設計給資源受限的 IoT 裝置:協定輕量(最小封包 2 bytes)、支持不穩定網路(QoS 0/1/2 三種可靠度等級)、低功耗。Kafka 是高吞吐量的分散式串流平台:支持百萬級訊息/秒、資料持久化(可重播)、支持多消費者。常見架構:IoT 設備 → MQTT Broker(感測器到邊緣/雲端的協定轉換)→ Kafka(在雲端做高吞吐量的訊息緩衝和分發)→ Flink/Spark(串流計算)。

變形 5

「可擴展性(Scalability)」在 IoT 架構中的具體意義是什麼?

直覺

可擴展性就是「加機器就能處理更多」?

答案

可擴展性分兩種:垂直擴展(Scale Up,換更強的機器)和水平擴展(Scale Out,加更多機器)。IoT 場景的正確設計是水平擴展:Kafka 的 Partition 增加、Flink 的 TaskManager 增加、資料湖的儲存節點增加,讓系統在不改程式碼的情況下,透過增加硬體節點來支撐更多感測器。批次系統(批次特徵工程)通常不能水平擴展來解決即時性問題,因為延遲是設計決策,不是硬體問題。

07 延伸

想再往下看,這 5 個

出處

iPAS 經濟部產業人才能力鑑定 ・ 114 年第二梯次 iPAS AI 應用規劃師 中級 科目二 大數據處理分析與應用 第 19 題

查看官方原文 PDF