技術
首頁  >  技術  >  技術要聞

大數據技術專為挑戰而來

2019-11-12  來源:人民郵電報  作者:姜春宇

大數據技術無疑是當前高新科技領域的“明星”,成為各國角逐的重點科技領域。事實上,大數據技術脫胎于有著50年發展歷史的數據管理技術,是面向大規模數據分析的技術棧,主要采取分布式架構的設計思路,通過并行計算的方式來提升處理效率;同時具備高擴展能力,能夠根據業務需求隨時擴展。從總體上來看,大數據技術是為了應對挑戰而生,未來也將順應挑戰而變。

不斷演進數據管理技術煥發新活力

大數據技術是數據管理技術的一種,而數據管理技術擁有著至少50年的發展歷史,是所有計算機應用的基礎。數據管理系統處于底層硬件和上層應用之間,本質上是利用計算機硬件的存儲和計算能力,對數據進行存儲、管理、加工等操作,最終支持上層各類應用。

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

數據管理系統處于硬件和應用之間的位置,決定了其自身的技術演進主要依賴于底層硬件的發展和上層應用端的需求變化。

在硬件端,從20世紀70年代開始,通用服務器的芯片、內存的發展就遵循摩爾定律,單機的性能越來越強,推動著數據庫的處理能力不斷增強,利用內存能力成為一大趨勢。進入21世紀,芯片處理能力的增長已趕不上業務和數據量的增長,單機系統的“瓶頸”顯現,促使數據管理系統向分布式架構轉型。

在應用端,業務的互聯網化、在線化使得業務流量和訪問頻率呈指數級增長,單機集中式架構處理遇到“瓶頸”。移動互聯網時代動輒千萬級的用戶量,同時也提出了海量數據分析的挑戰。分布式架構,正是為了應對這些挑戰而生。

應對挑戰10年后生態初成

大數據應用和技術的誕生,是為了應對數據量爆發式增長的挑戰。從2004年出現之后,大數據經過10年的發展后進入平穩期,初步構建了生態。

10多年前,網站和網頁的爆發式增長,令搜索引擎公司最早感受到海量數據給技術帶來的挑戰,隨后興起的社交網絡、視頻網站、移動互聯網的浪潮加劇了這一挑戰。互聯網企業發現新數據的增長量、多樣性和對處理時效的要求,是傳統數據庫、商業智能縱向擴展架構無法應對的。在此背景下,谷歌公司率先于2004年提出一套分布式數據處理的技術體系,即谷歌分布式文件系統(Googlefilesystem,GFS)、分布式計算系統MapReduce和分布式數據庫Big-Table,以較低成本很好地解決了大數據面臨的困境,奠定了大數據技術的基礎。

受谷歌公司的啟發,ApacheHa-doop推出了分布式文件系統HDFS、分布式計算系統MapReduce和分布式數據庫HBase,并將其進行開源,這成為大數據技術開源生態體系的起點。

2008年左右,雅虎最早在實際環境中搭建了大規模的Hadoop集群,這是Hadoop在互聯網公司使用最早的案例,后來Hadoop生態的技術就滲透到互聯網、電信、金融乃至更多的行業。

2009年,加利福尼亞大學伯克利分校的AMPLab研發出Spark。Spark經過5年的發展,正式替代了Hadoop生態中MapReduce的地位,成為新一代計算引擎。不過,2013年純計算的Flink誕生,對Spark發起了挑戰。2014年之后大數據技術生態的發展就進入了平穩期。

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

與時俱進四大新動向顯現

從整體上看,2014年以后大數據的技術棧就已經趨于穩定。但是,伴隨著云計算、人工智能等技術的發展以及來自芯片、內存端的變化,大數據技術也在與時俱進地朝著流式架構、云化、異構計算、AI的方向前進。

第一,流式架構的更替。最初,大數據技術沒有辦法統一進行批處理和流計算,只能采用Lambda架構,批處理任務采用批計算引擎,流式任務采用流計算引擎。例如,批處理采用 MapReduce,流計算采用Storm。后來,Spark試圖從批的角度統一流計算和批處理,例如SparkStreaming采用了micro-bach的思路來處理流數據。近年來,純流架構的Flink異軍突起,由于其架構設計合理、生態健康,因此發展特別快。Spark近期也拋棄了自身微批處理的架構,轉向了純流架構StructureStreaming。目前來看,流計算的未來霸主還未見分曉。

第二,大數據技術的云化。一方面,伴隨著公有云業務的成熟,眾多大數據技術都被“搬”到了云上,其運維方式和運行環境發生了較大變化,促使計算和存儲資源變得更加彈性;另一方面,個人部署的大數據技術也逐漸采用容器、虛擬化等技術,期望更加精細化地利用計算資源。

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

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

關鍵詞:技術生態 數據磁盤 谷歌 云化 訓練模型

澳洲幸运10统一开奖吗 广西快乐10分网站 西游争霸四海归一遥控器 股票配资被骗了怎么办 手机上打牌赢钱软件 打8局就发红包的麻将 3d试机号关注码金胆 中国福利彩票预测工作室 山东时时怎么中奖号码的真实规律 人生短暂赚钱只是游戏 分分彩一天刷10万流水 广西11选5开奖查询 gta伪钞工厂如何赚钱 有什么稳定赚钱 成都麻将实战100例全集 手机游戏赌博赚钱 福建快三微信群