官术网_书友最值得收藏!

1.1 大數據的概念與關鍵技術

隨著大數據時代的到來,“大數據”已經成為互聯網信息技術行業的流行詞匯。本節介紹大數據的概念與關鍵技術。

1.1.1 大數據的概念

關于“什么是大數據”這個問題,學術界和業界比較認可關于大數據的“4V”說法。大數據的4個“V”,或者說是大數據的4個特點,包含4個層面:數據量大(Volume)、數據類型繁多(Variety)、處理速度快(Velocity)和價值密度低(Value)。

(1)數據量大。根據著名咨詢機構IDC(Internet Data Center)做出的估測,人類社會產生的數據一直都在以每年50%的速度增長,這被稱為“大數據摩爾定律”。這意味著,人類在最近兩年產生的數據量相當于之前產生的全部數據量之和。預計到2020年,全球將總共擁有35ZB的數據量,數據量將增長到2010年數據的近30倍。

(2)數據類型繁多。大數據的數據類型豐富,包括結構化數據和非結構化數據,其中,前者占10%左右,主要是指存儲在關系數據庫中的數據,后者占90%左右,種類繁多,主要包括郵件、音頻、視頻、微信、微博、位置信息、鏈接信息、手機呼叫信息、網絡日志等。

(3)處理速度快。大數據時代的很多應用,都需要基于快速生成的數據給出實時分析結果,用于指導生產和生活實踐,因此,數據處理和分析的速度通常要達到秒級響應,這一點和傳統的數據挖掘技術有著本質的不同,后者通常不要求給出實時分析結果。

(4)價值密度低。大數據價值密度卻遠遠低于傳統關系數據庫中已經有的那些數據,在大數據時代,很多有價值的信息都是分散在海量數據中的。

1.1.2 大數據關鍵技術

大數據的基本處理流程,主要包括數據采集、存儲管理、處理分析、結果呈現等環節。因此,從數據分析全流程的角度來看,大數據技術主要包括數據采集與預處理、數據存儲和管理、數據處理與分析、數據可視化、數據安全和隱私保護等幾個層面的內容(具體如表1-1所示)。

表1-1 大數據技術的不同層面及其功能

此外,大數據技術及其代表性軟件種類繁多,不同的技術都有其適用和不適用的場景??傮w而言,不同的企業應用場景,都對應著不同的大數據計算模式,根據不同的大數據計算模式,可以選擇相應的大數據計算產品,具體如表1-2所示。

表1-2 大數據計算模式及其代表產品

批處理計算主要解決針對大規模數據的批量處理,也是我們日常數據分析工作中非常常見的一類數據處理需求。比如,爬蟲程序把大量網頁抓取過來存儲到數據庫中以后,可以使用 MapReduce對這些網頁數據進行批量處理,生成索引,加快搜索引擎的查詢速度。代表性的批處理框架包括MapReduce、Spark等。

流計算主要是實時處理來自不同數據源的、連續到達的流數據,經過實時分析處理,給出有價值的分析結果。比如,用戶在訪問淘寶網等電子商務網站時,用戶在網頁中的每次點擊的相關信息(比如選取了什么商品)都會像水流一樣實時傳播到大數據分析平臺,平臺采用流計算技術對這些數據進行實時處理分析,構建用戶“畫像”,為其推薦可能感興趣的其他相關商品。代表性的流計算框架包括Twitter Storm、Yahoo! S4等。Twitter Storm是一個免費、開源的分布式實時計算系統, Storm對于實時計算的意義類似于Hadoop對于批處理的意義,Storm可以簡單、高效、可靠地處理流數據,并支持多種編程語言。Storm框架可以方便地與數據庫系統進行整合,從而開發出強大的實時計算系統。Storm可用于許多領域中,如實時分析、在線機器學習、持續計算、遠程RPC、數據提取加載轉換等。由于Storm具有可擴展、高容錯性、能可靠地處理消息等特點,目前已經被廣泛應用于流計算應用中。

在大數據時代,許多大數據都是以大規模圖或網絡的形式呈現,如社交網絡、傳染病傳播途徑、交通事故對路網的影響等。此外,許多非圖結構的大數據,也常常會被轉換為圖模型后再進行處理分析。圖計算軟件是專門針對圖結構數據開發的,在處理大規模圖結構數據時可以獲得很好的性能。谷歌公司的Pregel是一種基于BSP模型實現的圖計算框架。為了解決大型圖的分布式計算問題, Pregel搭建了一套可擴展的、有容錯機制的平臺,該平臺提供了一套非常靈活的API,可以描述各種各樣的圖計算。Pregel 作為分布式圖計算的計算框架,主要用于圖遍歷、最短路徑、PageRank計算等。

查詢分析計算也是一種在企業中常見的應用場景,主要是面向大規模數據的存儲管理和查詢分析,用戶一般只需要輸入查詢語句(如SQL),就可以快速得到相關的查詢結果。典型的查詢分析計算產品包括Dremel、Hive、Cassandra、Impala等。其中,Dremel是一種可擴展的、交互式的實時查詢系統,用于只讀嵌套數據的分析。通過結合多級樹狀執行過程和列式數據結構,它能做到幾秒內完成對萬億張表的聚合查詢。系統可以擴展到成千上萬的CPU上,滿足谷歌上萬用戶操作PB級的數據,并且可以在2~3秒完成PB級別數據的查詢。Hive是一個構建于Hadoop頂層的數據倉庫工具,允許用戶輸入SQL語句進行查詢。Hive在某種程度上可以看作是用戶編程接口,其本身并不存儲和處理數據,而是依賴HDFS來存儲數據,依賴MapReduce來處理數據。Hive作為現有比較流行的數據倉庫分析工具之一,得到了廣泛的應用,但是由于Hive采用MapReduce來完成批量數據處理,因此,實時性不好,查詢延遲較高。Impala 作為新一代開源大數據分析引擎,支持實時計算,它提供了與Hive類似的功能,通過SQL語句能查詢存儲在Hadoop的HDFS和HBase上的PB級別海量數據,并在性能上比Hive高出3~30倍。

主站蜘蛛池模板: 新龙县| 安乡县| 洞口县| 垫江县| 辽源市| 周至县| 宝丰县| 沅陵县| 西林县| 安宁市| 遂宁市| 宣汉县| 尉犁县| 莒南县| 汶川县| 自治县| 蒲城县| 财经| 微博| 略阳县| 洛宁县| 抚顺县| 泊头市| 武清区| 长武县| 霍山县| 东海县| 武威市| 罗江县| 长寿区| 通城县| 固阳县| 商水县| 桃园市| 商河县| 楚雄市| 阿鲁科尔沁旗| 遵义县| 金门县| 武定县| 普宁市|