如何建立有效的流數(shù)據(jù)架構(gòu)
企業(yè)正被各種來源的實(shí)時數(shù)據(jù)所淹沒,包括來自網(wǎng)絡(luò)和移動應(yīng)用程序、物聯(lián)網(wǎng)、市場數(shù)據(jù)和交易等。從理論上講,企業(yè)應(yīng)該可以利用這些大量信息改善客戶體驗、節(jié)省資金和創(chuàng)造利潤。
這里的挑戰(zhàn)是弄清楚如何利用這些數(shù)據(jù)流,以及應(yīng)使用哪些分析類型。
有效的實(shí)時分析架構(gòu)可以幫助業(yè)務(wù)經(jīng)理和數(shù)據(jù)科學(xué)家快速測試新想法,以識別和擴(kuò)展最佳用例。
傳統(tǒng)的分析方法依賴于將數(shù)據(jù)結(jié)構(gòu)化,并存儲在數(shù)據(jù)庫中,這些數(shù)據(jù)庫需針對特定查詢類別進(jìn)行優(yōu)化。實(shí)時分析可處理不斷變化的數(shù)據(jù),并且必須實(shí)時進(jìn)行結(jié)構(gòu)化。
IT咨詢公司ITRenew的計算和存儲解決方案高級副總裁Erik Riedel表示:“通過流分析,可以隨時了解特定時刻企業(yè)中發(fā)生的事件并對其采取行動,以及利用這些信息做出更好的業(yè)務(wù)決策。”
同時,重要的是設(shè)計可以響應(yīng)和擴(kuò)展的實(shí)時分析架構(gòu),而不是僅僅構(gòu)建一次性的流分析項目。
決定你的流數(shù)據(jù)架構(gòu)的關(guān)鍵問題
所有流架構(gòu)將具有相同的核心組件,其中包括流數(shù)據(jù)聚合器、代理-用于管理對這些數(shù)據(jù)訪問權(quán)限,以及分析引擎。但是這些組件需要針對不同類型的企業(yè)和用例進(jìn)行定制。
Riedel說:“流傳輸所需的特定數(shù)據(jù)架構(gòu)將隨數(shù)據(jù)大小、事務(wù)處理頻率以及分析所提問題的復(fù)雜性而變化。”
例如,我們會看到,在大型企業(yè)中提供不同種類的實(shí)時分析,以及向企業(yè)總部的少數(shù)分析師提供實(shí)時分析數(shù)據(jù)以發(fā)現(xiàn)季度趨勢,這兩者可能存在很大差異。
應(yīng)考慮的關(guān)鍵問題包括:
- 數(shù)據(jù)大小如何?
- 更新或事務(wù)頻率如何?
- 查詢復(fù)雜性如何?
- 所需要服務(wù)的分析師或應(yīng)用程序有多少?
Riedel說,這些問題的答案將會影響系統(tǒng)設(shè)計一直到硬件級別–在數(shù)據(jù)存儲、RAM和分布式內(nèi)存訪問方面。流數(shù)據(jù)的地理分布可能給系統(tǒng)帶來額外的壓力,因為即使適度的交易速率也需要仔細(xì)的系統(tǒng)設(shè)計。
實(shí)時分析架構(gòu)構(gòu)建塊
國際IT咨詢和軟件開發(fā)公司ScienceSoft的數(shù)據(jù)分析部門負(fù)責(zé)人Alex Bekker表示,該公司使用以下模塊來構(gòu)建IoT實(shí)時分析架構(gòu):
- 事物—配備傳感器以生成數(shù)據(jù)用于分析的對象;
- 網(wǎng)關(guān)—事物與架構(gòu)的云部分之間的關(guān)鍵
- 數(shù)據(jù)湖—以數(shù)據(jù)原始格式存儲數(shù)據(jù)的臨時存儲庫;
- 大數(shù)據(jù)倉庫—存儲已處理和結(jié)構(gòu)化數(shù)據(jù)的存儲庫,這些數(shù)據(jù)需要進(jìn)一步分析以提供有意義的見解;
- 數(shù)據(jù)分析部分—即分析發(fā)生的地方;
- 控制應(yīng)用程序—在該模塊,自動命令和警報發(fā)送到應(yīng)用程序或IoT應(yīng)用程序中的實(shí)際執(zhí)行期。
規(guī)劃實(shí)時分析用例的增長
當(dāng)有些實(shí)時分析應(yīng)用程序取得成功時,對新型分析方法的需求就會淹沒數(shù)據(jù)管理者和數(shù)據(jù)工程師。
Riedel說:“當(dāng)分析的商業(yè)價值變得明確,對系統(tǒng)的使用和對豐富分析的需求就會迅速增長。”
他發(fā)現(xiàn)開放標(biāo)準(zhǔn)和開放框架可以幫助解決硬件和軟件的關(guān)鍵基礎(chǔ)架構(gòu)可擴(kuò)展性和適應(yīng)性挑戰(zhàn),還可以消除供應(yīng)商鎖定等障礙。當(dāng)數(shù)據(jù)管理者現(xiàn)場要求突然改變分析方法或工具,而需要全面更改基礎(chǔ)結(jié)構(gòu),這一點(diǎn)很重要。
Riedel看到的常見挑戰(zhàn)在于,當(dāng)需求和分析復(fù)雜性增加時,如何有效地擴(kuò)大分析規(guī)模,而在事務(wù)或分析放慢時,如何有效地縮減分析規(guī)模。通過從最低級別開始追求開放基礎(chǔ)架構(gòu),可以更輕松地擴(kuò)展應(yīng)用程序。
明確目標(biāo)
實(shí)時分析項目在處理太多流數(shù)據(jù)或關(guān)注錯誤目標(biāo)時會出現(xiàn)問題。
AWS咨詢合作伙伴FuseForward Solutions Group Ltd.的創(chuàng)始人兼CTO Mark Damm說,很多IT團(tuán)隊缺乏處理大型和復(fù)雜數(shù)據(jù)集的技能、資源或預(yù)算。其結(jié)果是,他們實(shí)際只利用了大約1%的數(shù)據(jù)。
他認(rèn)為,從數(shù)據(jù)架構(gòu)、基礎(chǔ)設(shè)施或工具入手是錯誤的。相反,最好是盡可能清晰地了解企業(yè)的近期和長期目標(biāo)。
接下來,確定可用的數(shù)據(jù)流。只有這樣,才可能圍繞基礎(chǔ)架構(gòu)和工具做出可行的信息選擇。Damm發(fā)現(xiàn),在云端部署實(shí)時分析可以提供靈活性和敏捷性,以快速創(chuàng)建和發(fā)展新的解決方案。
他說:“傳統(tǒng)的本地架構(gòu)面臨的挑戰(zhàn)是,提供流分析所需的適當(dāng)存儲、處理和快速響應(yīng)。”
Damm認(rèn)為霧計算是一種日益流行的方法,可處理復(fù)雜數(shù)據(jù)流以滿足本地需求,因為它可更容易地將流處理移至邊緣。
減少數(shù)據(jù)處理中的噪音
分析和數(shù)據(jù)管理工具提供商Information Builders的產(chǎn)品管理高級副總裁Keith Kohl說,在構(gòu)建支持流的基礎(chǔ)結(jié)構(gòu)時,了解業(yè)務(wù)用例是的最重要的因素之一。這也可以更容易地構(gòu)建反映業(yè)務(wù)功能的應(yīng)用程序,并且應(yīng)用程序更加模塊化和可重用。
很多流行的流處理工具包含針對特定功能過濾掉流數(shù)據(jù)的功能。例如,Kafka流數(shù)據(jù)架構(gòu)使你可以使用與特定用例相關(guān)的消息來創(chuàng)建主題。分析應(yīng)用程序可以配置為訂閱所需主題的適當(dāng)子集。其他流行的工具也有類似功能,例如Apache Flink、Apache Spark和Apache Flume。
流分析組件
數(shù)據(jù)湖提取和轉(zhuǎn)換工具提供商Upsolver的首席執(zhí)行官Ori Rafael說,隨著存儲成本的下降,企業(yè)可以更好地存儲流數(shù)據(jù)用于后續(xù)的分析應(yīng)用程序。
傳統(tǒng)的數(shù)據(jù)架構(gòu)是圍繞企業(yè)數(shù)據(jù)倉庫而構(gòu)建,數(shù)據(jù)倉庫提供高性能SQL數(shù)據(jù)庫用于報告分析。但是,對于流數(shù)據(jù)架構(gòu),將無模式數(shù)據(jù)從流轉(zhuǎn)換為數(shù)據(jù)倉庫所需的關(guān)系格式可能會非常昂貴。
現(xiàn)在企業(yè)開始采用流數(shù)據(jù)架構(gòu),其中他們將數(shù)據(jù)直接存儲在消息代理中–使用Kafka持久存儲等功能,或者存儲在數(shù)據(jù)湖中–使用Amazon Simple Storage Service或Azure Blob等工具。這些工具減少了前期整理數(shù)據(jù)到表中的需求。但是,當(dāng)需要新類型的分析時,數(shù)據(jù)管理者必須花費(fèi)更多的時間來結(jié)構(gòu)化這些數(shù)據(jù)。
企業(yè)備份工具提供商Sungard AS的CTO架構(gòu)師Kiran Chitturi說,另一個可能影響架構(gòu)選擇的因素是不同類型的分析所需的查詢類型。流行的用例包括使用分布式SQL引擎、數(shù)據(jù)倉庫存儲或文本搜索,或?qū)⒌脱舆t流事件發(fā)送到業(yè)務(wù)應(yīng)用程序。
保持?jǐn)?shù)據(jù)來源也很重要,這樣業(yè)務(wù)用戶才能了解他們正在使用什么。生命周期管理軟件提供商PTC的分析副總裁Ed Cuoco表示,這可以包括了解數(shù)據(jù)質(zhì)量以及各種來源的數(shù)據(jù)量。這可以幫助業(yè)務(wù)用戶確定數(shù)據(jù)適用性,以用于各種類型的描述性、診斷性和預(yù)測性分析。