5G時代流數據該如何處理?有哪些好用的大數據平臺?

科技行者


5G時代,大數據流存儲平臺“Pravega”誕生記


隨著5G網絡、容器雲、高性能存儲硬件水平的不斷提高,數據增長進入了空前的發展階段。無處不在的物聯網、自動駕駛汽車等邊緣計算所產生的數據源源不斷,就像開著的水管,數據源一直在流出。這就給當前大數據處理系統(無論何種架構)提出了一個問題,計算是原生的流計算,而存儲卻不是原生的流存儲。因此目前大數據存儲面臨的三大缺陷。


目前大數據處理平臺最常見的是Lambda架構,它的優勢在於滿足了實時處理與批處理需求,但是,從存儲的角度看Lambda有三個缺點:


第一、實時處理、批處理不統一,不同的處理路徑採用了不同的存儲組件,增加了系統的複雜度,導致了開發人員的額外學習成本和工作量。


第二、數據存儲多組件化、多份化,如下圖,同樣的數據會被存儲在Elastic Search 、S3對象存儲系統、Kafka等多種異構的系統中,而且考慮到數據的可靠性,數據還都是多份冗餘的,這就極大的增加了用戶的存儲成本。而往往對於企業用戶來說,0.1%的存儲冗餘都意味著損失。


第三、系統裡存儲的組件太多太複雜,也增加了使用的運維成本。並且大部分現有的開源項目還處於“強運維”的產品階段,對於企業用戶來說又是很大的開銷。

每種類型的數據都有其原生的屬性和常用訪問模式,對應有最佳的適用場景以及最合適的存儲系統。


這三大缺點帶了存儲過程中的三個問題,即開發成本、存儲成本以及運維成本。那麼如何降低開發成本、減少存儲成本與減少運維成本?在這裡,從最新的數據類型出發,探討5G時代下數據存儲新思路。


從存儲的視角來說,存儲架構的設計需要首先明確所存儲的數據的特點。目前企業數據的存儲模式為塊存儲、文件存儲和對象存儲。而今天移動互聯、物聯網的發展,在物聯網、自動駕駛汽車、金融等實時應用場景中,需要存儲的數據目前被稱之為“流數據”,流數據一般被定義為:

流數據是一組順序、大量、快速、連續到達的數據序列,一般情況下,數據流可被視為一個隨時間延續而無限增長的動態數據集合。

四大存儲類型

上圖將流數據定義為第四種數據類型,從左到右分佈著四種最常見的存儲類型。傳統數據庫這類基於事務的程序適合採用塊存儲系統。文件共享場景下需要在用戶間共享文件進行讀寫操作,因此適合採用分佈式文件 (NAS) 存儲系統。而需要無限擴展並支持REST接口讀寫的非結構化的圖像/音視頻文件則非常適合採用對象存儲系統。


而針對流數據的應用場景,就需要流數據存儲滿足以下需求:


低延時:在高併發條件下 <10ms 的讀寫延時。


僅處理一次:即使客戶端、服務器或網絡出現故障,也確保每個事件都被處理且只被處理一次。


順序保證:可以提供嚴格有序的數據訪問模式


檢查點:確保每個讀客戶端 / 上層應用能保存和恢復原來的使用狀態


在物聯網的世界,數據是實時的,分析也是實時的。獲得業務洞察以贏得價值還是錯失關鍵機會,對企業來說也許只有幾毫秒的差距,而真正的流式數據處理可以減少傳統的小批量分析方法的寶貴時間。

為此,戴爾科技集團IoT部門的團隊重新思考了流式數據處理和存儲規則,重新設計了新的存儲類型,即原生的流存儲,就這樣“Pravega”誕生了。


Pravega是以前的成熟技術與新技術的組合。Pravega 團隊擁有著基於日誌存儲的設計經驗,也擁有 Apache ZooKeeper/BookKeeper 的項目歷史,加之大量實時系統同樣也採用日誌存儲的方式來完成實時應用的消息隊列,想要滿足這三種數據訪問模式,非Pravega莫屬。


分享到:


相關文章: