趙燕楓
大數(shù)據(jù),大科學
LSST(大型綜合巡天望遠鏡),是一臺還在研制中的巨型望遠鏡。無論是直徑8.36米(將近3層樓高)的巨大主鏡,還是囊括近紫外、可見光、紅外線(320~1060納米)的廣譜感光元件,還是9.6平方度的超寬廣視場(滿月的49倍大),以及歷史上最大的數(shù)碼相機(小汽車般大小、重2.8噸),都令人嘆為觀止。最后,這些零件還要被拖到南半球,在智利北部海拔2663米的山頂上重新組裝起來,以獲得最佳的觀測條件。
在工程師們看來,這些都是小意思。那么,什么才是他們最發(fā)愁的呢?
你大概想不到,竟然是數(shù)據(jù)。
LSST的那臺超級相機,核心感光元件直徑為64厘米(快趕上直徑77厘米的標準井蓋了),上面分布著1600萬個像素,每個像素的動態(tài)范圍是4字節(jié)(byte,1字節(jié)等于8比特,本文以下的數(shù)據(jù)單位均為字節(jié))。在觀測時,每秒最多可以產(chǎn)生3吉以上的數(shù)據(jù)。而相機內(nèi)的計算機平均每秒要完成2萬億次運算,才能將這些在15秒曝光時間內(nèi)獲取的數(shù)據(jù)整合為一張32億像素的照片。每個夜晚,它可以拍下數(shù)百張這樣的照片,全年則可以拍攝大約20萬張。
至此,細節(jié)中的魔鬼終于出現(xiàn)了。每個夜晚,LSST能夠生成約20~30太的原始數(shù)據(jù),每年則能生成1.28拍或者說1280萬億字節(jié)數(shù)據(jù)。項目方估計,為了儲存這些數(shù)據(jù),初期需要15拍的空間。這相當于15000塊常見的1太硬盤的總?cè)萘浚@些硬盤的總體積大約為50立方米,足夠塞滿一個小房間。
問題是,如何從這一房間的硬盤中快速查找到所需的某項數(shù)據(jù)呢?比如,這個天區(qū)的某個天體與那個天區(qū)的某個天體是不是同類?這類天體還有多少,都在哪里?
對于這樣的問題,常規(guī)服務器的硬件和軟件就只能望洋興嘆了。
在大西洋彼岸歐洲核子中心(CERN)的LHC(大型強子對撞機)內(nèi),分布著約1.5億個傳感器,它們每秒能夠傳送4000萬次數(shù)據(jù)。當LHC工作時,每秒約產(chǎn)生6億次粒子碰撞,其中99.999%都會被濾除,只留下約100次碰撞事件供進一步分析。就是這不起眼的0.001%的數(shù)據(jù),每年仍可以匯成25拍的數(shù)據(jù)海洋。為此,人們不得不構(gòu)建了一個復雜得令人咋舌的LHC計算網(wǎng)格(LHC ComputingGrid),它由170個計算設(shè)施組成,分布在36個國家。
而LSST和LHC,其實只不過是類似問題的一個縮影。
大數(shù)據(jù),大爆炸
說到能夠感受到的數(shù)據(jù)量暴增,可能莫過于我們每天都接觸的互聯(lián)網(wǎng)了。十幾年前,網(wǎng)站還以靜態(tài)頁面的展示為主。如今,各種社交網(wǎng)站、電商網(wǎng)站等大量興起后,情況已經(jīng)不一樣了。
根據(jù)中國互聯(lián)網(wǎng)中心(CNNIC)披露的數(shù)據(jù),截止到2013年12月,我國微博用戶規(guī)模達到了2.81億。而據(jù)新浪官方2012年5月發(fā)布的數(shù)據(jù),新浪微博用戶每天平均發(fā)布超過1億條微博內(nèi)容。在晚上高峰期,服務器集群每秒要接受100萬次以上的響應請求。據(jù)中科院院士李國杰在《大數(shù)據(jù)的研究現(xiàn)狀與科學思考》一文中披露,谷歌通過大規(guī)模集群和MaPReduce軟件,每月處理的數(shù)據(jù)量超過400拍;百度每天大約要處理幾十拍數(shù)據(jù);淘寶網(wǎng)會員超過3.7億,在線商品超過8.8億,每天交易數(shù)千萬筆,產(chǎn)生約20太數(shù)據(jù)。
而這,只是全球“數(shù)據(jù)爆炸”的一個縮影而已。人類記錄和儲存下的數(shù)據(jù),可以分為模擬數(shù)據(jù)(使用模擬方式記錄的數(shù)據(jù),包括書刊報紙、信札、錄像帶、錄音帶等)和數(shù)字數(shù)據(jù)(使用數(shù)字方式記錄的數(shù)據(jù),包括磁盤、光盤等)兩大類。兩大數(shù)據(jù)之和,就是最近20多年來全球信息儲存容量的爆炸式發(fā)展情況。
1986年,人類的模擬數(shù)據(jù)(綠色部分)約有2.6艾,新生事物的數(shù)字數(shù)據(jù)(棕色部分)只有0.02艾(20拍),二者比例為130:1。到2002年,二者已經(jīng)等量,比例變?yōu)閘:1,被稱為“數(shù)字時代元年”。到 2007年,二者比例己經(jīng)倒置為1:15。較之1986年,模擬數(shù)據(jù)增長了6.3倍,達到了19艾;但數(shù)字數(shù)據(jù)更是增長了約14000倍,達到了280艾。事實上,相比于數(shù)字數(shù)據(jù),模擬數(shù)據(jù)在全部數(shù)據(jù)中所占的比重已經(jīng)越來越低(從1986年的99%一路降到2007年的6%),按照這個趨勢,它很快就會變得可以忽略不計。
這個令人目眩的大逆轉(zhuǎn),僅僅發(fā)生在21年間。數(shù)據(jù)越來越“大”、數(shù)字數(shù)據(jù)越來越膨脹,已經(jīng)是一個不爭的事實。
根據(jù)IDC(國際數(shù)據(jù)公司)在2012年3月發(fā)布的《世界大數(shù)據(jù)技術(shù)和服務2012~2015預測》,這個高速擴張的趨勢仍在持續(xù)。2012年人類的數(shù)字數(shù)據(jù)約有2.5澤,到2015年時將暴增到8澤。這意味著,在這3年中,平均每年都將新生一份總量相當于2012年人類已有全部數(shù)據(jù)規(guī)模的新數(shù)據(jù),而要生成一份總量相當于1986年時全部數(shù)據(jù)規(guī)模的新數(shù)據(jù)的話,算下來只要不到8個半小時。
在飛速發(fā)展的物聯(lián)網(wǎng)的助力下,各種傳感器(包括監(jiān)視攝像頭、RFID讀取器、遙感設(shè)備、無線傳感器等)也在不停頓地生成著新的數(shù)據(jù)。
按照中國人民大學信息學院孟小峰和慈祥的觀點,這些數(shù)據(jù)可以分為三類,即被動產(chǎn)生的運營系統(tǒng)數(shù)據(jù)(如銷售記錄)、主動產(chǎn)生的用戶原創(chuàng)數(shù)據(jù)(如微博內(nèi)容)和自動產(chǎn)生的感知系統(tǒng)數(shù)據(jù)(如監(jiān)控錄像)等。從被動、主動到自動,數(shù)據(jù)量的增幅快速擴大,其中自動產(chǎn)生的數(shù)據(jù)正是大數(shù)據(jù)產(chǎn)生的最根本原因。
大數(shù)據(jù),新定義
量變會帶來質(zhì)變,暴增的數(shù)據(jù)終究會引發(fā)一系列變革。相應地,它也需要一個不同的名字和清晰的定義,來跟傳統(tǒng)意義上的“海量數(shù)據(jù)”(massive data)或“超大規(guī)模數(shù)據(jù)”(very lafge data)做個切割。
2001年,美國分析師道格·萊尼(Doug Laney)試圖用3個以V開頭的單詞來概括這類數(shù)據(jù)的特征,那就是數(shù)量(Volume,指數(shù)據(jù)的量)、速度(Velocity,指數(shù)據(jù)的吞吐速度)和多樣性(Variety,指數(shù)據(jù)類型的多樣性),合稱3V。后來又加了一個V,對這第4個V的意義,IDC認為是價值(Value),而國際商業(yè)機器公司(IBM)則認為是真實性(Veracity)。這個3V或4V的概括,由于界定清晰、明白好記,很快就在業(yè)內(nèi)流傳開來。
2011年,美國咨詢業(yè)巨頭麥肯錫公司(McKinsey)發(fā)布了《大數(shù)據(jù):競爭、創(chuàng)新和生產(chǎn)力的下一個前沿》的報告,其中提出,所謂“大數(shù)據(jù)”(big data),就是那些“規(guī)模已經(jīng)超出典型數(shù)據(jù)庫軟件所能獲取、存儲、管理和分析能力之外的數(shù)據(jù)集”,它將推動5個領(lǐng)域的全面轉(zhuǎn)型,并提出了若干建議。報告里說,不打算為大數(shù)據(jù)設(shè)定具體的數(shù)值標準,而更希望將它設(shè)定為一個動態(tài)的、能夠隨著數(shù)據(jù)規(guī)模和處理能力增長而不斷變化的概念。按當時的情況,這個“門檻”大約在幾十太字節(jié)到幾十拍字節(jié)之間。
可以說,這份長達146頁的報告,就是現(xiàn)今我們所說的“大數(shù)據(jù)”這個概念的出生證明。人們早就認識到,數(shù)據(jù)量的暴增會讓情況發(fā)生重大變化,但一直沒有清晰有力的表述,也沒有明確的研究討論和針對性的建議。因此,報告發(fā)布以后,“大數(shù)據(jù)”概念迅速風靡全球,得到了學術(shù)界和產(chǎn)業(yè)界的一致公認。
按照維基百科的介紹,大數(shù)據(jù)就是“指利用常用軟件工具捕獲、管理和處理數(shù)據(jù)所耗時間超過可容忍時間的數(shù)據(jù)集”。不難看出,這與前述的定義非常類似,采用的也是相對的標準。
那么,與傳統(tǒng)上意味著海量數(shù)據(jù)的“數(shù)據(jù)庫”概念相比,大數(shù)據(jù)有什么根本性的不同呢?孟小峰等人用池塘和大海打比方來說明它們之間的5個不同,即數(shù)據(jù)規(guī)模不同(“池塘”和“大?!保?shù)據(jù)類型不同(“池魚種類單一”和“海魚種類繁多”)、模式和數(shù)據(jù)關(guān)系不同(“先挖池塘后投放魚”和“海魚的繁衍改變大海的構(gòu)成”)、處理對象不同(“池塘里只能捕魚”和“海魚還可以作為其他生物存在的判斷根據(jù)”)、處理工具不同(“一種或少數(shù)幾種漁網(wǎng)足夠應付池塘捕魚”和“沒有一種漁網(wǎng)能夠捕獲全部海魚”)。
這5個比方,其實已經(jīng)足夠說明量變帶來的質(zhì)變了。
大數(shù)據(jù),大挑戰(zhàn)
對于這些“超出典型數(shù)據(jù)庫軟件所能獲取、存儲、管理和分析能力之外的數(shù)據(jù)集”,現(xiàn)成方案早已捉襟見肘。下面,我們就來看看大數(shù)據(jù)的“處理框架”和“關(guān)鍵技術(shù)問題”這兩個方面吧。
第一個方面是處理框架,它又可以細分為處理模式和處理流程兩部分。
處理模式,主要分為流處理(直接處理)和批處理(先存儲再處理)兩大類。流處理將數(shù)據(jù)看成流,主要在內(nèi)存中完成,適合對付那些持續(xù)到達、急需處理的即時數(shù)據(jù),如推特的storm和雅虎的S4等,使用的都是流處理模式。與之相對,谷歌提出的MapReduce則屬于最有代表性的批處理模式。它將原始數(shù)據(jù)集分塊后,分別交給不同的MaP任務區(qū)處理,并通過Map函數(shù)計算出中間結(jié)果,再寫入本地硬盤。這個“將計算推到數(shù)據(jù)”的思路非常新穎,模型簡單、操作性強,因而很受歡迎。流處理和批處理各有優(yōu)缺點,拿手的數(shù)據(jù)對象也不同,因此Linkedln(一家社交網(wǎng)站)使用的就是二者混合的模式。
處理流程,主要包括數(shù)據(jù)抽取與集成、數(shù)據(jù)分析和數(shù)據(jù)解釋。在數(shù)據(jù)抽取和集成時,需要對種類繁雜的數(shù)據(jù)進行預先清洗,保證數(shù)據(jù)質(zhì)量和可信性。數(shù)據(jù)分析則是大數(shù)據(jù)處理流程的核心。至于數(shù)據(jù)解釋,則是用戶最關(guān)心的事情,文本之外,可視化處理也不失為一個好的選擇。
第二個方面是關(guān)鍵技術(shù)問題。數(shù)據(jù)處理存在著4個層次,即文件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、索引與查詢技術(shù)、數(shù)據(jù)分析技術(shù),我們不妨逐個來看它們面對的挑戰(zhàn)和對策。
首先是文件系統(tǒng)。由于數(shù)據(jù)量太大、來源太多,要想及時響應,必須存放在成千上萬甚至幾十萬、上百萬臺服務器上。可在這樣參差不齊的超大服務器陣列中,傳統(tǒng)的文件系統(tǒng)根本無法保證可靠工作,更談不上擴展了。此外,社交網(wǎng)站的海量小文件(圖片、文檔等),門戶網(wǎng)站的海量內(nèi)容搜索等,也都需要新型文件系統(tǒng)的鼎力支撐。
對策:針對需求,開發(fā)不同的全新文件系統(tǒng)。如構(gòu)建在大量廉價服務器上,可擴展、分布式的谷歌文件系統(tǒng)GFS;針對海量小文件的臉書文件系統(tǒng)Haystack;支持搜索和廣告業(yè)務的微軟文件系統(tǒng)Cosmos等。
其次是數(shù)據(jù)庫系統(tǒng)。傳統(tǒng)的數(shù)據(jù)庫一般都是關(guān)系數(shù)據(jù)庫,具有4個特點,即數(shù)據(jù)量小、數(shù)據(jù)類型少、適應性強(以統(tǒng)一的數(shù)據(jù)存儲方式應對各種用途)、事務特性強調(diào)“數(shù)據(jù)一致性”(關(guān)系數(shù)據(jù)庫的ACID特性,即原子性、一致性、隔離性和持久性,對應CAP理論”中的“C”,即一致性)。而在數(shù)量大、類型多、無法以統(tǒng)一方式應對各種用途、追求可用性(特性變?yōu)锽ASE,即基本可用、柔性狀態(tài)、最終一致,對應CAP理論中的“A”,即可用性)的大數(shù)據(jù)面前,也就力不從心了。
對策:不再拘泥于關(guān)系數(shù)據(jù)庫,轉(zhuǎn)而研發(fā)不基于關(guān)系模型的數(shù)據(jù)庫(統(tǒng)稱為NOSQL數(shù)據(jù)庫),共同特點是模式自由、支持簡易備份、最終一致性(支持BASE而不支持ACID)、支持海量數(shù)據(jù)。谷歌最新的Spanner數(shù)據(jù)庫系統(tǒng),其目標是控制100萬~1000萬臺服務器,最多包含約10萬億個目錄和1000萬億字節(jié)的容量。
第三是索引與查詢技術(shù)。為庫中的數(shù)據(jù)建立索引(index)是需要時間的,而數(shù)據(jù)更新后,索引更新也是需要時間的。當數(shù)據(jù)規(guī)模暴增后,通過既有技術(shù)生成索引的耗時已經(jīng)無法接受(有人估算,采用傳統(tǒng)的GADDI算法為臉書生成索引,時間將長于40萬年)。
對策:利用MapReduce并行技術(shù)優(yōu)化多值查詢,開發(fā)索引技術(shù)優(yōu)化多值查詢技術(shù)(例如ITHbase、IHbase、CCindex等實現(xiàn)方案)。
第四是數(shù)據(jù)分析技術(shù)。傳統(tǒng)的數(shù)據(jù)分析技術(shù)著眼于小規(guī)模數(shù)據(jù),比如數(shù)據(jù)挖掘(data mining)、機器學習和統(tǒng)計分析等,在用來分析大數(shù)據(jù)時,必須因應大數(shù)據(jù)的特點進行調(diào)整,在算法的實時性和準確率之間進行平衡,設(shè)法適應云計算的框架并淘汰不適用的算法等。
對策:開發(fā)新的分析技術(shù),如谷歌的Pregel圖計算模型和Dremel數(shù)據(jù)分析系統(tǒng)等。
大數(shù)據(jù),新未來
正如我們親身所感的那樣,大數(shù)據(jù)早已不是什么理論概念,而是每天都在影響著我們的現(xiàn)實了。
目前,最引人注意的大數(shù)據(jù)應用往往分布在IT行業(yè)或與IT行業(yè)“沾親帶故”的產(chǎn)業(yè)界,畢竟這里是大數(shù)據(jù)概念的發(fā)源地,也是相關(guān)技術(shù)發(fā)展最快、人才最集中的行業(yè),轉(zhuǎn)化起來更得心應手。但是,大千世界中,諸如交通、能源、商業(yè)、醫(yī)療、教育、金融、環(huán)境、農(nóng)業(yè)……哪個不能產(chǎn)生大數(shù)據(jù)?而這些行業(yè)現(xiàn)在剛開始試水,深思之下,其中的發(fā)展前景簡直不可限量。而從行業(yè)的“條”轉(zhuǎn)到地區(qū)的“塊”來看,每個省(市、區(qū))、縣(市)、鄉(xiāng)(鎮(zhèn)),都可以產(chǎn)生近乎無窮的數(shù)據(jù)。可以想象,有朝一日各行各業(yè)、各個地區(qū)都“張開”大數(shù)據(jù)的“翅膀”后,社會的運轉(zhuǎn)一定會變得更加靈巧而高效。
數(shù)據(jù)不是可有可無的數(shù)字和符號,而是寶貴的財富,更多的數(shù)據(jù)意味著更大的價值。這一觀念已被越來越多的人所接受和認同。因此我們相信,在解決了大數(shù)據(jù)的安全隱憂的前提下,我們所有人都將從中受益。