從云計算、大數(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ù)源于開源,并基于開源不斷演進發(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)新演進,也推動著大數(shù)據(jù)產(chǎn)業(yè)的不斷進步,對繁榮大數(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ǔ)平臺演進
對于云計算發(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)其不斷演進的主要動力。
hadoop是推動大數(shù)據(jù)應(yīng)用的基礎(chǔ)平臺,是基于gfs和mapreduce的開源實現(xiàn)。盡管在hadoop之前也有一些類似的分布式存儲和計算平臺,但真正能實現(xiàn)工業(yè)級應(yīng)用、大幅降低應(yīng)用門檻、帶動各行業(yè)大規(guī)模部署的無疑當(dāng)屬hadoop。受益于mapreduce框架的易用性和容錯性,以及對先進存儲系統(tǒng)和計算系統(tǒng)的集成,hadoop成為大數(shù)據(jù)處理平臺的主要基石。
在大數(shù)據(jù)產(chǎn)業(yè)發(fā)展的初期,hadoop可滿足90%以上的離線存儲和離線計算需求,它成為各大公司早期大數(shù)據(jù)平臺的首選??梢哉f,沒有hadoop就沒有今天的大數(shù)據(jù)產(chǎn)業(yè)發(fā)展。自hadoop起,大數(shù)據(jù)平臺幾經(jīng)升級及更替,發(fā)展出兩主線、多支線的演進態(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ù)、表達轉(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ù),可提供配置維護、名字服務(wù)、分布式同步、組服務(wù)等功能;hive是一個基于hadoop的數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為數(shù)據(jù)庫表,并提供簡單的sql查詢功能;yarn是一個全新的mapreduce框架,可為從根本上解決傳統(tǒng)mapreduce框架的性能瓶頸,對促進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操作,具有運算速度快、兼容性強等特點;sparkstreaming、bagel、graphx、sparksql等開源軟件均以spark為基礎(chǔ),從實時計算框架、圖計算模型、圖模型api、數(shù)據(jù)查詢等方面對原有平臺進行了優(yōu)化或補充。
除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)用機會。但是,從技術(shù)演進的確定權(quán)和影響力來看,大數(shù)據(jù)領(lǐng)域的技術(shù)創(chuàng)新離不開全球主要科技企業(yè)的參與。
科技企業(yè)既是大數(shù)據(jù)技術(shù)創(chuàng)新的主要力量,同時也圍繞開源世界的游戲規(guī)則不斷擴大行業(yè)影響力,緊抓技術(shù)創(chuàng)新前沿,搶占大數(shù)據(jù)技術(shù)發(fā)展和標(biāo)準(zhǔn)制定的話語權(quán),培育發(fā)展形成以企業(yè)核心競爭力為中心、以開源為主要方式的新型產(chǎn)業(yè)生態(tài)。