【2017年第4期】大数据平台的基础能力和性能测试
姜春宇1,2,魏凱1,2
1.中國信息通信研究院移動互聯網與大數據部,北京 100191?
2. 數據中心聯盟大數據發展促進委員會,北京 100045
摘要:目前整個大數據技術還處于以開源方式為主導、多種技術并存的階段。開源技術催生了大量的商業發行版大數據平臺軟件,大數據企業級市場競爭加劇,如何測試和評估這些大數據平臺軟件成為新的研究主題。簡要地介紹了大數據技術發展的背景以及大數據技術標準的需求,綜述了國際大數據平臺標準化和評測的現狀,詳細介紹了數據中心聯盟在大數據平臺技術標準化和測評方面的實踐,最后總結了當前工作的問題,并展望了下一步大數據技術和評測的發展方向。
關鍵詞:大數據 ; 大數據技術標準化 ; 大數據產品評測 ; 數據 ; 負載
中圖分類號:TP311 ? ?文獻標識碼:A
doi:10.11959/j.issn.2096-0271.2017040
Basic capability and performance test of big data platform
JIANG Chunyu1,2, WEI Kai1,2
1.Department of Mobile Internet and Big Data,China Academy of Information and Communications Technology,Beijing 100191,China?
2. Council for the Promotion of Big Data Development,Beijing 100045,China
Abstract: The whole big data technology is now leaded by open source society which results in coexist of many competing technologies.Open sources also help to cultivate a great number of big data commercial software.The enterprise market is now crowded by various providers.How to evaluate these softwares becomes a new research topic.At the beginning,the development of big data system was briefly reviewed.Then the requirement of big data technology standardization was illustrated.After reviewing the progress of international big data technology standardization,the standardization and test practices in big data products under the organization of Data Center Alliance was introduced.Finally,the drawbacks of current practices were discussed,and the future direction of standardization and test for big dataproducts was summarized.
Key words: big data, big data technology standardization, big data products evaluation, data, workload
論文引用格式:姜春宇, 魏凱. 大數據平臺的基礎能力和性能測試[J}. 大數據, 2017, 3(4): 37-45.
JIANG C Y, WEI K. Basic capability and performance test of big data platform[J]. Big Data Research, 2017, 3(4): 37-45.
1 引言
大數據的應用和技術起源于互聯網,首先是網站和網頁的爆發式增長,搜索引擎公司最早感受到了海量數據帶來的技術上的挑戰,隨后興起的社交網絡、視頻網站、移動互聯網的浪潮加劇了這一挑戰。互聯網企業發現新數據的增長量、多樣性和對處理時效的要求是傳統數據庫、商業智能縱向擴展架構無法應對的。在此背景下,谷歌公司率先于2004年提出一套分布式數據處理的技術體系,即分布式文件系統——谷歌文件系統(Google file system,GFS)、分布式計算系統(MapReduce)和分布式數據庫(BigTable),以較低成本很好地解決了大數據面臨的困境,奠定了大數據技術的基礎。受谷歌公司論文啟發,Apache Hadoop實現了自己的分布式文件系統——Hadoop分布式文件系統(Hadoop distribute file system,HDFS)、分布式計算系統(MapReduce)和分布式數據庫(HBase),并將其進行開源,這是大數據技術開源生態體系的起點。
經過10年左右的發展,大數據技術形成了以開源為主導、多種技術和架構并存的特點。從數據在信息系統中的生命周期看,大數據技術生態主要有5個發展方向,包括數據采集與傳輸、數據存儲與管理、計算處理、查詢與分析、可視化展現。在數據采集與傳輸領域漸漸形成了Sqoop、Flume、Kafka等一系列開源技術,兼顧離線和實時數據的采集和傳輸。在存儲層,HDFS已經成為了大數據磁盤存儲的事實標準,針對關系型以外的數據模型,開源社區形成了K-V(key-value)、列式、文檔、圖4類NoSQL數據庫體系,HBase、Cassandra、MongoDB、Neo4j、Redis等數據庫百花齊放。計算處理引擎方面慢慢覆蓋了離線批量計算、實時計算、流計算等場景,誕生了MapReduce、Spark、Flink、Storm等計算框架。在數據查詢和分析領域形成了豐富的SQL on Hadoop的解決方案,Hive、HAWQ、Impala、Presto、Drill等技術與傳統的大規模并行處理(massively parallel processor,MPP)數據庫競爭激烈。在數據可視化領域,敏捷商業智能(business intelligence,BI)分析工具Tableau、QlikView通過簡單的拖拽來實現數據的復雜展示,是目前最受歡迎的可視化展現方式,開源社區也形成了一批圖表工具,例如Chart.js、Chated、D3、Raw等。
大數據技術通過開源發展壯大,相比閉源軟件,開源技術帶來了更多的靈活性、自由度,而且通過所謂的“創新民主化”來孕育創新,與此同時開源也給大數據技術帶來諸多挑戰。首先,開源技術并不等于成熟的產品,不夠穩定,易用性差,缺少服務支持。其次,開源的技術門檻較高,需要大量的技術人員實現技術的定制化。最后,開源技術種類太多,技術選型比較困難。互聯網企業由于其業務需求的驅動以及豐富的技術人員儲備,能夠從容應對開源技術的挑戰,自如使用乃至貢獻開源技術,形成良性循環。而傳統企業由于自身技術力量儲備不足,業務與技術組織架構的耦合度低,無法及時將業務需求映射到技術需求上,并依賴于第三方IT公司的幫助來實現開源技術的產品化。
在Hadoop發行版方面,國際上主要包括3個獨立的專業供應商——Cloudera Inc.、Hortonworks Inc.、MapR Technologies Inc.。國內自2013年以來,以銀行、電信行業為代表的企業開始逐步采用Hadoop,早期的采購以實驗性質為主,涌現出大量做Hadoop發行版的企業,市場持續繁榮的同時也變得混亂,產品供應商和用戶之間存在巨大的信息鴻溝。對于用戶來說,初期的大數據需求比較模糊,產品的技術性語言難以和業務需求相對應,面對眾多良莠不齊的發行版廠商,技術和產品選型困難,產品評估的過程成本很高。對于大數據產品供應商,同類的產品很多,缺少技術性標準來規范市場,往往陷入價格戰的泥潭中,此外重復參加各個用戶組織的POC(proof of concept)測試,測試花費太多。
大數據技術的標準化旨在通過共性的評估體系將技術與應用場景相對應,將復雜的產品轉化為容易理解的指標,為行業設立技術門檻。對于產品供應商,大數據技術標準通過客觀的指標體系保證廠商之間的有序競爭;對技術難點集中進行攻關,專注于性能的改進;定義合作的用戶場景,引導產品的研發方向。對于產品用戶,大數據技術標準幫助用戶更好地判斷大數據產品的優劣,經濟有效地進行大數據產品的選型。對于公眾來說,大數據技術標準是一種溝通的工具,其指標易于理解,測量的方法公開公平。
2 大數據平臺技術評測現狀
目前大數據相關標準的制定處于起步階段,國際上主要有ISO/IEC、國際電信聯盟(International Telecommunications Union,ITU)、美國國家標準與技術研究院(National Institute of Standards and Technology,NIST)、事務處理性能委員會(Transaction Processing Performance Council,TPC)、標準性能評估機構(Standard Performance Evaluation Corporation,SPEC)等組織進行大數據標準化工作。其中ISO/IEC中JTC1 WG9主要開發大數據基礎性標準,包括參考架構和術語;JTC1 SC32 “數據管理和交換”分技術委員會負責制定信息系統內、信息系統之間的數據管理與交換標準。NIST的大數據公共工作組(NBDPWG)負責制定大數據的定義、術語、安全參考體系和技術路線圖,提出大數據分析、存儲、管理和基礎設施的參考架構。TPC和SPEC兩個組織關注大數據技術平臺的基準測試,TPC是數據庫基準測試領域主導者,早在2012年TPC成立了大數據基準測試社區(BDBC),開始研究制定大數據場景下的基準測試標準。它在2014年8月發布了針對Hadoop系統的TPCx-HS標準,以TeraSort為負載,從性能、性價比和能耗等指標衡量底層硬件的能力,目前為止有美國思科公司、華為技術有限公司、美國戴爾公司3家公司的服務器參與了測試,并發布了測試結果。2016年TPC發布了新的針對大數據平臺的性能基準測試標準TPCx-BB,TPCx-BB測試通過模擬零售商的30個應用場景,執行30個查詢算法來衡量基于Hadoop大數據系統的服務器軟硬件性能。SPEC于2014年成立了大數據的研究組(Research Group Big Data),在大數據基準測試領域陸續舉辦了十多次的見面會和分享,最后與TPC進行合作,將TPCx-BB引入SPEC作為其測試的標準。
3 大數據平臺性能標準化實踐
中國信息通信研究院于2014年6月開始大數據技術標準化的嘗試,最早以Hadoop平臺為起點,在數據中心聯盟聯合20多家企業,歷時5個月制定了《大數據平臺基準測試 第一部分:技術要求》《大數據平臺基準測試 第二部分:測試方法》兩個標準,分別梳理出了大數據平臺(Hadoop平臺)基準測試的方法論和具體實施方案。基準測試主要從性能的角度衡量大數據平臺,主要考慮數據生成、負載選擇和明確測試指標等內容。根據Hadoop平臺的特點,從NoSQL任務、機器學習、SQL任務、批處理四大類任務中選擇了10個測試用例作為負載,如圖1所示,明確了每個測試負載的數據規模和數據生成方式,這是大數據技術標準化的第一階段。
圖1 ?基準測試用例分布
2015年10月到2016年6月,在數據中心聯盟大數據技術與產品工作組內,中國信息通信研究院和20多家企業經過20多次線上線下的討論,形成了《Hadoop平臺基礎能力測試方法》《Hadoop平臺性能測試方法》兩套技術標準。性能測試在基準測試的基礎上進行了升級,如圖2所示,增加了SQL用例的比重,按照SQL任務的類型,從兩個維度確立了5類任務,分別是CPU密集型任務、I/O密集型任務、報表任務、分析型任務、交互式查詢。HBase的優勢在于并發檢索和讀的性能,在負載方面選擇了批量寫入數據、并發讀任務占多、并發更新任務較重、讀取更改然后寫回4類場景,充分檢驗了HBase數據庫的并發執行能力。在機器學習和批處理方面相對基準測試方法減少了2個用例。
圖2 ?Hadoop平臺性能測試用例分布
4 大數據平臺基礎能力標準化實踐
大數據平臺(Hadoop平臺)基礎能力主要考慮:Hadoop平臺的基本功能及數據的導入導出對SQL任務、NoSQL任務、機器學習、批處理任務的支持;Hadoop產品是否能夠通過界面的形式方便用戶進行非運行維護,主要包括集群的安裝、監控、配置、操作等;Hadoop產品是否能夠提供基本的安全方案,包括是否具備認證功能以防止惡意訪問和攻擊、是否能夠進行細粒度的權限管理、是否能夠提供審計和數據加密功能等;Hadoop產品是否具備高可用的機制,防止機器的失效帶來的任務失敗以及數據丟失;是否能夠支持機器快速平滑地擴展和縮容以及擴展是否帶來線性的計算能力;是否能夠支持多個調用接口以及對SQL語法的支持情況;是否能夠根據隊列、用戶的權重來細粒度地分配計算資源。基于這7方面的考慮,Hadoop平臺基礎能力涵蓋了運維管理、可用性、功能、兼容性、安全、多租戶和擴展性等指標,總共38項測試用例,如圖3所示。
圖3 ?Hadoop平臺基礎能力測試用例分布
除Hadoop平臺的標準化外,針對MPP數據庫(面向在線分析處理(on-line analytical processing,OLAP))的標準化也提上日程,經過4個多月的研討,完成了《MPP數據庫基礎能力測試方法》,通過六大指標、48個測試用例來衡量MPP數據庫的功能完備性。經過兩年多的標準化歷程,針對底層的大數據基礎平臺,數據中心聯盟形成了基礎能力和性能兩套測試標準體系,覆蓋了Hadoop平臺和MPP數據庫兩類產品,未來標準化工作將聚焦于數據治理工具、分析和可視化工具。
5 大數據產品評測實踐
大數據技術的標準化過程中,測評認證是標準化的落地形式,只有通過評測的方式才能全方位對比不同的大數據產品,發現當前產品的問題,優化性能,最終幫助用戶選購合適的產品。2016年有5家廠商的Hadoop產品參與了性能測試,包括新華三集團、騰訊、星環信息科技(上海)有限公司、北京東方金信科技有限公司和百分點集團。測試集群由32臺x86服務器構成,配置見表1。
表1 ?32臺集群配置
數據規模方面,SQL任務規定生成10 TB的TPC-DS數據,TPC-DS由17個維度表、7個事實表構成。在99個查詢語句中,選出了5條最有代表性的語句,這5條語句涉及13個表,其中表Store_sales的記錄數超過了280億行,表Caltalog_sales的記錄數超過143億條。HBase的操作數規模與之前保持一致,是20億個操作,10個客戶端,每個客戶端2億個操作,每個操作執行大概1 KB大小的數據,HBase最后一個負載因為要執行讀取、更改、寫入等操作,實際每個客戶端執行3億個操作。批處理選擇Terasort作為負載,數據規模是29.1 TB,機器學習采用中國科學院計算技術研究所的BigDataBench來生成數據,具體數據規模見表2。
表2 ?測試數據規模
圖4展示了5家廠商在5個SQL任務上測試的最優、中位和標準方差,以執行時間來衡量,時間越短越好。10 TB級別的SQL任務大致執行時間在幾百秒以內,其中第二個SQL(Query47)的執行時間最長,最優和中位的差別很大,標準方差值也較高,說明在該項負載上廠商的差別較大,用例本身耗時也較長。Query71標準方差相對較高,說明該用例上執行的差別較大,還有一定的調優空間。其他任務執行情況較為接近。
圖4 ?SQL任務測試結果
HBase性能由YCSB(Yahoo! cloud serving benchmark)工具來測試,分別模擬了數據并發導入、95%讀5%寫、50%讀50%寫和讀—更改—寫等場景。測試的指標是吞吐量,即單位時間內執行的操作數,操作數越大越好。如圖5所示,總體上前3個用例的最優吞吐率都在百萬級別,最后一個負載由于需要更多的操作數,所以顯得更慢。從標準方差可以看出來,在HBase任務上各廠商的差別普遍比較大,說明參測廠商之間在產品本身和調優能力方面都有一定的差距。
圖5 ?HBase性能測試結果
2015年基準測試是用15個計算節點來對13.6 TB的數據進行排序,見表3,最優執行時間是8 374 s。2016年的性能測試是采用32個計算節點對29.1 TB的數據進行排序,最優執行時間是10 083 s,節點數擴了一倍多,數據規模也擴張一倍多,時間只稍微多了一些。15個計算節點的最優吞吐量是1 703 MB/s,32臺計算節點最優吞吐量是3 026 MB/s,從圖6來看,并沒有呈現一個完全線性的擴展,或者是一個線性可比性。有兩種解釋,一種是本身Terasort或者是Hadoop數據擴展就不會出現線性的擴展。第二種可能是32節點的最優情況不如15節點更優。Terasort最優執行時間是10 083 s左右,大概是2 h 48 min,中位值是3 h 19 min,廠商之間的差距并不大。
表3 ?Terasort 2015年和2016年執行情況對比
圖6 ?TeraSort 2015年與2016年執行情況
性能的測評實踐進一步考察了產品本身的功能完備性和性能,尤其是性能評測,采用業界領先的測試集群規模和配置,考察產品的本身性能、易部署性、穩定和易運維性,同時也考核了參測團隊綜合使用大數據平臺的能力,包括環境部署與集群規劃、測試工具熟悉程度、多任務調優能力、時間進度安排能力、集群故障處理、運行維護等能力。
6 結束語
本文首先闡述了大數據技術發展的特點,即開源引領,百花齊放。開源技術促進了大數據產業的繁榮,同時也給傳統企業級市場帶來了一些挑戰,一是開源軟件本身的不穩定,與成熟產品有一定差距;二是大數據開源技術種類繁多,選擇成本較高;三是傳統企業直接使用大數據開源技術的技術成本較高;四是大數據開源技術降低了IT產品供應商研發的門檻,市場上發行版產品魚龍混雜。大數據技術的標準化和評測旨在建立通用的評價質檢體系,為行業設立技術門檻,幫助用戶更高效地挑選優質產品。國際和國內都有部分行業標準化和評測組織在從事大數據技術標準化工作,主要集中在大數據平臺的評測領域,本文介紹了數據中心聯盟在大數據平臺(Hadoop平臺)技術的標準化與測評歷程,經過3年多的實踐,數據中心聯盟形成了國內領先的大數據產品標準化和測評體系,從基礎能力和性能兩方面來評估大數據平臺類產品的能力。目前已經完成了4批評測,共有24家廠商的25個大數據產品通過評測,為國內大數據技術的發展保駕護航。
目前標準和測評還存在一些局限性,一是性能目前是單項極限值測試,缺少對混合負載的考量。二是現場測試人員的前期準備和現場發揮對性能測試結果有一定的影響。三是測評主要采用開源的測試工具,覆蓋的實際場景較少。四是由于時間限制,無法進一步對穩定性做出考量。
未來基礎能力會引入工作流和可視化測試用例,詳細考察數據的導入導出,統一考慮權限管理,引入數據管理功能,增加流計算和圖計算。性能以任務為導向,尋找行業數據,考慮混合任務、高并發等場景。目前正在進行的第四批測試除Hadoop平臺外,還對MPP數據庫基礎能力進行了評測,已經在2017年3月27日發布。除大數據平臺類產品外,還計劃覆蓋BI工具、數據挖掘平臺和其他大數據技術產品。
姜春宇(1987-),男,中國信息通信研究院移動互聯網與大數據部工程師,數據中心聯盟大數據技術與產品工作組組長。主要研究方向為大數據技術體系,從事大數據技術和產品的標準化工作,牽頭建立了國內首個大數據產品能力評測體系。參與起草《促進國家大數據發展行動綱要》,參與編寫工業和信息化部《大數據產業“十三五”發展規劃》。
魏凱(1981-),男,中國信息通信研究院移動互聯網與大數據部高級工程師、副主任,數據中心聯盟大數據發展促進委員會常務副主任委員。主要研究方向為云計算和大數據相關技術、標準和政策,參與《促進大數據發展行動綱要》《大數據產業“十三五”發展規劃》等文件的研究起草。
總結
以上是生活随笔為你收集整理的【2017年第4期】大数据平台的基础能力和性能测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据可视化组队学习:《Task04 -
- 下一篇: 数据可视化组队学习:《Task05 -