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