深入淺出學習大數據:探討大數據系統基準以及科學問題!
來自專欄 Herbert看科技
繼續帶大家學習大數據。今天主要介紹大數據系統基準和科學問題,新朋友可以翻閱我前面的文章,跟上學習大數據的步伐。希望大家持續學習,每天關注,我會連續更新文章,讓大家系統學習和認識大數據。
一、大數據系統基準(benchmark)
1.面臨的挑戰
事務處理性能委員會(Transaction Processing Performance Council)制定的系列基準極大地促進了傳統關係型資料庫的發展和商業化。隨著大數據系統研究的逐步成熟,學術界和產業界試圖創建新的類似TPC的基準,對大數據系統的性能進行比較和評估.然而到目前為止,還沒有一個可用的標準基準.大數據系統的獨特性質對新基準的提出帶來了如下的挑戰。
?系統複雜性
大數據系統通常由多個模塊或組件組成,這些模塊有著不同的功能並耦合在一起,對整個系統建模和為所有模塊提供一個統一的框架並不容易。
?應用多樣性
一個好的基準應該反映大數據系統的典型特性,例如應用訪問模式和性能需求等.由於大數據系統的多樣性,使得提取顯著特徵非常複雜。
?數據規模
在傳統的TPC基準中,測試集通常比真實的客戶數據集大得多,因此測試結果能精確的反映真實性能。然而,大數據的數據量巨大並且不斷增長,必須考慮一種有效的方式測試具有小數據集的產品。
?系統演化
大數據增長率不斷增加,大數據系統必須不斷演化,以適應日益變化的需求,因此大數據基準也要迅速變化。
2.研究現狀
大數據基準的研究也剛剛起步,可以分為組件級別(component-level)的基準和系統級別的基準。組件級別的基準也稱為微基準(micro benchmark),用於評價獨立組件的性能;系統級基準提供端到端系統測試框架。在大數據相關組件中,數據存儲已發展成熟並可以準確地建模。因此許多微基準被提出用於評價數據存儲組件,主要可以分為三類。
?TPC基準
TPC系列基準用於評價關係型資料庫的事務性工作負荷。TCP-DS是TPC最近頒布的支持決策制定的基準,它事實上已涉及大數據系統的一些方面。具體來說,TCP-DS能夠產生最多100 Terabytes 的結構化數據,並且通過初始化資料庫,能在單用戶和多用戶模型下執行SQL查詢。
?NoSQL基準
NoSQL資料庫能夠高效地處理半結構化和無結構數據,這對大數據集中占較大比例的無結構數據非常適用。Yahoo開發了它的雲服務基準——YCSB,用於評價NoSQL資料庫。YCSB由產生工作負載的客戶和一個標準負載包構成,負載包覆蓋了部分性能空間,如大量讀操作負載、大量寫操作負載和掃描負載.這三種負載可針對Cassandra,HBase,PNUTs和簡單的共享MySQL等4種數據存儲系統運行.其他一些研究擴展了YCSB框架,集成了一些高級特徵,例如預分割、大容量載入和伺服器方過濾等。
?Hadoop基準
Hadoop已逐漸成為大數據分析的主流框架,一些研究者試圖構建類似TPC的MapReduce基準。GridMix和PigMix是Apache的Hadoop項目中內置的兩個測試框架,可以評估Hadoop集群和Pig查詢的性能.Palvod等定義了由任務集合構成的基準,將Hadoop和其他兩種並行RDBMS系統進行了性能比較,測試結果表明了性能上的tradeso?,並認為未來的系統應該同時考慮這兩種類型的體系架構.GraySort是一個已被廣泛使用的大規模排序基準,這些基準可以看成是許多類型和大小作業的複雜迭加。通過對Facebook和Yahoo中MapReduce追蹤信息的比較和分析,Chen等開發了一個開源的統計工作負載注入器(SWIM),SWIM套件包括三個關鍵組件:真實MapReduce工作負載倉庫,生成代表性工作負載的負載合成工具,和執行歷史工作負載的負載重放工具。SWIM套件能夠獲得基於現實工作負載的性能評估,並能發現系統資源瓶頸。隨後他們在文獻中對工作負載進行了更複雜的分析。PDMiner則是一個基於大規模數據處理平台Hadoop的並行分散式數據挖掘工具平台。在PDMiner中開發實現了各種並行數據挖掘演算法,比如數據預處理、關聯規則分析以及分類、聚類等演算法。
Ghazal等基於生產零售模型第一次提出了一個端到端的大數據基準——BigBench,由兩個主要部件構成:數據生成器和工作負載查詢規範。數據生成器可以產生結構化、半結構化和無結構數據這三種類型的原始數據;查詢規範則根據McKinsey報告中生產零售商的典型特徵,定義了查詢類型、數據處理語言和分析演算法的類型.BigBench覆蓋了大數據系統的「3Vs」特性。
二、大數據科學問題
大數據系統面臨的許多挑戰需要通過後續的研究解決。在整個大數據生命周期中,從大數據平台和處理模型到應用場景等各方面,都存在一些值得研究的方向。
?大數據基礎平台
儘管Hadoop已成為大數據分析的主流框架,但是和發展了40餘年的RDBMS系統相比,大數據平台還遠未成熟。首先,Hadoop需要集成實時的數據採集和傳輸機制,提供非批處理方式的快速處理機制。其次,Hadoop提供了一個簡化的用戶編程介面,隱藏了複雜後台執行的細節,這種簡化在一定程度會降低處理性能。應該設計類似於DBMS系統的更先進的介面,從多個角度優化Hadoop性能。再次,大規模Hadoop集群由成千上萬甚至幾十萬台伺服器構成,要消耗大量的能量。Hadoop能否大範圍部署取決於其能量效率.此外,基礎平台的研究還包括海量數據分散式存儲管理,實時索引查詢,大數據平台功耗,以及海量數據實時採集、傳輸和處理等問題。Hu等提出了一個基於SDN的大數據平台,用於社交TV數據分析。
?處理模式
現有的批處理模式難以適應海量數據實時處理的需求,需要設計新的實時處理模式.在傳統的批處理模式中,數據首先被存儲,隨後掃描整個數據集並進行處理得到分析結果,時間極大地浪費在數據傳輸、存儲和重複掃描上.新的實時處理模式可以減少這種浪費.例如,現場(in-situ)分析可以避免因數據傳輸到集中存儲基礎設施所帶來的開銷,從而提高實時性能.大數據系統是個系統問題,
在處理模式上需要考慮多方面因素。一個任務的解決不僅僅是演算法的問題,與傳輸和存儲等各方面也有關係.僅從計算複雜度來進行分析並不足夠,因為理論上計算複雜度低的演算法,實際在機器上運行也不一定快.此外,由於大數據低價值密度的特點,可以採取降維或基於採樣的數據分析減少處理的數據量.具體而言,處理模式研究涉及大數據可視化計算分析、大數據處理複雜性問題、並行化深度機器學習和數據挖掘演算法、異構數據融合、基於海量數據低價值密度採樣問題和高維海量數據降維問題。
?大數據應用
大數據的研究剛剛起步,典型大數據應用的研究能夠給商業帶來利潤,提高政府部門效率,並且促進人類科學的發展.主要的應用場景有:圖數據並行計算模型和框架,社會網路分析、排名和推薦,web信息挖掘和檢索,媒體分析檢索和自然語言處理。
?大數據隱私
隱私也是大數據領域的重要問題.用戶的信息可能會被遭到暴露,比如企業的營銷策略、個人的消費習慣等.特別是在電子商務、電子政務和醫療健康領域,隱私保護顯得尤其重要,需要增強訪問控制.此外,還需要在增強訪問控制和數據處理的便利性之間達到一個平衡。
?「無限」數據
隨著雲計算、物網聯、移動終端、可穿戴設備等技術的發展,我們已經進入了大數據的時代。然而,產生的數據量也隨之日益增長。目前的大數據,在不久的將來還只會是小數據。因此,對於未來的大數據最確切的描述,或許會是「無限」數據。相應地,數據的增量和學習方法會是一個重要的問題。例如,當前用10億個樣本訓練了一個分類器,效果很好,但未來樣本數增加到15億的時候(之前的10億樣本已經不能完全表達數據的特徵),就會面臨一個問題,是利用15億個樣本重新訓練一個分類器,還是利用新增加的5億個樣本來修正原來用10億個樣本訓練得到的分類器呢?如果重新訓練分類器,這將會造成過大的時間和空間開銷,並且可擴展性差.以往,為了避免重複學習歷史樣本和減少後繼的訓練時間,我們可以採用增量學習的方法,即利用歷史學習的結果和新增加的樣本來修正之前的分類器.但面對不斷演化的「無限」大數據,是否需要研究新型的增量學習方法,從而動態自適應地進行預測並確保模型的準確性,或許將會是大數據未來發展需要解決的重要問題。
今天介紹了大數據系統基準和科學問題部分,後面會繼續帶你認識不一樣的大數據。
如果您想長期獲取科技信息的解讀,記得關注我,我會每天更新,謝謝。同時如果您有什麼意見和建議,歡迎評論。
推薦閱讀:
※GMIC乾貨|【友盟+】葉謙:未來,全域數據將發揮更大價值
※【譯Py】2018年,這5個數據科學項目能幫你找到工作
※10個維度了解日本30w留學生大數據
※大數據告訴你,哪個省女神身材最好?
※雨沐田:初識Excel大數據分析工具PowerPivot