黃小華
進(jìn)入二十一世紀(jì)以來,以計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)等為代表的新技術(shù)應(yīng)用,深刻的改變了人類社會的方方面面,尤其是近年來,伴隨著5G技術(shù)的應(yīng)用、物聯(lián)網(wǎng)技術(shù)的突飛猛進(jìn),萬物互聯(lián)、一切皆可數(shù)據(jù)化似乎正從夢想走向現(xiàn)實(shí)。目前,數(shù)據(jù)已經(jīng)滲透到了每一個(gè)行業(yè)領(lǐng)域并成為重要的生產(chǎn)因素,數(shù)據(jù)規(guī)模也正以驚人的速度呈膨脹式的增長,大數(shù)據(jù)正成為這個(gè)時(shí)代最為顯著的標(biāo)簽。大數(shù)據(jù)概念的提出,顛覆了我們對傳統(tǒng)數(shù)據(jù)的認(rèn)識,同時(shí)也引起了數(shù)據(jù)獲取、存儲、分析、挖掘以及可視化等技術(shù)的變革,大數(shù)據(jù)以及其相關(guān)技術(shù)的發(fā)展正在成為改變?nèi)祟惿a(chǎn)以及生活方式的重要基礎(chǔ)。本文基于對大數(shù)據(jù)內(nèi)涵的認(rèn)識,就其技術(shù)體系進(jìn)行一些探討并分析其未來發(fā)展趨勢,以期能夠?qū)ο嚓P(guān)研究提供一些參考與借鑒。
大數(shù)據(jù)的概念一經(jīng)提出便受到了學(xué)界的廣泛關(guān)注,但到目前為止,對于大數(shù)據(jù)還沒有形成一個(gè)統(tǒng)一的定義。麥肯錫全球研究所給出的定義是:一種規(guī)模大到在獲取、存儲、管理、分析方面大大超出了傳統(tǒng)數(shù)據(jù)庫軟件工具能力范圍的數(shù)據(jù)集合。維基百科則將大數(shù)據(jù)定義為:利用常用軟件工具捕獲、管理和處理數(shù)據(jù)所耗時(shí)間超過可容忍時(shí)間限制的數(shù)據(jù)集。中國科學(xué)院院士徐宗本則將大數(shù)據(jù)定義為:不能夠集中存儲、并且難以在可接受時(shí)間內(nèi)分析處理,其中個(gè)體或部分?jǐn)?shù)據(jù)呈現(xiàn)低價(jià)值性而數(shù)據(jù)整體呈現(xiàn)高價(jià)值的海量復(fù)雜數(shù)據(jù)集。從上述定義不難看出,大數(shù)據(jù)從不同角度、側(cè)重點(diǎn)可以有不同的理解,但其本質(zhì)核心是一種數(shù)據(jù)集,是相較于傳統(tǒng)數(shù)據(jù)在獲取、存儲、分析處理等方面具有較大差異,需要特殊技術(shù)支撐的復(fù)雜數(shù)據(jù)集合。
大數(shù)據(jù)具有數(shù)據(jù)規(guī)模大、流動速度快、類型多樣、低價(jià)值密度以及真實(shí)性等特征,這使得其與傳統(tǒng)數(shù)據(jù)相較具有較大差異。計(jì)算機(jī)技術(shù)、數(shù)字化技術(shù)以及網(wǎng)絡(luò)技術(shù)等的飛速發(fā)展以及大范圍普及是大數(shù)據(jù)產(chǎn)生的基礎(chǔ)條件,使得數(shù)據(jù)的產(chǎn)生脫離了對活動的依賴,從被動產(chǎn)生到主動產(chǎn)生再到自發(fā)性產(chǎn)生,數(shù)據(jù)的規(guī)模在此情況下得到了爆發(fā)性的增長。但大數(shù)據(jù)的戰(zhàn)略意義或者說是價(jià)值體現(xiàn)并不在于對海量數(shù)據(jù)的掌握,而在于對這些數(shù)據(jù)的分析加工、處理能力,也就是說,大數(shù)據(jù)技術(shù)才是大數(shù)據(jù)從“死數(shù)據(jù)”變成“活資產(chǎn)”的關(guān)鍵。大數(shù)據(jù)的數(shù)據(jù)類型主要分為結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)的半結(jié)構(gòu)化數(shù)據(jù),其中非結(jié)構(gòu)化數(shù)據(jù)和半結(jié)構(gòu)化數(shù)據(jù)是大數(shù)據(jù)的主要類型,也被稱為異構(gòu)數(shù)據(jù)。由于半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)無規(guī)則性結(jié)構(gòu)、模式多樣化,且在大數(shù)據(jù)海量數(shù)據(jù)規(guī)模中占比較大,為大數(shù)據(jù)的存儲、分析、呈現(xiàn)帶來巨大挑戰(zhàn)。
大數(shù)據(jù)采集技術(shù)
大數(shù)據(jù)采集是指從終端設(shè)備、社交網(wǎng)絡(luò)、企業(yè)管理系統(tǒng)以及其它互聯(lián)網(wǎng)平臺、系統(tǒng)等獲取數(shù)據(jù)的過程。大數(shù)據(jù)采集的數(shù)據(jù)包括了從各種數(shù)據(jù)源如RFID、傳感器、社交網(wǎng)絡(luò)及移動互聯(lián)網(wǎng)等采集的各種類型的結(jié)構(gòu)化、半結(jié)構(gòu)化及非結(jié)構(gòu)化的海量數(shù)據(jù)。這些數(shù)據(jù)不但來源廣泛,且數(shù)據(jù)類型多樣、規(guī)模龐大、產(chǎn)生速度快,傳統(tǒng)的數(shù)據(jù)采集方法基本無法勝任。大數(shù)據(jù)采集過程中主要挑戰(zhàn)是并發(fā)數(shù)高,成千上萬的用戶在同一時(shí)間對系統(tǒng)進(jìn)行訪問和操作,無疑對其技術(shù)支撐提出了挑戰(zhàn)。大數(shù)據(jù)采集的數(shù)據(jù)源不同,數(shù)據(jù)采集方法也有所不同。就目前來說,針對不同的數(shù)據(jù)源,采集方法大致有如下幾種:一是數(shù)據(jù)庫采集。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫如MySQL和Oracle等可用大數(shù)據(jù)的采集,但其在處理超大規(guī)模和高并發(fā)的數(shù)據(jù)采集中顯得有些力不從心。近年來,非關(guān)系型數(shù)據(jù)庫如Redis、MongoDB和HBase等在大數(shù)據(jù)采集中的應(yīng)用日益增多;二是系統(tǒng)日志采集。很多企業(yè)管理系統(tǒng)、商務(wù)平臺每天都會產(chǎn)生大量的日志,這些日志是大數(shù)據(jù)中的一種重要數(shù)據(jù)類型。對于系統(tǒng)日志采集,目前使用最廣泛的采集工具有Hadoop的Chukwa、Apache FlumeA;Facebook的Scribe和LinkedIn的Kafka等,這些工具均采用分布式架構(gòu),能滿足每秒數(shù)百M(fèi)B的日志數(shù)據(jù)采集和傳輸需求;三是網(wǎng)絡(luò)數(shù)據(jù)采集。網(wǎng)絡(luò)數(shù)據(jù)采集是指通過網(wǎng)絡(luò)爬蟲或網(wǎng)站公開 API 等方式從網(wǎng)站上獲取數(shù)據(jù)信息的過程。網(wǎng)絡(luò)爬蟲會從一個(gè)或若干初始網(wǎng)頁的URL開始,獲得各個(gè)網(wǎng)頁上的內(nèi)容,并且在抓取網(wǎng)頁的過程中,不斷從當(dāng)前頁面上抽取新的URL放入隊(duì)列,直到滿足設(shè)置的停止條件為止。這樣可將非結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)從網(wǎng)頁中提取出來,存儲在本地的存儲系統(tǒng)中。四是感知設(shè)備數(shù)據(jù)采集感知設(shè)備數(shù)據(jù)采集是指通過傳感器、攝像頭和其他智能終端自動采集信號、圖片或錄像來獲取數(shù)據(jù)。大數(shù)據(jù)智能感知系統(tǒng)需要實(shí)現(xiàn)對結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化的海量數(shù)據(jù)的智能化識別、定位、跟蹤、接入、傳輸、信號轉(zhuǎn)換、監(jiān)控、初步處理和管理等。其關(guān)鍵技術(shù)包括針對大數(shù)據(jù)源的智能識別、感知、適配、傳輸、接入等。
大數(shù)據(jù)存儲技術(shù)
大數(shù)據(jù)的存儲與數(shù)據(jù)采集環(huán)節(jié)密切相關(guān)。一般情況下,當(dāng)數(shù)據(jù)采集量在一定的量級范圍內(nèi)且僅需要響應(yīng)簡單的處理請求時(shí),可將數(shù)據(jù)存儲在輕型數(shù)據(jù)庫內(nèi)。大數(shù)據(jù)存儲的輕型數(shù)據(jù)庫包括了關(guān)系型數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫和一些新型數(shù)據(jù)庫。如EMC的Greenplum、HP的 Vertica、Teradata的 AsterData都是用于大數(shù)據(jù)存儲的關(guān)系型數(shù)據(jù)庫;Google的HBase、10gen的MongoDB、Facebook的Cassandra以及VMware的Redis等都是用于大數(shù)據(jù)存儲的非關(guān)系型數(shù)據(jù)庫;此外,Google的Spanner、Megastore、F1是具有代表性的大數(shù)據(jù)NewSQL數(shù)據(jù)庫。
當(dāng)輕型數(shù)據(jù)庫難以滿足大數(shù)據(jù)存儲需要時(shí),便需要采取大型分布式存儲數(shù)據(jù)庫或者分布式存儲集群的方式,這類大數(shù)據(jù)存儲技術(shù)也被稱為大數(shù)據(jù)存儲平臺。目前典型的大數(shù)據(jù)存儲平臺包括Info Brignt、Hadoop、YunTable、HANA以及 Exadata等。