從云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能等新一代信息技術創(chuàng)新歷程可以清晰地看出,開源模式活躍在各個領域,更為重要的是,隨著全球各大科技巨頭的競相加入,開源模式正逐漸成為推動大數(shù)據(jù)等各領域技術創(chuàng)新的主導力量。
開源已成為大數(shù)據(jù)技術創(chuàng)新的主要模式
大數(shù)據(jù)源于開源,并基于開源不斷演進發(fā)展,自身就已具備了開源基因。經(jīng)過若干年的發(fā)展,開源軟件和開源工具已經(jīng)覆蓋了大數(shù)據(jù)產(chǎn)業(yè)發(fā)展的各個環(huán)節(jié),基于開源軟件,企業(yè)可以快速構建大數(shù)據(jù)應用平臺,提供豐富的大數(shù)據(jù)開發(fā)和應用工具。當前,從小型初創(chuàng)企業(yè)到行業(yè)科技巨頭,各種規(guī)模的企業(yè)都在使用開源軟件和工具做大數(shù)據(jù)處理和基于數(shù)據(jù)的預測分析。由此可見,開源不僅驅(qū)動著大數(shù)據(jù)技術的創(chuàng)新演進,也推動著大數(shù)據(jù)產(chǎn)業(yè)的不斷進步,對繁榮大數(shù)據(jù)應用生態(tài)起到了不可忽視的作用。
嚴格來說,大數(shù)據(jù)并不是一個產(chǎn)業(yè)或市場,而是一類問題,或者一種思維。從這些思維和問題中獲得價值,需要完整的信息基礎設施,并配套以相關的技術和工具,這些共同構成大數(shù)據(jù)應用的生態(tài)。因此,把大數(shù)據(jù)當作產(chǎn)業(yè)來看待,其生態(tài)體系的外延是非常廣闊的。
狹義來看,按照應用流程,大數(shù)據(jù)生態(tài)鏈包括數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)應用和數(shù)據(jù)可視化等環(huán)節(jié);從廣義來看,大數(shù)據(jù)生態(tài)鏈貫穿數(shù)據(jù)的整個生命周期,包括各種基礎設施和軟件系統(tǒng),從數(shù)據(jù)的產(chǎn)生到采集、傳輸、分享到存儲,再到分析挖掘,直至最終的呈現(xiàn)與應用。從技術的應用范圍和重要性可以看出,數(shù)據(jù)的存儲、數(shù)據(jù)處理、價值挖掘和數(shù)據(jù)可視化等是大數(shù)據(jù)產(chǎn)業(yè)環(huán)節(jié)中的重點領域。
開源技術創(chuàng)新引領大數(shù)據(jù)基礎平臺演進
對于云計算發(fā)展而言,開源基礎平臺如OpenStack、CloudStack的發(fā)展是推動云計算技術創(chuàng)新和行業(yè)應用的關鍵。與之類似,大數(shù)據(jù)的發(fā)展與開源軟件的不斷創(chuàng)新密切相關,在大數(shù)據(jù)處理平臺這個基礎性并處于核心地位的環(huán)節(jié),開源技術的創(chuàng)新成為了引領其不斷演進的主要動力。
Hadoop是推動大數(shù)據(jù)應用的基礎平臺,是基于GFS和Mapreduce的開源實現(xiàn)。盡管在Hadoop之前也有一些類似的分布式存儲和計算平臺,但真正能實現(xiàn)工業(yè)級應用、大幅降低應用門檻、帶動各行業(yè)大規(guī)模部署的無疑當屬Hadoop。受益于MapReduce框架的易用性和容錯性,以及對先進存儲系統(tǒng)和計算系統(tǒng)的集成,Hadoop成為大數(shù)據(jù)處理平臺的主要基石。
在大數(shù)據(jù)產(chǎn)業(yè)發(fā)展的初期,Hadoop可滿足90%以上的離線存儲和離線計算需求,它成為各大公司早期大數(shù)據(jù)平臺的首選。可以說,沒有Hadoop就沒有今天的大數(shù)據(jù)產(chǎn)業(yè)發(fā)展。自Hadoop起,大數(shù)據(jù)平臺幾經(jīng)升級及更替,發(fā)展出兩主線、多支線的演進態(tài)勢,但不管是主線亦或是支線,開源都是大數(shù)據(jù)平臺技術創(chuàng)新的主要模式,開源軟件始終是大數(shù)據(jù)基礎平臺的重要屬性。
主線一是Hadoop生態(tài),主要組成包括Hadoop、Pig、HBase、ZooKeeper、Hive、Yarn和Impala,主要組件提出于2008年之前,Yarn和Impala分別提出于2011年和2012年。Pig是一種開源編程語言,可加載數(shù)據(jù)、表達轉(zhuǎn)換數(shù)據(jù)和存儲最終結(jié)果,其內(nèi)置操作可處理半結(jié)構化數(shù)據(jù);HBase是一個分布式的、面向列的開源數(shù)據(jù)庫,在Hadoop之上提供了類似于Bigtable的能力,是一個適合于非結(jié)構化數(shù)據(jù)存儲的數(shù)據(jù)庫;ZooKeeper是一個分布式的開源分布式應用程序協(xié)調(diào)服務,可提供配置維護、名字服務、分布式同步、組服務等功能;Hive是一個基于Hadoop的數(shù)據(jù)倉庫工具,可以將結(jié)構化的數(shù)據(jù)文件映射為數(shù)據(jù)庫表,并提供簡單的SQL查詢功能;Yarn是一個全新的MapReduce框架,可為從根本上解決傳統(tǒng)MapReduce框架的性能瓶頸,對促進Hadoop框架應用發(fā)展發(fā)揮重要作用;Impala可以直接為Hadoop數(shù)據(jù)提供快速,交互式的SQL查詢。
主線二是Spark生態(tài),包括Spark、Shark、SparkStreaming、Bagel、GraphX、SparkSQL等,Spark提出于2009年,主要生態(tài)組成提出于2011年至2014年。
Spark是開源類Hadoop框架,可將中間輸出結(jié)果保存在內(nèi)存中,因此計算速度較Hadoop有幾倍到幾十倍的提升,在成熟之后得到了迅速普及;Shark可通過Hive的HQL解析將其翻譯成Spark上的RDD操作,具有運算速度快、兼容性強等特點;Spark Streaming、Bagel、GraphX、Spark SQL等開源軟件均以Spark為基礎,從實時計算框架、圖計算模型、圖模型API、數(shù)據(jù)查詢等方面對原有平臺進行了優(yōu)化或補充。
除Hadoop、Spark之外,還涌現(xiàn)出了一批支線平臺,絕大多數(shù)是開源的,主要代表有Hypertable、Cassandra、Dryad、S4、Kalka、Haloop和Storm。其中,Storm完全擺脫了MapReduce架構,重新設計了一個適用于流式計算的架構,以數(shù)據(jù)流為驅(qū)動觸發(fā)計算,計算時效性高,適應有向無環(huán)圖計算拓撲的設計,計算方式較為靈活,在業(yè)界得到了一定的部署應用。
科技企業(yè)是大數(shù)據(jù)開源軟件發(fā)展的主要力量
表面上看,大數(shù)據(jù)基礎平臺和主要環(huán)節(jié)的技術創(chuàng)新均是基于開源模式推動的,全球各界人士均有平等的參與和應用機會。但是,從技術演進的確定權和影響力來看,大數(shù)據(jù)領域的技術創(chuàng)新離不開全球主要科技企業(yè)的參與。
科技企業(yè)既是大數(shù)據(jù)技術創(chuàng)新的主要力量,同時也圍繞開源世界的游戲規(guī)則不斷擴大行業(yè)影響力,緊抓技術創(chuàng)新前沿,搶占大數(shù)據(jù)技術發(fā)展和標準制定的話語權,培育發(fā)展形成以企業(yè)核心競爭力為中心、以開源為主要方式的新型產(chǎn)業(yè)生態(tài)。