什麼是資料串流?

資料串流是傳輸連續資料流(也稱為串流)的過程,通常饋入串流處理軟體中以獲取有價值的見解。資料串流由一系列按時間排序的資料元素所組成,資料代表業務中發生的「事件」或狀態變化,有助於企業瞭解情況和分析,通常是即時發生的。資料串流的一些範例包括感應器資料、來自 Web 瀏覽器的活動日誌和金融交易日誌。資料串流可以被看成是一條循環傳送帶,當中攜帶著資料元素,將它們不斷地輸入資料處理器中。

資料串流範例

隨著物聯網 (IoT) 的增長和客戶期望不斷升高,資料串流和串流處理的重要性也隨之增加,個人健康監測器和家庭安全系統正是資料串流源的兩個例子。家庭安全系統包括多個移動感應器來監控房屋的不同區域,這些感應器會產生資料串流並連續傳輸到負責處理的基礎設施,由該處理設施即時監控任何意外活動,或保存資料以供分析,以便稍後找出較難偵測到的模式。健康監測器是資料串流源的另一個範例,包括心跳、血壓或氧氣等監測器,這些設備會不斷產生資料,即時分析這些資料至關重要,因為它可能攸關人命安全。

資料串流的一般特徵是什麼?

來自感應器、Web 瀏覽器和其他監控系統的串流資料具有一些特徵,使它們與傳統的歷史資料有所不同。以下是串流資料的幾個關鍵特徵:

對時間敏感

資料串流中的每個元素都帶有一個時間戳記,而且資料串流對時間敏感,會在一定時間後失去意義。例如,如果家庭安全系統中出現了代表可疑移動的資料,就應在短時間內分析和處理,以保持其相關性。

連續

串流資料沒有開始或結束,資料串流是連續並且是即時發生的,但它們並不總是需要在當下採取行動,如何反應具體取決於系統要求。

異質

串流資料通常來自數千個不同的來源,這些來源可能在地理上相距遙遠。由於來源的差異,串流資料可能是不同格式的混合體。

不完美

由於來源的多樣性和不同的資料傳輸機制,資料串流的資料元素可能有所缺漏或損壞。此外,串流中的資料元素也可能不是依序到達。

易變且不可重複

由於資料串流是即時發生的,因此想要重複傳輸同一個串流是非常困難的事情。雖然有重新傳輸的機制,但新資料可能與上一個不同,這使得資料串流極為不穩定。但是,許多現代化系統都會記錄其資料串流,因此即使您目前無法存取它,稍後仍可對其進行分析。

免費電子書:哪種類型的分析法適合您?報告型分析,預測型分析,還是介於兩者之間的所有內容
免費電子書:報告、預測型分析,還是兩者混合,哪種類型的分析方案最適合您?
哪種分析法最適合您?尋找適合您業務需求的最佳解決方案。

資料串流對企業有何意義?

串流格式的資料在當今世界非常重要,許多物聯網設備和網際網路使用者每秒都會產生大量的連續即時資料,即時處理這些資料對組織來說,既是挑戰也是機遇。

不斷變化的資料性質

傳統上,組織會隨著時間推移而持續收集資料,將其儲存在資料倉儲中,之後再分批處理它們,以便節省稀有的運算能力。然而近年來,資料結構和處理技術發生了很大的變化,例如,物聯網廣泛引入的感應器會產生串流資料,信用卡與線上金融交易也會產生需要分析和驗證的即時資料,Web 瀏覽器則會產生線上交易和活動日誌。資料串流和串流處理技術對於處理這些類型的資料至關重要。

大量資料

因為每秒產生的資料量實在太大,無法儲存在任何資料倉儲中,所以串流資料通常是在當下進行評估,判斷它是否為重要的即時資料。因此,系統會串流傳輸資料並立即對其分析,以確定哪些內容需要儲存、哪些不儲存,幫助組織減少資料遺失、節省資料儲存容量,並節省基礎架構成本。

資料串流範例

物聯網:物聯網包含大量使用感應器來收集資料並將其即時傳輸到資料處理器的設備,這些物聯網資料產生了串流資料。手錶之類的可穿戴健康監測器、家庭安全系統、交通監控系統、生物辨識掃描儀、聯網家電、網路安全和隱私系統等,都會即時產生和傳輸資料。

即時股市監控:即時金融資料通常以串流格式傳輸,處理和分析這些財務資料(如股票價格和市場趨勢)有助於組織快速做出關鍵決策。

活動和交易日誌:網際網路也是即時串流資料的主要來源之一。當人們存取網站或點擊連結時,Web 瀏覽器會產生相應的活動日誌。線上金融交易(如信用卡購物)也會產生對時間要求嚴格的資料,可以串流傳輸並處理這些資料以進行即時操作。

製程監控器:每家公司的內部系統都有數十億個資料點,透過即時串流傳輸並處理這些資料,企業將能監控系統運作狀態,並在事態變嚴重之前迅速採取行動。例如,製造公司通常有設備可以監控裝配線的健全情況並偵測故障以評估生產風險,這些設備還可以傳輸對時間要求嚴格的資料,以監控甚至防止製程中斷。

什麼是串流處理?它的工作原理?

為了處理串流資料或即時資料,您需要一個與傳統批次處理完全不同的流程。串流處理器會收集、分析並視覺化連續資料串流。當然進行處理時,您需要從資料串流開始著手,資料串流是串流處理的起點。串流處理主要用於接收資料串流並從中獲取洞察見解,通常是即時進行的。由於串流資料的獨特性,串流處理器需要滿足以下要求:

低延遲

串流處理器應該可以在連續資料串流上快速工作,但由於兩個原因,處理速度通常是一個重大問題。第一,資料是以連續串流的形式進入,如果處理器速度太慢並且遺失了資料,它就無法回頭處理。其次,串流資料在短時間內就會失去相關性。任何處理延遲都會導致資料價值下降。

可擴展性

串流資料的大小並非總是相同。例如,感應器通常只產生少量資料,但偶爾會出現資料峰值。由於資料量是不可預測的,因此在必要時,處理器應該要能向上擴展以處理大量資料。

可用性

串流處理器無法承受長時間的停機。串流資料是連續的,並且會即時到達,因此處理器必須可以容錯,這意味著即使它的某些組件發生故障,它也應該要能繼續運作。串流處理器還應該能夠收集、處理並立即將洞察見解傳遞給上層進行呈現。

串流處理器的主要組件是什麼?

一般來說,串流處理有兩個使用案例:

資料串流管理

在資料串流管理中,串流處理的目標是建立傳入資料的摘要或構建模型。例如,從連續的面部資料串流中,串流處理器可能可以建立出一份面部特徵清單。此使用案例的另一個例子是網際網路活動日誌,從源源不斷的使用者點擊資料串流中,串流處理器可以試圖計算出使用者的偏好和品味。

複雜事件處理

複雜事件處理是適用於大多數物聯網資料串流的使用案例。在這個使用案例中,資料串流由事件串流所組成,串流處理器的工作是提取重要事件,得出有意義的見解,並將資訊快速傳遞給較高層級,以便即時採取迅速行動。

一些串流處理器只處理上述使用案例之一,而另一些進階處理器會同時處理這兩種情況。無論使用案例如何,串流處理器的端對端架構都應具有以下功能:

資料產生

資料產生系統是指原始資料的各種來源,如感應器、交易監視器和 Web 瀏覽器,它們會不斷產生資料給串流處理系統使用。

資料處理與彙集

上述每個資料產生來源都與一個用戶端相關聯,該用戶端從來源處接收資料,被稱為來源用戶端。彙集工具會整理來自多個來源用戶端的資料,然後將動態資料集中傳送到資料緩衝區。

傳訊緩衝

傳訊緩衝區會從彙集代理程式中取得串流資料,並在傳遞給邏輯處理器之前暫時儲存它們。傳訊緩衝區有兩種主要類型:基於主題、基於佇列。在基於主題的緩衝區中,傳入的資料是以稱為「主題」的記錄形式儲存,可以有一或多個資料生產者為一個主題做出貢獻。基於佇列的傳訊緩衝區則較像是一個點對點的緩衝系統,從單一生產者讀取資料並傳遞給單一資料消費者。

訊息代理程式

資料收集、彙集和傳訊緩衝系統共同構成一個訊息代理系統。訊息代理程式的功能是彙集來自各種來源的串流資料,對其進行格式化,再傳遞給一個連續邏輯處理系統。

連續邏輯處理

這是串流處理架構的核心。連續邏輯處理子系統會對傳入的資料串流進行各種預先定義好的查詢,以獲取有用的見解,而這些查詢可能與儲存在 XML 文件中的查詢一樣簡單,並會對傳入的資料持續進行這些查詢,此子系統可以為使用者定義宣告式命令語言,以便使用者可以輕鬆建立這些查詢。連續邏輯處理系統通常是在分散式機器上執行,以實現可擴展性和容錯性。多年來,邏輯處理系統已經發展到可以對查詢進行動態修改和編程 API,使查詢變得更簡易。

儲存和呈現

這是串流處理中的兩個輔助系統。儲存系統會保留輸入資料串流的摘要,以供將來參考,它還會儲存針對連續資料串流所執行的查詢結果。呈現系統則用於將資料視覺化後顯示給消費者,呈現系統可能包括更高等級的分析系統或給最終使用者的警報機制。

串流處理 vs. 批次處理

傳統上,組織會從各種來源(如銷售記錄、客戶互動和評論)收集資料,並將它們儲存在資料倉儲中,然後在資料分析系統上分批處理這些資料。批次處理通常適用於歷史資料,因為它不具有時間關鍵性。儘管歷史資料很重要,但它並不能提供當今許多組織所追求的即時洞察力,而串流處理用於提供對即時資料的洞察見解,因此需要快速處理。

批次處理允許在方便時靈活地儲存和處理資料,串流處理卻需要即時或接近即時的操作。批次處理對時間要求並不嚴格,因此不需要像串流處理那樣快速。與串流處理相比,批次處理通常需要較大的基礎設施來儲存等待分析的資料。但是,大多數組織需要同時結合串流處理和批次處理,才能在當今市場上取得成功。

嘗試 TIBCO Spotfire - 免費試用
嘗試 TIBCO Spotfire - 免費試用
借助 TIBCO Spotfire(市場上最完整的分析解決方案),可以輕鬆地從數據中發現新見解。

資料串流和處理的好處

串流處理和高回報

一般來說,組織可以從資料中獲得巨大的價值。即時串流處理技術透過分析對時間敏感的資料來幫助組織獲得優勢,以便他們能夠針對潛在問題做出快速應對和回應。例如,串流分析可幫助金融機構監控即時股票價格,並做出時間緊迫的決策,它可以幫助他們瞭解即時市場趨勢。強大的視覺化系統以及即時串流處理基礎設施,使組織能夠縮短對於關鍵事件的回應時間。

降低基礎設施成本

在傳統的資料處理中,資料通常大量儲存在資料倉儲內,而這些儲存系統和硬體的成本通常是組織的沉重負擔。透過串流處理,資料並不會大量儲存,因此處理系統的硬體成本較低。

減少可預防的損失

即時資料串流使組織能夠持續監控其業務生態系統,讓組織瞭解可能的安全漏洞、製造問題、客戶不滿、財務崩潰、或即將發生的社會形象破壞等。透過持續的資料串流和處理,組織就能避免此類可預防的問題。

提高競爭力和客戶滿意度

透過即時資料處理,組織能夠在潛在問題造成困擾之前主動解決它們,因而有時間和優勢可以超越競爭對手。資料串流和處理還可以提高客戶滿意度,因為客戶問題可以即時得到解決。有了連續、即時的資料處理,再也不會因為資料存在倉儲中等待處理而造成延遲了。

資料串流和處理的挑戰

資料串流和處理系統需要處理極為易變、即時和連續的資料,這些串流資料通常是異質和不完整的,因此串流資料的本質已對資料串流和處理帶來了許多挑戰。

資料量和多樣性

資料串流需要處理大量的連續即時資料,而資料遺失和資料封包損壞是資料串流的常見問題。串流資料通常是異質的,源自不同的地理位置和應用程式。由於其本質,處理這些資料對於資料串流和處理應用程式來說是一個挑戰。

時效性

串流資料的相關性會隨著時間推移而降低,因此資料串流和處理系統應該要夠快,才能在資料仍然相關時對其進行分析。串流資料的這種時間關鍵特性需要有高效能的容錯系統支持。

彈性

串流資料量每天都在增加。為了保持一定水準的服務品質,串流處理系統需要動態地適應負載變化。串流資料來源可能並非一直傳輸大量資料,在這種情況下,必須讓處理系統只使用最少的資源,等到需求增加時,再動態分配更多資源給系統。這種對彈性的需求是串流處理系統的另一個挑戰。

容錯

串流處理是即時連續發生的,因為串流資料不能重複或完美重傳,所以串流處理系統無法承受停機時間。與傳統的批次處理系統相反,資料收集和處理之間不會相差太久,因此系統必須永遠可用,並且應能始終運作不輟。如果系統的任何部分出現故障,該故障不應影響到處理系統的其餘部分。