徐 述
(湖南城市學院信息科學與工程學院,湖南 益陽 413000)
大數據是用傳統方法或工具很難處理或分析的數據信息[1]。隨著時代變化,除了企業數據,我們還記錄著地理、氣溫、Web 網頁等各種數據,龐大紛雜的信息構成了大數據。關于大數據的定義,目前主要有如下幾種。亞馬遜大數據科學家John Rauser 認為:大數據是“任何超過一臺計算機處理能力的龐大數據量?!盜nformatica 中國區首席產品顧問但彬認為“大數據=海量數據+復雜類型的數據”[2]。維基百科則把大數據定義為一個一個大而復雜的、難以用現有數據庫管理工具處理的數據集。
大數據通常指l0TB 規模以上的數據量。之所以產生如此巨大的數據量,一是各種儀器的使用,能夠感知更多的數據,這些數據的部分甚至全部就可以被存儲;二是通信工具的使用,使人們能夠全時段的聯系,M2M 方式使得交流的數據量成倍增長;三是集成電路價格降低,很多東西都有了智能的成分。
隨著傳感器種類的增多以及智能設備、社交網絡的流行,數據類型也變得更加復雜,不僅包括傳統的關系數據類型,也包括以網頁、音頻、視頻、E-mail、文檔等形式存在的未加工的、半結構化的和非結構化的數據。
我們通常理解的是數據的獲取、存儲以及挖掘有效信息的速度,但我們現在處理的數據是PB 級代替了TB 級,考慮到“超大規模數據”和“海量數據”也有規模大的特點,大數據強調數據是快速動態變化的,形成流式數據是大數據的重要特征,數據流動的速度快到難以用傳統的系統去處理。
數據量呈指數增長的同時,隱藏在海量數據的有用信息卻沒有相應比例增長,反而使我們獲取有用信息的難度加大。以視頻為例,連續的監控視頻,可能有用的數據僅有一兩秒。
大數據包含的信息具有規模大、實時變化、分布性、異構性以及特殊訪問方式等特點,為充分利用數據資源,獲取高質量的數據并集成,整個集成過程可以分為數據獲取、數據抽取和數據整合三個環節。
一部分大數據通過傳感器、智能手機或通過傳統搜索引擎從靜態頁面爬取到;另一部分大數據隱藏在數據庫提供的查詢界面后,只有通過提交查詢才能獲得,高質量的數據往往來源于此。
由于現實世界數據的異質性、多源性以及采集數據時很難避免的人工錯誤,大數據是冗余、缺失和含有噪音的。如何有效地衡量數據的質量是一個重要的研究方向。文獻[3]定義了衡量數據質量的4 個指標:一致性、正確性、完整性和最小性。文獻[4]提出了數據工程中數據質量的需求分析和模型,認為存在很多候選的數據質量衡量指標,用戶應根據應用的需求選擇其中一部分。
數據的清洗建立在數據質量標準之上,為了得到高質量的數據,清洗與提煉過程必須滿足幾個條件:檢測并除去數據中所有明顯的錯誤和不一致;盡可能地減小人工干預和用戶的編程工作量,而且要容易擴展到其它數據源;應該和數據轉化工作相結合;要有相應的描述語言來指定數據轉化和數據清洗操作,所有這些操作應該在一個統一的框架下完成。對于數據清洗,工業界已經開發了很多數據抽取、轉化和裝載工具(ETL tool)[5]。
對大數據的建模和表達理論方而的研究,主要集中在大數據中的文本信息方面。對文本信息進行表示和建模其目的是讓計算機能夠正確理解人類的語言,能夠分析和表達出其中包含的語義信息。文本信息的表達經歷了從淺層詞語表達方式到深層語義表達方式這樣一個歷程,其中代表性的工作包括了向量空間表示[6]、隱語義索引[7]和概率話題模型[8]等。
盡管數據表達的研究歷經了很長的時間并取得了豐碩成果,但是對于大數據建模和表達還是面臨著很多挑戰。例如:對于海量文本數據建模,我們需要模型能夠對超大規模的參數空間進行有效地學習,需要能夠有效地建模并解決數據稀疏性所帶來的問題,需要能夠對動態演化的網絡大數據進行合理表達的模型工具。對于圖片和多媒體數據,我們也需要進一步探索其建模與表達方式,以便能夠更加有效地表達其內在的語義信息。
大數據處理的數據規模從TB 級上升到ZB 級,而臨著如何降低數據存儲成本、充分利用計算資源、提高并發吞吐率、支持分布式非線性迭代算法優化等眾多難題。
作為一個新興的技術體系,分布式數據處理技術在支持大規模數據處理及應用等大數據計算應用方而還存在著很多不足。
行存儲和列存儲是兩種典型的數據庫物理存儲策略。行存儲較為傳統,它在磁盤中依次保存記錄,適合事務操作;列存儲垂直劃分關系表,以列為單位存儲數據。由于數據分析任務往往僅使用較少字段,因此列存儲方式的效率更高。數據分析任務在大數據應用中更為常見,因此許多系統盡管無法完全實現列存儲的所有特性,但也或多或少地借鑒了相關概念,包括BigTable、HBase 等。
分布式數據存儲是大數據應用的一個重要環節,但目前的研究工作仍存在局限性:針對海量數據存儲和處理所而臨的數據超大規模、處理速度要求高和數據結構異質多樣等難題,需要開發支持高可擴展、深度處理的ZB 級以上分布式數據存儲框架,同時需要研究適應數據布局分布的存儲結構優化方法,以提高大數據存儲和處理效率,降低系統建設成本,從而實現高效的大數據分布式存儲。
目前,主流的查詢索引技術是Google 公司的BigTable 為代表的列簇式NoSQL 數據庫。BigTable 提出了一種介于關系模型和鍵-值對模型之間的新數據模型:Ordered Table。該模型提供一種稀疏的、分布式的、永久存儲的、基于主鍵排序的映射,數據由行、列和時間戳表示。BigTable 中表的模式非常靈活,可以在運行時修改。Ordered Table 模型可以對基于主鍵的區間查詢提供有力支持,對于涉及多個字段數據的多維區間查詢主要采用二級索引技術,但這引起了性能問題。
為避免大量隨機讀,另一種思路是使用聚簇索引,即同時按索引順序存儲全部數據。為保證多個查詢列均有很好的性能,需要按多個索引列聚簇,這會導致空間開銷成倍增長,以及統計信息缺失。
數據世系包含了不同數據源間的數據演化過程和相同數據源內部數據的演化過程。數據世系一般有兩類基本方法,非注解的方法和基于注解的方法。
數據世系可針對多種數據類型,包括關系型數據、XML 型數據和不確定型數據等。而對大數據,數據世系管理的研究工作主要涉及以下幾個方面:(1)追蹤數據的起源和演化過程;(2)利用數據的世系追蹤數據不確定性的來源和演化過程;(3)如何解決異構世系標準的融合問題。
[1]Making sense of Big Data[J].Technology forecast,A quarterly journal,2010.
[2]但彬.大數據=海量數據+復雜類型的數據[EB/OL].2012,7.
[3]Wang R Y,Ben H B,Madnick S E.Data quality require menu analysis and modeling[C]//Proceedings of the 9th International Conference on Data Engineering.Vienna,Austria 1993:670-677.
[4]Galhardas H,Florescu D,Shasha D,Simon E,AJAX:An extensible data cleaning tool[J].ACM SIGMOD Record.2000,29(2):590.
[5]郭志懋,周傲英.數據質量和數據清洗研究綜述[J].軟件學報,2002,13(11):2076-2082.
[6]Fan Wenlei,Geerts Floris.Foundation of management[J].Synthesis Lectures ondata Management.2012,4(5):391-217.
[7]Deerwester S,Dumais S T,Furnas G W,et al.Indexing by latent semantic analysis[J].Journal of the American Society for Information Science,1990,41(6):391-407.
[8]Blei D M,Ng A Y,Jordan M I.Latent dirichlet allocation[J].Journal of Machine Learning Research,2003,3(1):993-1022
[9]王元卓,靳小龍,程學旗.網絡大數據:現狀與展望[J].計算機學報,2013,36(6):1125-1138.