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