大數(shù)據(jù)的定義
大數(shù)據(jù)是一個寬泛的概念,從 2001 年“大數(shù)據(jù)”一詞在 Gartner 的研究報告出現(xiàn)至今,大數(shù)據(jù)一直沒有統(tǒng)一的定義。
Gartner 認為大數(shù)據(jù)是需要新處理模式才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產。
麥肯錫全球研究所給出的定義是:一種規(guī)模大到在獲取、存儲、管理、分析方面大大超出了傳統(tǒng)數(shù)據(jù)庫軟件工具能力范圍的數(shù)據(jù)集合,具有海量的數(shù)據(jù)規(guī)模、快速的數(shù)據(jù)流轉、多樣的數(shù)據(jù)類型和價值密度低四大特征。
國際數(shù)據(jù)公司(IDC)從大數(shù)據(jù)的 4 個特征來定義,即海量的數(shù)據(jù)規(guī)模(Volume)、快速的數(shù)據(jù)流轉和動態(tài)的數(shù)據(jù)體系(Velocity)、多樣的數(shù)據(jù)類型(Variety)、巨大的數(shù)據(jù)價值(Value)。
維基百科對“大數(shù)據(jù)”的定義是“無法在可承受的時間范圍內用常規(guī)軟件工具進行捕捉、管理和處理的數(shù)據(jù)集合”。
無論各方對于大數(shù)據(jù)的定義有何不同,但均體現(xiàn)了大數(shù)據(jù)“大”的特征。但體量大、結構多樣體現(xiàn)更多的是數(shù)據(jù)特征,對于數(shù)據(jù)的處理與應用,則需要新技術(新型計算架構、智能算法等)、新理念與新知識。因此大數(shù)據(jù)不僅“大”,而且“新”,是新資源、新工具和新應用的綜合體。
對于大數(shù)據(jù)的處理與應用,則需要新技術(新型計算架構、智能算法等)、新理念與新知識。因此大數(shù)據(jù)不僅“大”,而且“新”,是新資源、新工具和新應用的綜合體。
大數(shù)據(jù)的關鍵技術
大數(shù)據(jù)作為一種新興技術,目前尚未形成完善、達成共識的技術標準體系。對大數(shù)據(jù)的理解和分析,提出了大數(shù)據(jù)參考架構。
大數(shù)據(jù)參考架構總體上可以概括為“一個概念體系,二個價值鏈維度”?!耙粋€概念體系”是指它為大數(shù)據(jù)參考架構中使用的概念提供了一個構件層級分類體系,即“角色—活動—功能組件”,用于描述參考架構中的邏輯構件及其關系;“二個價值鏈維度”分別為“IT價值鏈”和“信息價值鏈”,其中“IT價值鏈”反映的是大數(shù)據(jù)作為一種新興的數(shù)據(jù)應用范式對IT技術產生的新需求所帶來的價值,“信息價值鏈”反映的是大數(shù)據(jù)作為一種數(shù)據(jù)科學方法論對數(shù)據(jù)到知識的處理過程中所實現(xiàn)的信息流價值。這些內涵在大數(shù)據(jù)參考模型圖中得到了體現(xiàn)。
大數(shù)據(jù)的關鍵技術有:
1、數(shù)據(jù)收集
大數(shù)據(jù)時代,數(shù)據(jù)的來源極其廣泛,數(shù)據(jù)有不同的類型和格式,同時呈現(xiàn)爆發(fā)性增長的態(tài)勢,這些特性對數(shù)據(jù)收集技術也提出了更高的要求。數(shù)據(jù)收集需要從不同的數(shù)據(jù)源實時的或及時的收集不同類型的數(shù)據(jù)并發(fā)送給存儲系統(tǒng)或數(shù)據(jù)中間件系統(tǒng)進行后續(xù)處理。數(shù)據(jù)收集一般可分為設備數(shù)據(jù)收集和Web數(shù)據(jù)爬取兩類,常常用的數(shù)據(jù)收集軟件有Splunk、Sqoop、Flume、Logstash、Kettle以及各種網絡爬蟲,如Heritrix、Nutch等。
2、數(shù)據(jù)預處理
數(shù)據(jù)的質量對數(shù)據(jù)的價值大小有直接影響,低質量數(shù)據(jù)將導致低質量的分析和挖掘結果。廣義的數(shù)據(jù)質量涉及許多因素,如數(shù)據(jù)的準確性、完整性、一致性、時效性、可信性與可解釋性等。
大數(shù)據(jù)系統(tǒng)中的數(shù)據(jù)通常具有一個或多個數(shù)據(jù)源,這些數(shù)據(jù)源可以包括同構/異構的(大)數(shù)據(jù)庫、文件系統(tǒng)、服務接口等。這些數(shù)據(jù)源中的數(shù)據(jù)來源現(xiàn)實世界,容易受到噪聲數(shù)據(jù)、數(shù)據(jù)值缺失與數(shù)據(jù)沖突等的影響。此外數(shù)據(jù)處理、分析、可視化過程中的算法與實現(xiàn)技術復雜多樣,往往需要對數(shù)據(jù)的組織、數(shù)據(jù)的表達形式、數(shù)據(jù)的位置等進行一些前置處理。
數(shù)據(jù)預處理形式上包括數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)歸約與數(shù)據(jù)轉換等階段。
3、數(shù)據(jù)存儲
分布式存儲與訪問是大數(shù)據(jù)存儲的關鍵技術,它具有經濟、高效、容錯好等特點。分布式存儲技術與數(shù)據(jù)存儲介質的類型和數(shù)據(jù)的組織管理形式直接相關。目前的主要數(shù)據(jù)存儲介質類型包括內存、磁盤、磁帶等;主要數(shù)據(jù)組織管理形式包括按行組織、按列組織、按鍵值組織和按關系組織;主要數(shù)據(jù)組織管理層次包括按塊級組織、文件級組織以及數(shù)據(jù)庫級組織等。
不同的存儲介質和組織管理形式對應于不同的大數(shù)據(jù)特征和應用特點。
4、數(shù)據(jù)處理
分布式數(shù)據(jù)處理技術一方面與分布式存儲形式直接相關,另一方面也與業(yè)務數(shù)據(jù)的溫度類型(冷數(shù)據(jù)、熱數(shù)據(jù))相關。目前主要的數(shù)據(jù)處理計算模型包括MapReduce計算模型、DAG計算模型、BSP計算模型等。
(1)MapReduce分布式計算框架
MapReduce是一個高性能的批處理分布式計算框架,用于對海量數(shù)據(jù)進行并行分析和處理。與傳統(tǒng)數(shù)據(jù)倉庫和分析技術相比,MapReduce 適合處理各種類型的數(shù)據(jù),包括結構化、半結構化和非結構化數(shù)據(jù),并且可以處理數(shù)據(jù)量為TB 和 PB 級別的超大規(guī)模數(shù)據(jù)。
(2)分布式內存計算系統(tǒng)
使用分布式共享內存進行計算可以有效的減少數(shù)據(jù)讀寫和移動的開銷,極大的提高數(shù)據(jù)處理的性能。支持基于內存的數(shù)據(jù)計算,兼容多種分布式計算框架的通用計算平臺是大數(shù)據(jù)領域所必需的重要關鍵技術。
(3)分布式流計算系統(tǒng)
在大數(shù)據(jù)時代,數(shù)據(jù)的增長速度超過了存儲容量的增長,在不遠的將來,人們將無法存儲所有的數(shù)據(jù),同時,數(shù)據(jù)的價值會隨著時間的流逝而不斷減少,此外,很多數(shù)據(jù)涉及用戶的隱私無法進行存儲。對數(shù)據(jù)流進行實時處理的技術獲得了人們越來越多的關注。
5、數(shù)據(jù)分析
大數(shù)據(jù)分析技術包括已有數(shù)據(jù)信息的分布式統(tǒng)計分析技術,以及未知數(shù)據(jù)信息的分布式挖掘和深度學習技術。分布式統(tǒng)計分析技術基本都可藉由數(shù)據(jù)處理技術直接完成,分布式挖掘和深度學習技術則可以進一步細分為:
(1)聚類
聚類指將物理或抽象對象的集合分組成為由類似的對象組成的多個類的過程。
(2)分類
分類是指在一定的有監(jiān)督的學習前提下,將物體或抽象對象的集合分成多個類的過程。也可以認為,分類是一種基于訓練樣本數(shù)據(jù)(這些數(shù)據(jù)已經被預先貼上了標簽)區(qū)分另外的樣本數(shù)據(jù)標簽的過程,即另外的樣本數(shù)據(jù)應該如何貼標簽。
(3)關聯(lián)分析
關聯(lián)分析是一種簡單、實用的分析技術,就是發(fā)現(xiàn)存在于大量數(shù)據(jù)集中的關聯(lián)性或相關性,從而描述了一個事物中某些屬性同時出現(xiàn)的規(guī)律和模式。關聯(lián)分析在數(shù)據(jù)挖掘領域也稱為關聯(lián)規(guī)則挖掘。
(4)深度學習
深度學習是機器學習研究中的一個新的領域,其動機在于建立、模擬人腦進行分析學習的神經網絡,它模仿人腦的機制來解釋數(shù)據(jù),例如圖像,聲音和文本。深度學習的實質,是通過構建具有很多隱層的機器學習模型和海量的訓練數(shù)據(jù),來學習更有用的特征,從而最終提升分類或預測的準確性。
6、數(shù)據(jù)可視化
數(shù)據(jù)可視化(Data Visualization)運用計算機圖形學和圖像處理技術,將數(shù)據(jù)換為圖形或圖像在屏幕上顯示出來,并進行交互處理。它涉及到計算機圖形學、圖像處理、計算機輔助設計、計算機視覺及人機交互等多個技術領域。數(shù)據(jù)可視化概念首先來自科學計算可視化(Visualization in Scientific Computing),科學家們不僅需要通過圖形圖像來分析由計算機算出的數(shù)據(jù),而且需要了解在計算過程中數(shù)據(jù)的變化。