複製鏈接
請複製以下鏈接發送給好友

Big Data

鎖定
Big Data (大數據),或稱巨量資料,指的是在傳統數據處理應用軟件不足以處理的大或複雜的數據集。大數據也可以定義為來自各種來源的大量非結構化或結構化數據。從學術角度而言,大數據的出現促成廣泛主題的新穎研究。這也導致各種大數據統計方法的發展。大數據並沒有統計學抽樣方法;它只是觀察和追蹤發生的事情。因此,大數據通常包含的數據大小超出傳統軟件在可接受的時間內處理的能力。由於技術進步,發佈新數據的便捷性以及全球大多數政府對高透明度的要求,大數據分析在現代研究中越來越突出。
中文名
大數據
外文名
Big Data
別    名
巨量資料
特    點
大量、時效性、多樣性
處理方式
流處理和批處理
原    理
分佈式系統、機器學習、數據分析

Big Data介紹

在許多領域,由於數據集過度龐大,科學家經常在分析處理上遭遇限制和阻礙;這些領域包括氣象學、基因組學、神經網絡體學、複雜的物理模擬,以及生物和環境研究。這樣的限制也對網絡搜索金融經濟信息學造成影響。數據集大小增長的部分原因來自於信息持續從各種來源被廣泛收集,這些來源包括搭載感測設備的移動設備、高空感測科技(遙感)、軟件記錄、相機、麥克風、無線射頻識別(RFID)和無線感測網絡。自1980年代起,現代科技可存儲數據的容量每40個月即增加一倍;截至2012年,全世界每天產生2.5艾字節
字節)的數據。
大數據幾乎無法使用大多數的數據庫管理系統處理,而必須使用“在數十、數百甚至數千台服務器上同時並行運行的軟件”(計算機集羣是其中一種常用方式)。大數據的定義取決於持有數據組的機構之能力,以及其平常用來處理分析數據的軟件之能力。“對某些組織來説,第一次面對數百GB的數據集可能讓他們需要重新思考數據管理的選項。對於其他組織來説,數據集可能需要達到數十或數百TB才會對他們造成困擾。”
隨着大數據被越來越多的提及,有些人驚呼大數據時代已經到來了,2012年《紐約時報》的一篇專欄中寫到,“大數據”時代已經降臨,在商業、經濟及其他領域中,決策將日益基於數據和分析而作出,而並非基於經驗和直覺。但是並不是所有人都對大數據感興趣,有些人甚至認為這是商學院或諮詢公司用來譁眾取寵的時髦術語(buzzword),看起來很新穎,但只是把傳統重新包裝,之前在學術研究或者政策決策中也有海量數據的支撐,大數據並不是一件新興事物。
大數據時代的來臨帶來無數的機遇,但是與此同時個人或機構的隱私權也極有可能受到衝擊,大數據包含各種個人信息數據,現有的隱私保護法律或政策無力解決這些新出現的問題。有人提出,大數據時代,個人是否擁有“被遺忘權”,被遺忘權即是否有權利要求數據商不保留自己的某些信息,大數據時代信息為某些互聯網巨頭所控制,但是數據商收集任何數據未必都獲得用户的許可,其對數據的控制權不具有合法性。2014年5月13日歐盟法院就“被遺忘權”(right to be forgotten)一案作出裁定,判決谷歌應根據用户請求刪除不完整的、無關緊要的、不相關的數據以保證數據不在搜索結果中出現。這説明在大數據時代,加強對用户個人權利的尊重才是時勢所趨的潮流。

Big Data定義

大數據由巨型數據集組成,這些數據集大小常超出人類在可接受時間下的收集、庋用、管理和處理能力。大數據的大小經常改變,截至2012年,單一數據集的大小從數太字節(TB)至數十兆億字節(PB)不等。
在一份2001年的研究與相關的演講中,麥塔集團(META Group,現為高德納)分析員道格·萊尼(Doug Laney)指出數據長的挑戰和機遇有三個方向:量(Volume,數據大小)、速(Velocity,數據輸入輸出的速度)與多變(Variety,多樣性),合稱“3V”或“3Vs”。高德納與大部分大數據產業中的公司,都繼續使用3V來描述大數據。高德納於2012年修改對大數據的定義:“大數據是大量、高速、及/或多變的信息資產,它需要新型的處理方式去促成更強的決策能力、洞察力與最優化處理。”另外,有機構在3V之外定義第4個V:真實性(Veracity)為第四特點。
大數據必須藉由計算機對數據進行統計、比對、解析方能得出客觀結果。美國在2012年就開始着手大數據,奧巴馬更在同年投入2億美金在大數據的開發中,更強調大數據會是之後的未來石油。大數據分析一般主要從數據的容量、數據的速率、數據格式三方面進行分析,大數據分析方法很多,根據具體數據分析類型選擇合適的數據分析方法,對提高數據分析效率起到重要作用 [1] 數據挖掘(data mining)則是在探討用以解析大數據的方法。大數據需要特殊的技術,以有效地處理大量的容忍經過時間內的數據。適用於大數據的技術,包括大規模並行處理(MPP)數據庫、數據挖掘、分佈式文件系統、分佈式數據庫、雲計算平台、互聯網和可擴展的存儲系統。

Big Data應用示例

大數據的應用示例包括大科學、RFID、感測設備網絡、天文學、大氣學、交通運輸、基因組學、生物學、大社會數據分析、互聯網文件處理、製作互聯網搜索引擎索引、通信記錄明細、軍事偵查、金融大數據,醫療大數據,社交網絡、通勤時間預測、醫療記錄、照片圖像和影像封存、大規模的電子商務等。

Big Data巨大科學

大型強子對撞機中有1億5000萬個感測器,每秒發送4000萬次的數據。實驗中每秒產生將近6億次的對撞,在過濾去除99.999%的撞擊數據後,得到約100次的有用撞擊數據。
將撞擊結果數據過濾處理後僅記錄0.001%的有用數據,全部四個對撞機的數據量複製前每年產生25拍字節(PB),複製後為200拍字節。
如果將所有實驗中的數據在不過濾的情況下全部記錄,數據量將會變得過度龐大且極難處理。每年數據量在複製前將會達到1.5億拍字節,等於每天有近500艾字節(EB)的數據量。這個數字代表每天實驗將產生相當於500(5×10)字節的數據,是全世界所有數據源總和的200倍。

Big Data衞生學

國際衞生學教授漢斯·羅斯林使用“Trendalyzer”工具軟件呈現兩百多年以來全球人類的人口統計數據,跟其他數據交叉比對,例如收入、宗教、能源使用量等。

Big Data公共部門

發達國家的政府部門開始推廣大數據的應用。2012年奧巴馬政府投資近兩億美元開始推行《大數據的研究與發展計劃》,本計劃涉及美國國防部、美國衞生與公共服務部門等多個聯邦部門和機構,意在通過提高從大型複雜的的數據中提取知識的能力,進而加快科學和工程的開發,保障國家安全。

Big Data市場

大數據的出現提升了對信息管理專家的需求,Software AGOracleIBM微軟、SAP、易安信、惠普戴爾已在多間數據管理分析專門公司上花費超過150億美元。在2010年,數據管理分析產業市值超過1,000億美元,並以每年將近10%的速度成長,是整個軟件產業成長速度的兩倍 [2] 
經濟的開發成長促進了密集數據科技的使用。全世界共有約46億的移動電話用户,並有10至20億人鏈接互聯網。自1990年起至2005年間,全世界有超過10億人進入中產階級,收入的增加造成了識字率的提升,更進而帶動信息量的成長。全世界透過電信網絡交換信息的容量在1986年為281兆億字節(PB),1993年為471兆億字節,2000年時增長為2.2艾字節(EB),在2007年則為65艾字節。根據預測,在2013年互聯網每年的信息流量將會達到667艾字節。

Big Data基本特性

Big Data大數據,談的不僅僅是數據量,其實包含了數據量(Volume)、時效性(Velocity)、多樣性(Variety) [3]  、可疑性(Veracity)。
Volume:數據量大量數據的產生、處理、保存,談的就是Big Data就字面上的意思,就是談海量數據。
Velocity:時效性這個詞我有看到幾個解釋,但我認為用IBM的解釋來説是比較恰當的,就是處理的時效,既然前頭提到Big Data其中一個用途是做市場預測,那處理的時效如果太長就失去了預測的意義了,所以處理的時效對Big Data來説也是非常關鍵的,500萬筆數據的深入分析,可能只能花5分鐘的時間
Variety:多變性指的是數據的形態,包含文字、影音、網頁、串流等等結構性、非結構性的數據
Veracity:可疑性指的是當數據的來源變得更多元時,這些數據本身的可靠度、質量是否足夠,若數據本身就是有問題的,那分析後的結果也不會是正確的。
麥肯錫將大數據定義為: 無法在一定時間內用傳統數據庫軟件工具對其內容進行抓取、管理和處理的數據集合。大數據不是一種新技術,也不是一種新產品,而是一種新現象,是近來研究的一個技術熱點。大數據具有以下 4 個特點,即 4 個“V”:
數據體量(Volumes) 巨大。大型數據集,從TB 級別,躍升到 PB 級別。
數據類別(Variety)) 繁多。數據來自多種數據源,數據種類和格式衝破了以前所限定的結構化數據範疇,囊括了半結構化和非結構化數據
價值( Value) 密度低。以視頻為例,連續不間斷監控過程中,可能有用的數據僅僅一兩秒鐘。
處理速度( Velocity) 快。包含大量在線或實時數據分析處理的需求,1 秒定律 [4] 

Big Data技術綜述

Big Data是近來的一個技術熱點,但從名字就能判斷它並不是什麼新詞。畢竟,大是一個相對概念。歷史上,數據庫、數據倉庫、數據集市等信息管理領域的技術,很大程度上也是為了解決大規模數據的問題。被譽為數據倉庫之父的Bill Inmon早在20世紀90年代就經常將Big Data掛在嘴邊了。
然而,Big Data作為一個專有名詞成為熱點,主要應歸功於近年來互聯網、雲計算、移動和物聯網的迅猛發展。無所不在的移動設備、RFID、無線傳感器每分每秒都在產生數據,數以億計用户的互聯網服務時時刻刻在產生巨量的交互……要處理的數據量實在是太大、增長太快了,而業務需求和競爭壓力對數據處理的實時性、有效性又提出了更高要求,傳統的常規技術手段根本無法應付。
在這種情況下,技術人員紛紛研發和採用了一批新技術,主要包括分佈式緩存、基於MPP的分佈式數據庫分佈式文件系統、各種NoSQL分佈式存儲方案等。
10年前,Eric Brewer提出著名的CAP定理,指出:一個分佈式系統不可能滿足一致性、可用性和分區容忍性這三個需求,最多隻能同時滿足兩個。系統的關注點不同,採用的策略也不一樣。只有真正理解了系統的需求,才有可能利用好CAP定理。
架構師一般有兩個方向來利用CAP理論。
Key-Value存儲,如Amazon Dynamo等,可以根據CAP理論靈活選擇不同傾向的數據庫產品。
領域模型+分佈式緩存+存儲,可根據CAP理論結合自己的項目定製靈活的分佈式方案,但難度較高。
對大型網站,可用性與分區容忍性優先級要高於數據一致性,一般會盡量朝着A、P的方向設計,然後通過其他手段保證對於一致性的商務需求。架構設計師不要將精力浪費在如何設計能滿足三者的分佈式系統,而應該懂得取捨。
不同的數據對一致性的要求是不同的。SNS網站可以容忍相對較長時間的不一致,而不影響交易和用户體驗;而像支付寶這樣的交易和賬務數據則是非常敏感的,通常不能容忍超過秒級的不一致。

Big Data分佈式系統

談到分佈式文件系統,不得不提的是Google的GFS。基於大量安裝有Linux操作系統的普通PC構成的集羣系統,整個集羣系統由一台Master(通常有幾台備份)和若干台TrunkServer構成。GFS中文件備份成固定大小的Trunk分別存儲在不同的TrunkServer上,每個Trunk有多份(通常為3份)拷貝,也存儲在不同的TrunkServer上。Master負責維護GFS中的 Metadata,即文件名及其Trunk信息。客户端先從Master上得到文件的Metadata,根據要讀取的數據在文件中的位置與相應的TrunkServer通信,獲取文件數據。
圖1 圖1
在Google的論文發表後,就誕生了Hadoop。Hadoop被很多中國最大互聯網公司所追捧,百度的搜索日誌分析,騰訊、淘寶和支付寶的數據倉庫都可以看到Hadoop的身影。
Hadoop具備低廉的硬件成本、開源的軟件體系、較強的靈活性、允許用户自己修改代碼等特點,同時能支持海量數據存儲和計算任務。
Hive是一個基於Hadoop的數據倉庫平台,將轉化為相應的MapReduce程序基於Hadoop執行。通過Hive,開發人員可以方便地進行ETL開發。
如圖1所示,引用一張Facebook工程師做的Hive和Hadoop的關係圖。
Yonghong Data Mart的Data Grid的分佈式文件存儲系統(DFS) 是在Hadoop HDFS基礎上進行的改造和擴展,將服務器集羣內所有節點上存儲的文件統一管理和存儲。這些節點包括唯一的一個NamingNode,在 DFS 內部提供元數據服務;許多MapNode,提供存儲塊。存儲在 DFS 中的文件被分成塊,然後將這些塊複製到多個計算機中(Map Node)。這與傳統的 RAID 架構大不相同。塊的大小和複製的塊數量在創建文件時由客户機決定。Naming Node監控存在服務器集羣內所有節點上的文件操作,例如文件創建、刪除、移動、重命名等等。

Big Data數據挖掘

數據挖掘是指從大量的數據中通過算法搜索隱藏於其中信息的過程。數據挖掘通常與計算機科學有關,並通過統計、在線分析處理、情報檢索、機器學習、專家系統(依靠過去的經驗法則)和模式識別等諸多方法來實現上述目標。
在實施數據挖掘之前,先制定採取什麼樣的步驟,每一步都做什麼,達到什麼樣的目標是必要的,有了好的計劃才能保證數據挖掘有條不紊地實施並取得成功。很多軟件供應商和數據挖掘顧問公司投提供了一些數據挖掘過程模型,來指導他們的用户一步步地進行數據挖掘工作。比如,SPSS公司的5A和SAS公司的SEMMA。
數據挖掘過程模型步驟主要包括定義問題、建立數據挖掘庫、分析數據、準備數據、建立模型、評價模型和實施。下面讓我們來具體看一下每個步驟的具體內容:
(1)定義問題。在開始知識發現之前最先的也是最重要的要求就是了解數據和業務問題。必須要對目標有一個清晰明確的定義,即決定到底想幹什麼。比如,想提高電子信箱的利用率時,想做的可能是“提高用户使用率”,也可能是“提高一次用户使用的價值”,要解決這兩個問題而建立的模型幾乎是完全不同的,必須做出決定。
(2)建立數據挖掘庫。建立數據挖掘庫包括以下幾個步驟:數據收集,數據描述,選擇,數據質量評估和數據清理,合併與整合,構建元數據,加載數據挖掘庫,維護數據挖掘庫 [5] 
(3)分析數據。分析的目的是找到對預測輸出影響最大的數據字段,和決定是否需要定義導出字段。如果數據集包含成百上千的字段,那麼瀏覽分析這些數據將是一件非常耗時和累人的事情,這時需要選擇一個具有好的界面和功能強大的工具軟件來協助你完成這些事情。
(4)準備數據。這是建立模型之前的最後一步數據準備工作。可以把此步驟分為四個部分:選擇變量,選擇記錄,創建新變量,轉換變量。
(5)建立模型。建立模型是一個反覆的過程。需要仔細考察不同的模型以判斷哪個模型對面對的商業問題最有用。先用一部分數據建立模型,然後再用剩下的數據來測試和驗證這個得到的模型。有時還有第三個數據集,稱為驗證集,因為測試集可能受模型的特性的影響,這時需要一個獨立的數據集來驗證模型的準確性。訓練和測試數據挖掘模型需要把數據至少分成兩個部分,一個用於模型訓練,另一個用於模型測試。
(6)評價模型。模型建立好之後,必須評價得到的結果、解釋模型的價值。從測試集中得到的準確率只對用於建立模型的數據有意義。在實際應用中,需要進一步瞭解錯誤的類型和由此帶來的相關費用的多少。經驗證明,有效的模型並不一定是正確的模型。造成這一點的直接原因就是模型建立中隱含的各種假定,因此,直接在現實世界中測試模型很重要。先在小範圍內應用,取得測試數據,覺得滿意之後再向大範圍推廣。
(7)實施。模型建立並經驗證之後,可以有兩種主要的使用方法。第一種是提供給分析人員做參考;另一種是把此模型應用到不同的數據集上。
數據挖掘的算法主要包括神經網絡法、決策樹法、遺傳算法、粗糙集法、模糊集法、關聯規則法等。
神經網絡法是模擬生物神經系統的結構和功能,是一種通過訓練來學習的非線性預測模型,它將每一個連接看作一個處理單元,試圖模擬人腦神經元的功能,可完成分類、聚類、特徵挖掘等多種數據挖掘任務。神經網絡的學習方法主要表現在權值的修改上。其優點是具有抗干擾、非線性學習、聯想記憶功能,對複雜情況能得到精確的預測結果;缺點首先是不適合處理高維變量,不能觀察中間的學習過程,具有“黑箱”性,輸出結果也難以解釋;其次是需較長的學習時間。神經網絡法主要應用於數據挖掘的聚類技術中。
決策樹是根據對目標變量產生效用的不同而建構分類的規則,通過一系列的規則對數據進行分類的過程,其表現形式是類似於樹形結構的流程圖。最典型的算法是J.R.Quinlan於1986年提出的ID3算法,之後在ID3算法的基礎上又提出了極其流行的C4.5算法。採用決策樹法的優點是決策制定的過程是可見的,不需要長時間構造過程、描述簡單,易於理解,分類速度快;缺點是很難基於多個變量組合發現規則。決策樹法擅長處理非數值型數據,而且特別適合大規模的數據處理。決策樹提供了一種展示類似在什麼條件下會得到什麼值這類規則的方法。比如,在貸款申請中,要對申請的風險大小做出判斷。
遺傳算法模擬了自然選擇和遺傳中發生的繁殖、交配和基因突變現象,是一種採用遺傳結合、遺傳交叉變異及自然選擇等操作來生成實現規則的、基於進化理論的機器學習方法。它的基本觀點是“適者生存”原理,具有隱含並行性、易於和其他模型結合等性質。主要的優點是可以處理許多數據類型,同時可以並行處理各種數據;缺點是需要的參數太多,編碼困難,一般計算量比較大。遺傳算法常用於優化神經元網絡,能夠解決其他技術難以解決的問題。
粗糙集法也稱粗糙集理論,是由波蘭數學家Z Pawlak在20世紀80年代初提出的,是一種新的處理含糊、不精確、不完備問題的數學工具,可以處理數據約簡、數據相關性發現、數據意義的評估等問題。其優點是算法簡單,在其處理過程中可以不需要關於數據的先驗知識,可以自動找出問題的內在規律;缺點是難以直接處理連續的屬性,須先進行屬性的離散化。因此,連續屬性的離散化問題是制約粗糙集理論實用化的難點。粗糙集理論主要應用於近似推理、數字邏輯分析和化簡、建立預測模型等問題。
模糊集法是利用模糊集合理論對問題進行模糊評判、模糊決策、模糊模式識別和模糊聚類分析。模糊集合理論是用隸屬度來描述模糊事物的屬性。系統的複雜性越高,模糊性就越強 [6] 
關聯規則反映了事物之間的相互依賴性或關聯性。其最著名的算法是R.Agrawal等人提出的Apriori算法。其算法的思想是:首先找出頻繁性至少和預定意義的最小支持度一樣的所有頻集,然後由頻集產生強關聯規則。最小支持度和最小可信度是為了發現有意義的關聯規則給定的2個閾值。在這個意義上,數據挖掘的目的就是從源數據庫中挖掘出滿足最小支持度和最小可信度的關聯規則。

Big Data數據集市

數據集市(Data Mart) ,也叫數據市場,是一個從操作的數據和其他的為某個特殊的專業人員團體服務的數據源中收集數據的倉庫。從範圍上來説,數據是從企業範圍的數據庫、數據倉庫,或者是更加專業的數據倉庫中抽取出來的。數據中心的重點就在於它迎合了專業用户羣體的特殊需求,在分析、內容、表現,以及易用方面。數據中心的用户希望數據是由他們熟悉的術語表現的。
國外知名的Garnter關於數據集市產品報告中,位於第一象限的敏捷商業智能產品有QlikView, Tableau和SpotView,都是全內存計算的數據集市產品,在大數據方面對傳統商業智能產品巨頭形成了挑戰。國內BI產品起步較晚,知名的敏捷型商業智能產品有PowerBI, 永洪科技的Z-Suite,SmartBI等,其中永洪科技的Z-Data Mart是一款熱內存計算的數據集市產品。國內的德昂信息也是一家數據集市產品的系統集成商。

Big DataNoSQL

隨着數據量增長,越來越多的人關注NoSQL,特別是2010年下半年,Facebook選擇HBase來做實時消息存儲系統,替換原來開發的Cassandra系統。這使得很多人開始關注HBase。Facebook選擇HBase是基於短期小批量臨時數據和長期增長的很少被訪問到的數據這兩個需求來考慮的。
HBase是一個高可靠性、高性能、面向列、可伸縮的分佈式存儲系統,利用HBase技術可在廉價PC Server上搭建大規模結構化存儲集羣。HBase是BigTable的開源實現,使用HDFS作為其文件存儲系統。Google運行MapReduce來處理BigTable中的海量數據,HBase同樣利用MapReduce來處理HBase中的海量數據;BigTable利用Chubby作為協同服務,HBase則利用Zookeeper作為對應。

Big Data總結

圖4 線上應用系統與數據平台的無縫融入 圖4 線上應用系統與數據平台的無縫融入
近來NoSQL數據庫的使用越來越普及,幾乎所有的大型互聯網公司都在這個領域進行着實踐和探索。在享受了這類數據庫與生俱來的擴展性、容錯性、高讀寫吞吐外(儘管各主流NoSQL仍在不斷完善中),越來越多的實際需求把人們帶到了NoSQL並不擅長的其他領域,比如搜索、準實時統計分析、簡單事務等。實踐中一般會在NoSQL的外圍組合一些其他技術形成一個整體解決方案
參考資料