資料無疑是當今數字經濟中的新貨币,但要跟上企業資料變化和遞增的業務資訊需求,仍然是非常艱難。這也就解釋了公司将資料從傳統基礎構架中遷移至雲中,以衡量資料驅動決策的原因。這可確定公司寶貴資源——資料——受到監管,值得信任,友善管理和通路。
雖然企業也認可:基于雲的技術是確定跨企業間的資料管理、資料安全、隐私和流程合規性的關鍵,但關于如何更快地處理資料仍然存在一個有趣的争論。那就是批處理與流處理之間的PK。
每種處理方法都有其優缺點,但如何選擇還是依據具體的業務需求。下面會深入探讨哪些用例需要使用批處理,又有哪些用例需要使用流處理。
批處理和流處理之間有什麼差別?
批次是在特定時間間隔内組合在一起的資料點集合。通常用于此的另一個術語是資料視窗。流處理,用于處理連續資料,是将大資料轉換為快速資料的關鍵。這兩種模型都很有價值,每種模型都可用于解決不同的用例。他們甚至可以“融合”,可以在資料流中做資料視窗,也就是微批量。
雖然批處理模型需要時間段内收集的一組資料,但流處理需要将資料送入分析工具中,通常以實時微批量方式送入。處理來自傳統架構的大量資料或資料源時經常使用批處理,而在流中直接處理資料是不可行的。根據定義,批處理資料還需要将批處理需要的所有資料加載成某種類型的存儲、資料庫或檔案系統,然後才進行處理。有時,在開始分析階段之前,IT團隊可能會無所事事地等待,直至所有資料加載完成。
流處理也可以用于處理大量資料,但是當您不需要實時分析時,批處理工作效果最佳。由于流處理負責處理運動中的資料并快速提供分析結果,是以它可以用Apache Spark和Apache Beam等平台生成近乎即時的結果。
例如,Talend最近釋出的Talend Data Streams是一款免費的亞馬遜市場應用程式,由Apache Beam提供支援,可簡化并加速大量資料,攝取各種實時資料。
批處理一定比流處理好嗎?
無論您喜歡批處理還是支援流處理,兩者“融合“時會更好。雖然流處理最适合時間很重要的用例,批處理在收集所有資料時運作良好,但這不代表哪一個比另一個好-這實際上取決于您的業務目标。
然而,我們看到試圖利用流處理的公司發生了重大轉變。最近對超過16,000名資料專員的調查顯示,資料科學面臨的最常見挑戰包括髒資料、整體通路、或資料可用性等各方面。不幸的是,由于資料處于運動狀态,流式傳輸往往會加劇這些挑戰。在“跳槽”至實時的流處理之前,解決這些可通路性和資料品質問題是關鍵。
當我們與企業讨論他們如何收集資料并加速創新時,他們通常回答說:“想要實時的資料”,我們再問:“實時對您意味着什麼?”
商業用例可能會有所不同,但實時取決于事件建立或資料建立相對于處理時間的比例,可能是每小時,每五分鐘或每毫秒。
公司為何将資料批處理轉換為資料流處理?下面我打一個比方。想象一下,你剛剛從你最喜歡的啤酒廠訂購了一批啤酒,客人已準備好喝酒了。但在你能喝酒之前,你必須根據啤酒花的味道對啤酒進行評分,并編輯線上評論對每種啤酒進行評分。如果你知道每換一種啤酒喝就要完成相同的、重複的過程,那麼從一種啤酒到另一種啤酒需要相當長的時間。對于一個企業來說,啤酒相當于管道資料。不是等到你所有的資料後進行處理,而是你可以在幾秒或幾毫秒内微批量處理它(這意味着你可以更快地喝啤酒!)。
為什麼選流處理?
如果你長時間沒使用過流處理,你可能會問:“為什麼我們不能像以前一樣批處理?”你當然可以,但如果你有大量的資料,何時需要提取資料很簡單,但何時需要使用它很難。
公司将實時資料視為遊戲規則改變者。但如果沒有适當的工具,實作這一目标仍然是一個挑戰,特别是因為企業需要處理遞增的數量、種類和資料類型,它們來自衆多不同資料系統(如社交媒體)的。在Talend,我們看到企業通常希望擁有更靈活的資料處理,以便他們能夠加速創新,并更快地應對競争威脅。
例如,來自風力渦輪機上的傳感器始終開啟着。是以,資料流不間斷地流動。由于沒有資料的啟動或停止,是以典型攝取或處理此資料的批處理方法已過時。這是一個使用流處理的完美用例。
大資料争論
很明顯,企業正在将實時分析/流處理的優先級轉移到實時收集可操作的資訊。雖然過時的工具無法應對分析資料所涉及的速度或規模,但今天的資料庫和流處理應用程式已經準備好應對當今的業務問題。
以下是大資料争論中的重要内容:僅僅因為你有錘子并不意味着這是工作的正确工具。批處理和流處理是兩種不同的模型,它不是二選一的遊戲,它是關于如何确定哪一種更适合您的用例的判斷。