林海文
摘要:該文首先介紹了大數(shù)據(jù)產(chǎn)生的背景和概念,其次論述了大數(shù)據(jù)在國內(nèi)外的發(fā)展概況,大數(shù)據(jù)的一般處理流程,最后闡述了大數(shù)據(jù)面臨的挑戰(zhàn)問題,并得出大數(shù)據(jù)將成為一種新的自然資源[1]以及技術(shù)將不斷發(fā)展的結(jié)論。
關(guān)鍵詞:大數(shù)據(jù);數(shù)據(jù)分析;云計算;hadoop
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)26-0001-02
Research overview of big data
LIN Hai-wen
(South China Institute of Software Engineering,Guanzhou Universtiy, Guangzhou 510990, China)
Abstract: The article firstly introduces the background and the concept of the “Big Data”;secondly discuss the development of the technology both here and abroad; lastly discuss the chanllenges of the research of the “Big Data” and make a conclusion that the “Big Data” would become a new resource and the technology would endlessly develop.
Key words: big data; data analysis; cloud computing; hadoop
1 大數(shù)據(jù)的由來
全球數(shù)據(jù)量每兩年大約增加一倍,根據(jù)國際數(shù)據(jù)資訊(IDC)公司監(jiān)測,估計到2020年,全球?qū)碛?5ZB的數(shù)據(jù)量,這些數(shù)據(jù)85%以上以非結(jié)構(gòu)化或半結(jié)構(gòu)化的形式存在。IT界用“Big Data(大數(shù)據(jù))”來形容這個問題。早在上個世紀(jì)80年代就有美國人提出來“大數(shù)據(jù)”這個名詞[2]。2008年9月,文章“Big Data: Science in the Petabyte Era”在《科學(xué)》雜志發(fā)表,“大數(shù)據(jù)”這個詞開始廣泛傳播。
大數(shù)據(jù)[3,4] 中的數(shù)據(jù)其數(shù)量級以PB(1 024 terabytes)或EB(1EB=100萬TB)或更高計算,它們包括結(jié)構(gòu)化的、半結(jié)構(gòu)化的和非結(jié)構(gòu)化類型,其規(guī)模和復(fù)雜程度超出了以往。在數(shù)據(jù)管理中,一方面數(shù)據(jù)量和業(yè)務(wù)量雙向增長,更重要的另一方面是現(xiàn)代企業(yè)向全社會互聯(lián)互通的交互式云計算[5]業(yè)務(wù)模式的逐漸演進(jìn)。傳統(tǒng)的數(shù)據(jù)管理方式在容量、效率、擴(kuò)展性上存在瓶頸,為了克服以上瓶頸,現(xiàn)代的數(shù)據(jù)管理需要達(dá)到以下目標(biāo):海量容納能力,多類型,多結(jié)構(gòu),高負(fù)載,高可用,高可靠,低成本。為了實現(xiàn)上述目標(biāo),誕生了一系列大數(shù)據(jù)管理技術(shù),其中有代表性的是Yahoo的Hadoop[6]體系,它是對google的MapReduce[7]和BigTable兩項云計算技術(shù)開源化后形成的。這些大數(shù)據(jù)技術(shù)成本低,水平擴(kuò)展性強,能夠處理海量數(shù)據(jù)的計算和查詢。
2 大數(shù)據(jù)的概念
“大數(shù)據(jù)”的 “大”不僅體現(xiàn)在數(shù)量龐大,更重要的是數(shù)據(jù)發(fā)生質(zhì)的變化,即數(shù)據(jù)具有網(wǎng)絡(luò)化和交互性特性。
到目前為止,大數(shù)據(jù)沒有統(tǒng)一的定義,比較流行的4v定義[8]:即有以下四個特征的數(shù)據(jù)稱為大數(shù)據(jù),這是個v特征分別是Volume,Velocity,Variery,Value。其中,Volume表容量大,Velocity表變化速度快,Variery表種類和結(jié)構(gòu)類型多,Value表價值密度低。這樣的定義從數(shù)據(jù)形態(tài)出發(fā),大數(shù)據(jù)的來源主要有社交媒體上的用戶評論互聯(lián)網(wǎng)上客戶交互的行為數(shù)據(jù),傳感器等機(jī)器數(shù)據(jù)等。
另一種定義從數(shù)據(jù)處理技術(shù)出發(fā),定義所有的數(shù)據(jù)為大數(shù)據(jù),認(rèn)為所有的數(shù)據(jù)都應(yīng)該被以Hadoop為代表的技術(shù)體系管理和處理。
以上兩種定義都有所片面,大數(shù)據(jù)現(xiàn)代信息社會的特征是全社會范圍內(nèi)數(shù)據(jù)的互聯(lián)互通,數(shù)字化程度更廣泛更深入。對企業(yè)來講,大數(shù)據(jù)不單是技術(shù)層面,也不單是數(shù)據(jù)心態(tài)特征層面,而主要是實現(xiàn)“數(shù)據(jù)驅(qū)動業(yè)務(wù)”的相關(guān)戰(zhàn)略和戰(zhàn)術(shù),是一種運營模式的轉(zhuǎn)變,即由數(shù)據(jù)支持業(yè)務(wù)轉(zhuǎn)向數(shù)據(jù)驅(qū)動業(yè)務(wù)。在這種定義下,大數(shù)據(jù)的特征主要是大,廣,聯(lián)。
3 國內(nèi)外技術(shù)發(fā)展
大數(shù)據(jù)的處理和分析的技術(shù)很多,其中比較典型的有分布式計算框架MapReduce以及在MapReduce基礎(chǔ)上實現(xiàn)的Hadoop技術(shù)。
Google公司在2003-2004年間發(fā)表了三篇論文,它們是GFS[9], BigTable[10],MapReduce,其中的MapReduce開源實現(xiàn),成為了針對海量數(shù)據(jù)處理的一種通用的分布式計算的編程框架。該編程框架以Shared Nothing的分布存儲方案來解決數(shù)據(jù)的存儲問題,數(shù)據(jù)被分割存儲到計算機(jī)網(wǎng)絡(luò)中的集群節(jié)點上,對外有統(tǒng)一的接口,簡單易用。其分布式計算由Map步驟實現(xiàn),將計算單元(Map步驟)放到數(shù)據(jù)存儲節(jié)點上執(zhí)行。而結(jié)果匯總有Reduce步驟實現(xiàn),將需要匯總的結(jié)果按鍵值Key分成若干“分區(qū)”,每個Reduce節(jié)點分別對一個分區(qū)進(jìn)行匯總,從而Map和Reduce步驟都達(dá)到了分布并行。采用MapReduce分布式編程框架,程序員只需調(diào)用統(tǒng)一接口就能將數(shù)據(jù)分割后分布存儲到集群節(jié)點,然后分別編寫Map和Reduce算法,從而完成了大數(shù)據(jù)的采集,清理,分析等步驟,最終獲得有價值的數(shù)據(jù)。數(shù)據(jù)采用MapReduce需要有以下特點:a)數(shù)據(jù)量大,才能有效率;b)批處理。
2006年MapReduce,BigTable,GFS被開源實現(xiàn),從而產(chǎn)生Hadoop體系。Hadoop體系是對多年前三篇google論文MapReduce,BigTable,GFS的開源的分布式編程框架,三篇論文分別對應(yīng)Hadoop分布式編程框架的Hadoop MapReduce,HBase與HDFS[11]三個部件。Hadoop的其他組件包括Sqoop,Zookeeper,Chuwa,但是這些組件不是必不可少。Hadoop的核心組件是MapReduce,它引領(lǐng)了大數(shù)據(jù)技術(shù)潮流。
MapReduce和Hadoop無法滿足實時計算的要求,目前實時計算主要基于兩種模式:一是基于關(guān)系型數(shù)據(jù)庫,采用水平擴(kuò)展(橫向增加設(shè)備節(jié)點)的策略來滿足數(shù)據(jù)量不斷增長的需求,基于分布式和并行技術(shù)采用的方案架構(gòu)有Shared Disk和Shared Nothing;二是基于NoSQL數(shù)據(jù)庫,典型的NoSQL有Facebook Cassandra,MongoDB,CouchDB,Neo4j等。
在國內(nèi),2012年計算機(jī)協(xié)會成立了大數(shù)據(jù)專家委員會,《中國大數(shù)據(jù)技術(shù)與產(chǎn)業(yè)發(fā)展白皮書》在2013年發(fā)布,第一屆CCF大數(shù)據(jù)學(xué)術(shù)會議成功舉辦。2012年立項6項,到了2013年立項53項,充分體現(xiàn)大數(shù)據(jù)在科研領(lǐng)域受到的重視程度。
4 大數(shù)據(jù)處理流程
大數(shù)據(jù)的處理流程基本可劃分為數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)組織、數(shù)據(jù)分析和數(shù)據(jù)業(yè)務(wù)應(yīng)用5個階段。
4.1 數(shù)據(jù)采集
通過傳感器收取、射頻識別(RFID)[12]、網(wǎng)站電子渠道、手機(jī)電子渠道、baidu和google搜索引擎等進(jìn)行數(shù)據(jù)的采集。
4.2 數(shù)據(jù)的存儲
采用什么方法存儲主要根據(jù)業(yè)務(wù)特征。如果數(shù)據(jù)不多,可采用傳統(tǒng)的存儲方式,如果打算存儲所有大數(shù)據(jù),Hadoop HDFS組件是不錯的選擇。
4.3 數(shù)據(jù)組織
采集完進(jìn)行存儲的數(shù)據(jù)需要進(jìn)行適當(dāng)?shù)挠嬎悖庸ず吞幚?,抽取出統(tǒng)一的格式,從而實現(xiàn)數(shù)據(jù)的組織??煽紤]用Hadoop架構(gòu)中的HBase組件。
4.4 數(shù)據(jù)分析
對有組織好的數(shù)據(jù)進(jìn)行分析處理,如數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、數(shù)據(jù)統(tǒng)計等。也可考慮Hadoop MapReduce組件。
4.5 數(shù)據(jù)業(yè)務(wù)應(yīng)用
數(shù)據(jù)處理分析的結(jié)果通過合適的方式展現(xiàn)給用戶,常用的方式有可視化和人機(jī)交互方式。
5 面臨的挑戰(zhàn)
大數(shù)據(jù)研究有以下幾個挑戰(zhàn);1)處理成倍增長數(shù)據(jù)量存儲能力;2) 大數(shù)據(jù)的數(shù)據(jù)挖掘能力3)大數(shù)據(jù)的實時處理能力;4)大數(shù)據(jù)的隱私保護(hù)等。
6 結(jié)論
大數(shù)據(jù)將成為一種新的自然資源。隨著大數(shù)據(jù)技術(shù)不斷發(fā)展,未來,實時高效、面向海量數(shù)據(jù)對象或海量計算任務(wù)的分布式并行處理技術(shù)成為一種趨勢,而Hadoop架構(gòu)只是大數(shù)據(jù)處理技術(shù)Hadoop生態(tài)系統(tǒng)中的一員。未來,大數(shù)據(jù)的處理技術(shù)不同于目前流行的Hadoop/NoSQL等開源技術(shù),也不同于傳統(tǒng)關(guān)系數(shù)據(jù)庫,而是介于兩者之間的技術(shù)模式。
參考文獻(xiàn):
[1] 于艷華, 宋美娜. 大數(shù)據(jù)[J]. 中興通訊技術(shù), 2013(1).
[2] 徐子沛. 大數(shù)據(jù)[M]. 桂林: 廣西師范大學(xué)出版社, 2012.
[3] Big data. 2011. http://en.wikipedia.org/wiki/Big_data
[4] Zhou XF, Lu JH, Li CP, Du XY. The challenges of big data from the perspective of data management. Communications of the China Computer Federation, 2012,8(9).
[5] 李喬, 鄭嘯. 云計算研究現(xiàn)狀綜述[J]. 計算機(jī)科學(xué), 2011,38(4).
[6] 楊宸鑄. 基于HADOOP的數(shù)據(jù)挖掘研究[D]. 重慶: 重慶大學(xué), 2010.
[7] 馬帥, 李建欣, 胡春明. 大數(shù)據(jù)科學(xué)與工程的挑戰(zhàn)與思考[J]. 中國計算機(jī)學(xué)會通訊, 2012(9).
[8] Barwick H. IIIS: The ‘four Vs of Big Data. 2011. http://www.computerworld.com.au/article/396198/iiis_four_vs_big_data/
[9] GHEMAWAT S, GOBIOFF H, LEUNG S T. The google file system[J]. ACM SIGOPS Operating Systems Review, 2003,37(5).
[10] CHANG F, DEAN J, GHEMAWAT S, et al. BigTable: A distributed storage system for structured data[J]. ACM Transactions on Computer Systems, 2008, 26(2).
[11] The Apache Software Foundation.HDFS Architecture[EB/OL]. [2013-7-24]. http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfsDesign.html.
[12] LM Ni, YLIU, YC Lau, et al. LANDMARC: Indoor location sensing using active RFID[J]. Wireless Networks, 2004, 10(6).