2020大數據技術,未來發展趨勢如何?


一、數據管理技術發展背景

大數據的技術是數據管理技術的一種,數據管理系統有著悠久的發展歷史,它是所有計算機應用的基礎。談到數據管理的軟件,必須關注數據管理軟件所依賴的硬件環境和它來解決的應用場景,我們可以通過圖1來認識數據管理軟件的位置。首先它是一種軟件,處於底層硬件和上層應用之間,本質上是利用計算機硬件的存儲和計算能力,對數據進行存儲、管理、加工等操作,最終為了支持上層各類應用。


2020大數據技術,未來發展趨勢如何?

圖1 數據管理技術發展背景


數據管理技術到現在至少有50年的發展歷史,大概經歷了幾個發展階段,見圖2。第一個階段是關係型數據模型的提出,為關係數據庫發展奠定了理論基礎;第二個階段是Oracle和DB2等商業關係型數據庫的興起和發展壯大,開始了商業數據庫產品在各行各業的應用,數據庫也正式成為了繼服務器、操作系統之外的第三個必須品;第三階段由於業務場景的需要,數據庫被分為面向業務的事務數據庫和麵向分析統計的分析數據庫,兩者之間的架構和建模方式也發生了變化,這是數據庫技術的第一次分離;第四個階段是數據庫技術的分佈式浪潮,最早是從數據分析端產生的,單機無法應對海量數據分析的需求,分佈式水平擴展的需求提上日程,Hadoop、Spark和各類NoSQL都是為了應對這一需求而誕生,而分佈式的技術也在2010年左右擴展到了事務數據庫領域,主要為了應對越來越多的互聯網業務。


2020大數據技術,未來發展趨勢如何?

圖2 數據管理系統的發展階段


數據管理系統處於硬件和應用之間的位置決定了它自身的技術演進主要依賴於底層硬件的發展和上層應用端的需求變化。在硬件端,從上世紀70年代開始,通用服務器的芯片、內存的發展就遵循摩爾定律,單機的性能越來越強,推動著數據庫的處理能力不斷增強,利用內存能力也是一大趨勢。而進入2000年,芯片處理能力的增長趕不上業務和數據的增長,單機系統的瓶頸顯露,導致數據管理系統向分佈式架構轉型。在應用端,業務的互聯網化、在線化使得業務流量和訪問頻率呈指數級的增長,單機集中式架構處理遇到瓶頸,而移動互聯網下動輒上千萬的級的用戶量,提出了海量數據分析的挑戰,分佈式架構正是為應對這些挑戰而生。


2020大數據技術,未來發展趨勢如何?


二、大數據技術發展歷程

大數據的應用和技術起源於互聯網,首先是網站和網頁的爆發式增長,搜索引擎公司最早感受到了海量數據帶來的技術上的挑戰,隨後興起的社交網絡、視頻網站、移動互聯網的浪潮加劇了這一挑戰。互聯網企業發現新數據的增長量、多樣性和對處理時效的要求是傳統數據庫、商業智能縱向擴展架構無法應對的。


在此背景下,谷歌公司率先於2004年提出一套分佈式數據處理的技術體系,即分佈式文件系統谷歌文件系統(Google file system,GFS)、分佈式計算系統MapReduce和分佈式數據庫BigTable,以較低成本很好地解決了大數據面臨的困境,奠定了大數據技術的基礎。受谷歌公司論文啟發,Apache Hadoop實現了自己的分佈式文件系統HDFS、分佈式計算系統MapReduce和分佈式數據庫HBase,並將其進行開源,這是大數據技術開源生態體系的起點。

2020大數據技術,未來發展趨勢如何?


2008年左右,雅虎最早在實際環境中搭建了大規模的Hadoop集群,這是Hadoop在互聯網公司使用最早的案例,後來Hadoop生態的技術就滲透到了互聯網、電信、金融乃至更多的行業。2009年UCBerkley大學的AMPLab研發出了Spark,經過5年的發展,正式替換了Hadoop生態中MapReduce的地位,成為了新一代計算引擎,而2013年純計算的Flink誕生,對Spark發出了挑戰。2014年之後大數據技術生態的發展進入了平穩期。


2020大數據技術,未來發展趨勢如何?

圖3 大數據分析技術的發展歷程


經過10年左右的發展,大數據技術形成了以開源為主導、多種技術和架構並存的特點。從數據在信息系統中的生命週期看,大數據技術生態主要有5個發展方向,包括數據採集與傳輸、數據存儲、資源調度、計算處理、查詢與分析。在數據採集與傳輸領域漸漸形成了Sqoop、Flume、Kafka等一系列開源技術,兼顧離線和實時數據的採集和傳輸。在存儲層,HDFS已經成為了大數據磁盤存儲的事實標準,針對關係型以外的數據模型,開源社區形成了K-V(key-value)、列式、文檔、圖4類NoSQL數據庫體系,HBase、Cassandra、MongoDB、Neo4j、Redis等數據庫百花齊放。資源調度方面,Yarn獨領風騷,Mesos有一定發展籤裡。計算處理引擎方面慢慢覆蓋了離線批量計算、實時計算、流計算等場景,誕生了MapReduce、Spark、Flink、Storm等計算框架。在數據查詢和分析領域形成了豐富的SQL on Hadoop的解決方案,Hive、HAWQ、Impala、Presto、Drill等技術與傳統的大規模並行處理(massively parallel processor,MPP)數據庫競爭激烈。


2020大數據技術,未來發展趨勢如何?

圖4 大數據技術生態


三、大數據技術發展趨勢

2014年以後,整體大數據的技術棧已經趨於穩定,由於雲計算、人工智能等技術發展,還有芯片、內存端的變化,大數據技術也在發生相應的變化。總結來看主要有幾點發展趨勢:


一是流式架構的更替,最早大數據生態沒有辦法統一批處理和流計算,只能採用Lambda架構,批的任務用批計算引擎,流式任務採用流計算引擎,比如批處理採用MapReduce,流計算採用Storm。後來Spark試圖從批的角度統一流處理和批處理,Spark Streaming採用了micro-bach的思路來處理流數據。近年來純流架構的Flink異軍突起,由於其架構設計合理,生態健康,近年來發展特別快。而Spark近期也拋棄了自身微批處理的架構,轉向了純流架構Structure Streaming,流計算的未來霸主還未見分曉。


二是大數據技術的雲化,一方面是公有云業務的成熟,眾多大數據技術都被搬到了雲上,其運維方式和運行環境都發生了較大變化,帶來計算和存儲資源更加的彈性變化,另一方面,私有部署的大數據技術也逐漸採用容器、虛擬化等技術,期望更加精細化地利用計算資源。


三是異構計算的需求,近年來在通用CPU之外,GPU、FPGA、ASIC等芯片發展迅猛,不同芯片擅長不同的計算任務,例如GPU擅長圖像數據的處理,大數據技術開始嘗試根據不同任務來調用不同的芯片,提升數據處理的效率。

2020大數據技術,未來發展趨勢如何?


四是兼容智能類的應用,隨著深度學習的崛起,AI類的應用越來越廣泛,大數據的技術棧在努力兼容AI的能力,通過一站式的能力來做數據分析和AI應用,這樣開發者就能在一個工具站中編寫SQL任務,調用機器學習和深度學習的算法來訓練模型,完成各類數據分析的任務。


四、總結與展望

數據管理技術已經發展了50多年了,大數據技術是在數據管理技術的基礎上,面向大規模數據分析的技術棧,它主要是分佈式架構的設計思路,通過並行計算的方式來提升處理效率,同時具備了高擴展能力,根據業務需求隨時擴展。經過15年左右的發展,大數據的技術棧逐漸成熟,然而近年來雲計算、人工智能等技術的發展,還有底層芯片和內存端的變化,以及視頻等應用的普及,都給大數據技術帶來新的要求。未來大數據技術會沿著異構計算,批流融合,雲化,兼容AI,內存計算等方向持續更迭,5G和物聯網應用的成熟,又將帶來海量視頻和物聯網數據,支持這些數據的處理也會是大數據技術未來發展的方向。

大數據開發高薪必備全套資源【免費獲取】

Oracle高級技術總監多年精心創作一套完整課程體系【大數據、人工智能開發必看】,全面助力大數據開發零基礎+入門+提升+項目=高薪

2020大數據技術,未來發展趨勢如何?

「大數據零基礎入門」

2020大數據技術,未來發展趨勢如何?

「大數據架構系統組件」

2020大數據技術,未來發展趨勢如何?

「大數據全套系統工具安裝包」

Java必備工具

2020大數據技術,未來發展趨勢如何?

大數據必備工具

2020大數據技術,未來發展趨勢如何?

「大數據行業必備知資訊」

2020大數據技術,未來發展趨勢如何?

「大數據精品實戰案例」

2020大數據技術,未來發展趨勢如何?

「大數據就業指導方案」

2020大數據技術,未來發展趨勢如何?

最後說一下的,也就是以上教程的獲取方式!

領取方法:

還是那個萬年不變的老規矩

1.評論文章,沒字數限制,一個字都行!

3.私信小編:“大數據開發教程”即可!

謝謝大家,祝大家學習愉快!(拿到教程後一定要好好學習,多練習哦!)


分享到:


相關文章: