企業(yè)如何選擇合適的大數(shù)據(jù)產(chǎn)品測試基準(zhǔn)

責(zé)任編輯:王李通

作者:譚磊

2015-05-18 09:53:19

來源:企業(yè)網(wǎng)D1Net

原創(chuàng)

隨著開源Hapdoop、Map Reduce、Spark、HDFS、HBASE等技術(shù)的商用化,大數(shù)據(jù)管理技術(shù)得到了突飛猛進的發(fā)展。一般來說,大數(shù)據(jù)具有3V特性,即Volume(海量)、Velocity(高速)和Variety(多樣)[1]。

《企業(yè)網(wǎng)D1Net》5月18日訊

概述

隨著開源Hapdoop、Map/Reduce、Spark、HDFS、HBASE等技術(shù)的商用化,大數(shù)據(jù)管理技術(shù)得到了突飛猛進的發(fā)展。一般來說,大數(shù)據(jù)具有3V特性,即Volume(海量)、Velocity(高速)和Variety(多樣)[1]。TPC聯(lián)合主席、Cisco高級工程師Raghunath Nambiar進一步認為大數(shù)據(jù)還面臨Value(價值)和Veracity(精確)的挑戰(zhàn)。如何客觀地比較不同數(shù)據(jù)管理系統(tǒng),即大數(shù)據(jù)測試基準(zhǔn)的選擇,成為一個重要的研究課題。

事務(wù)性能管理委員會(TPC)是目前最知名的數(shù)據(jù)管理系統(tǒng)評測基準(zhǔn)標(biāo)準(zhǔn)化組織。在過去二十多年間,該機構(gòu)發(fā)布了多款數(shù)據(jù)庫評測基準(zhǔn),如TPC-A、TPC-D、TPC-H和TPC-DS,在業(yè)界得到了廣泛應(yīng)用[2]。BigBench和BigFrame是對TPC-DS進行多樣化的數(shù)據(jù)擴充的測試基準(zhǔn)。近年來,Apache開源社區(qū)針對Map/reduce架構(gòu)開發(fā)了多款性能測試用例,如TestDFSIO、teraSort。國內(nèi)對大數(shù)據(jù)測試基準(zhǔn)的研究起步較晚,尚未建立起權(quán)威的測試基準(zhǔn)。目前由中國信息通信研究院牽頭,聯(lián)合中科院計算所及國內(nèi)外知名公司和機構(gòu)共同制定的大數(shù)據(jù)測試基準(zhǔn)正在金羅密布的測試中[3]。

為了方便企業(yè)選擇合適的大數(shù)據(jù)測試基準(zhǔn),本文將在分析總結(jié)現(xiàn)有成果的基礎(chǔ),進一步討論大數(shù)據(jù)測試基準(zhǔn)應(yīng)該具有的要素;并以此為基礎(chǔ),對比現(xiàn)有的大數(shù)據(jù)測試基準(zhǔn);然后重點討論TPC-DS測試基準(zhǔn)。

大數(shù)據(jù)測試基準(zhǔn)的選擇

企業(yè)在選擇大數(shù)據(jù)測試基準(zhǔn)時,首先應(yīng)考慮基準(zhǔn)與其自身業(yè)務(wù)的相關(guān)性。

與其自身業(yè)務(wù)的相關(guān)性

它主要描述測試基準(zhǔn)設(shè)定的應(yīng)用場景是否與企業(yè)的實際業(yè)務(wù)場景類似,如基于社交網(wǎng)絡(luò)應(yīng)用的評測基準(zhǔn)與銀行系統(tǒng)的應(yīng)用場景就沒有什么相關(guān)性。不相關(guān)的基準(zhǔn),測試結(jié)果再好,也沒有實際意義。相關(guān)性還要考慮測試基準(zhǔn)所采用的數(shù)據(jù)模型是否代表數(shù)據(jù)倉庫的發(fā)展方向,如基于星型模型的開發(fā)要比基于傳統(tǒng)的關(guān)系模型開發(fā)更加有效。

當(dāng)然,一套行之有效的大數(shù)據(jù)測試基準(zhǔn)包含許多其它要素。Jim Gray及金澈清等學(xué)者[4]已經(jīng)對度量選取、模擬數(shù)據(jù)生成器、工作負載設(shè)定、審計等要素進行了詳細論述。除此之外,本文還認為測試基準(zhǔn)的健壯性、SQL標(biāo)準(zhǔn)的兼容性和通用性/可移植性也是重要的要素。

模擬數(shù)據(jù)生成要具有真實性

它描述了測試基準(zhǔn)是否仿真真實應(yīng)用場景,所產(chǎn)生的模擬數(shù)據(jù)是否與真實數(shù)據(jù)相似。

工作負載的設(shè)定具有可擴展性

它描述該評測基準(zhǔn)是否適用于不同規(guī)模的計算機系統(tǒng),許多評測基準(zhǔn)會使用標(biāo)度因子來決定模擬數(shù)據(jù)的規(guī)模,通過調(diào)整標(biāo)度因子來得到不同規(guī)模的工作負載。

度量的選取的可理解性

它衡量該評測基準(zhǔn)是否易于為用戶理解,不易為用戶理解的基準(zhǔn)的可信程度也較低。

客觀性與公正性

眾所周知,在競技比賽中,一個人不能既是運動員又是裁判員。測試基準(zhǔn)好比競技比賽中的裁判員,應(yīng)該由中立的第三方機構(gòu)制定。事實也證明,在各個領(lǐng)域最受歡迎的測試基準(zhǔn)都是有第三方機構(gòu)設(shè)計的。過去20多年的經(jīng)歷證明TPC系列基準(zhǔn)是數(shù)據(jù)庫領(lǐng)域最為廣泛接受的基準(zhǔn)。除此之外,第三方機構(gòu)的審計也是保證證評測結(jié)果的客觀性與公正性的重要手段。

健壯性

測試基準(zhǔn)要足夠健壯,不能輕易被“hack”,這對測試結(jié)果的公平性非常重要。例如對TPC-H的前身TPC-D,通過物理化視圖,Oracle的性能比Micosoft的SQLServer高100倍,這些顯然是不公平的。因此TPC組織規(guī)定TPC-H測試中物理化視圖是不和法的。但是除非是專業(yè)人員,一般用戶很難判定測試過程中視圖有沒有被物理化。TPC-DS在健壯行方面要好很多,因為它的SQL本身比較復(fù)雜,也比較多,Hack起來相對困難,并且只hack幾個SQL對整體性能提高有限。

SQL標(biāo)準(zhǔn)兼容性

SQL是ANSI為統(tǒng)一各個數(shù)據(jù)庫廠商之間的編程差異定義的標(biāo)準(zhǔn),已發(fā)布SQL86、SQL92、SQL99、SQL2003等版本。這些標(biāo)準(zhǔn)已經(jīng)被主流的商用(例如Oracle、DB2、SQL server)以及開源的數(shù)據(jù)庫產(chǎn)品(例如MySQL、mSQL和PostgreSQL)的廣泛采用。對整個數(shù)據(jù)庫產(chǎn)業(yè)的發(fā)展起到了巨大的推動作用。大數(shù)據(jù)是個新興的領(lǐng)域,它的發(fā)展不能完全拋棄原有的應(yīng)用。如果不能全面支持SQL標(biāo)準(zhǔn),現(xiàn)有系統(tǒng)的移植非常困難,學(xué)習(xí)曲線就會變長。

通用性/可遷移性

通用性描述是否可在不同數(shù)據(jù)庫系統(tǒng)和架構(gòu)上實現(xiàn)指定的評測基準(zhǔn)。測試基準(zhǔn)不應(yīng)該規(guī)定實現(xiàn)的細節(jié),而只需要定義測試規(guī)范。DBMS只要遵循規(guī)范得到正確的結(jié)果,就是合理的測試,無論其基于Map/Reduce、Spark還是其他的技術(shù),也不管其底層存儲是用HDFS、HBASE還是其他方式。

大數(shù)據(jù)測試基準(zhǔn)對比

經(jīng)過30幾年的研究,傳統(tǒng)數(shù)據(jù)庫測試基準(zhǔn)的研究已經(jīng)相當(dāng)成熟,在各個領(lǐng)域出現(xiàn)了行之有效的測試基準(zhǔn)。隨著大數(shù)據(jù)應(yīng)用的發(fā)展,大數(shù)據(jù)測試基準(zhǔn)的研究最近幾年逐漸興起,但大都是在傳統(tǒng)的測試基準(zhǔn)的基礎(chǔ)進行裁剪、擴充、綜合。金澈清等學(xué)者[4]對數(shù)據(jù)庫基準(zhǔn)的發(fā)展概述如圖1所示。

本文重點關(guān)注被列為大數(shù)據(jù)測試基準(zhǔn)的相關(guān)基準(zhǔn)、BigFrame[5]以及TPC-DS,對其它的基準(zhǔn)本文不再贅述,有興趣的讀者請參閱文[4]。

Map/reduce性能測試

如文[4]中所述,MRBench、HiBench、TestDFSIO、Sort/teraSort只是針對Map/Reduce框架,目的是評測運行Map/Reduce框架的集群的性能。CALDA基準(zhǔn)嘗試比較不同架構(gòu)在數(shù)據(jù)管理方面的性能。這些測試過于簡單,無法模擬復(fù)雜的應(yīng)用,也不通用。

YCSB/YCSB++/LinkBench

這是一組針對網(wǎng)絡(luò)應(yīng)用的測試基準(zhǔn)。YCSB(Yahoo! Cloud Serving Benchmark)及其擴展YCSB++測試查詢回復(fù)的延時等云服務(wù)系統(tǒng)中云計算的特點,如查詢回復(fù)的延時、縱向擴展和彈性加速比、并行性測試等。LinkBench是一個基于社交網(wǎng)絡(luò)應(yīng)用的評測基準(zhǔn)。它仿真Facebook公司的圖數(shù)據(jù)管理應(yīng)用,包括數(shù)據(jù)特性、工作負載以及度量等。這些都是公司開發(fā)的針對自己特定應(yīng)用場景的測試基準(zhǔn),很難在整個行業(yè)內(nèi)進行推廣。

BigBench

BigBench是一款面向商品零售業(yè)的基準(zhǔn),它擴展了TPC-DS,綜合考慮多種數(shù)據(jù)模態(tài),增加了半結(jié)構(gòu)化數(shù)據(jù)Web Log和非結(jié)構(gòu)化數(shù)據(jù)Reviews。其負載的生成是TPC-DS定制化的版本。BigBench包含30個查詢。BigBench基本數(shù)據(jù)模型如圖2所示:

BigFrame

BigFrame是一個測試基準(zhǔn)生成器[5],用戶可以根據(jù)自己的需求定制專有測試基準(zhǔn)。在目前實現(xiàn)中,其關(guān)系模型與BigBench類似,也是基于TPC-DS。同時它擴展了半結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)Tweets以及圖形化數(shù)據(jù)Followee/Follower。BigFrame基本數(shù)據(jù)模型如圖3所示:

如文[5]所述,大數(shù)據(jù)與決策支持系統(tǒng)(DSS)并不是完全獨立的,大數(shù)據(jù)也不能拋棄傳統(tǒng)。DSS系統(tǒng)中,只要數(shù)據(jù)量足夠大,都可以認為是大數(shù)據(jù)問題。被化為大數(shù)據(jù)測試基準(zhǔn)的BigBench和BigFrame的大部分內(nèi)容都來自于TPC-DS,從這個意義上講,TPC-DS不但是一種結(jié)構(gòu)數(shù)據(jù)的大數(shù)據(jù)測試基準(zhǔn),而且是其它大數(shù)據(jù)測試基準(zhǔn)的基礎(chǔ)。

TPC-DS

 

TPC-DS測試基準(zhǔn)是TPC組織推出的用于替代TPC-H的下一代決策支持系統(tǒng)測試基準(zhǔn)。因此在討論TPC-DS之前,先介紹一下TPC-H。

TPC-H

TPC-H是一款面向商品零售業(yè)的決策支持系統(tǒng)測試基準(zhǔn),它定義了8張表,22個查詢,遵循SQL92。TPC-H的數(shù)據(jù)模型如圖4所示。TPC-H基準(zhǔn)的數(shù)據(jù)庫模式遵循第三范式,葉曉俊教授等學(xué)者[6]認為“它的數(shù)據(jù)表數(shù)據(jù)特征單一(如數(shù)據(jù)不傾斜) ,其數(shù)據(jù)維護功能僅僅限制了潛在的對索引的過度使用,而沒有測試DBMS 執(zhí)行真實數(shù)據(jù)維護操作——數(shù)據(jù)提取、轉(zhuǎn)換和加載(ETL) 功能的能力”。同時,新興的數(shù)據(jù)倉庫開始采用新的模型,如星型模型、雪花模型。TPC-H已經(jīng)不能精準(zhǔn)反映當(dāng)今數(shù)據(jù)庫系統(tǒng)的真實性能。為此,TPC組織推出了新一代的面向決策應(yīng)用的TPC-DS 基準(zhǔn)。

TPC-DS

TPC-DS采用星型、雪花型等多維數(shù)據(jù)模式。它包含7張事實表,17張緯度表平均每張表含有18列。其工作負載包含99個SQL查詢,覆蓋SQL99和2003的核心部分以及OLAP。這個測試集包含對大數(shù)據(jù)集的統(tǒng)計、報表生成、聯(lián)機查詢、數(shù)據(jù)挖掘等復(fù)雜應(yīng)用,測試用的數(shù)據(jù)和值是有傾斜的,與真實數(shù)據(jù)一致??梢哉fTPC-DS是與真實場景非常接近的一個測試集,也是難度較大的一個測試集。

TPC-DS的這個特點跟大數(shù)據(jù)的分析挖掘應(yīng)用非常類似。Hadoop等大數(shù)據(jù)分析技術(shù)也是對海量數(shù)據(jù)進行大規(guī)模的數(shù)據(jù)分析和深度挖掘,也包含交互式聯(lián)機查詢和統(tǒng)計報表類應(yīng)用,同時大數(shù)據(jù)的數(shù)據(jù)質(zhì)量也較低,數(shù)據(jù)分布是真實而不均勻的。因此TPC-DS成為客觀衡量多個不同Hadoop版本以及SQL on Hadoop技術(shù)的最佳測試集。這個基準(zhǔn)測試有以下幾個主要特點:

一共99個測試案例,遵循SQL'99和SQL 2003的語法標(biāo)準(zhǔn),SQL案例比較復(fù)雜

分析的數(shù)據(jù)量大,并且測試案例是在回答真實的商業(yè)問題

測試案例中包含各種業(yè)務(wù)模型(如分析報告型,迭代式的聯(lián)機分析型,數(shù)據(jù)挖掘型等)

幾乎所有的測試案例都有很高的IO負載和CPU計算需求

葉曉俊等學(xué)者對這些查詢的分部總結(jié)如表1所示[6]。典型的Store_Sales的數(shù)據(jù)模型如圖5所示。這個基準(zhǔn)測試的完整信息請參考http://www.tpc.org/tpcds/。


 

TPC-DS認證現(xiàn)狀

TPC-DS以其高標(biāo)準(zhǔn)、高要求得到大家的廣泛認知,理應(yīng)得到廣泛的應(yīng)用,但是到目前為止還沒有任何廠商得到TPC官方的認證。究其原因,本文認為:

傳統(tǒng)的數(shù)據(jù)庫廠商,DBMS系統(tǒng)比較成熟,SQL的支持也相當(dāng)完善,但是其分布式、并行處理能力欠缺,導(dǎo)致其性能很差。所以傳統(tǒng)的廠商不愿意發(fā)布測試結(jié)果。

新型的計算模型如Map/Reduce、spark,具有較好的并行處理能力,但是SQL的兼容性比較差,如HiveSQL、SparkSQL只支持40個SQL,從而也無法發(fā)布TPC-DS測試報告。盡管如此,各廠商還是通過非TPC官方的途徑發(fā)布TPC-DS的部分測試結(jié)果,以展現(xiàn)其在性能方面的提升。由此可見大家對TPC-DS的程接受度。

在TPC-DS大數(shù)據(jù)測試方面,星環(huán)科技已經(jīng)走在世界的前列,據(jù)所知,星環(huán)科技是國內(nèi)唯一、全球少數(shù)幾家公開發(fā)布TPC-DS大數(shù)據(jù)測試結(jié)果的科技公司。其TPC-DS 500G的功能、性能及其兼容性測試已經(jīng)得到第三方機構(gòu)——上海市計算機軟件評測實驗室的認證。

結(jié)束語

大數(shù)據(jù)評測基準(zhǔn)用于公平、客觀地評測不同大數(shù)據(jù)庫產(chǎn)品/平臺的功能和性能,對人們選擇合適的大數(shù)據(jù)分析決策系統(tǒng)具有重要的參考價值。隨著國內(nèi)外各代表性的Hadoop發(fā)行版廠商以TPC-DS為標(biāo)準(zhǔn)測評產(chǎn)品,TPC-DS也就逐漸成為了業(yè)界公認的大數(shù)據(jù)系統(tǒng)測試基準(zhǔn)。但是隨著大數(shù)據(jù)應(yīng)用在各行各業(yè)的發(fā)展,測試基準(zhǔn)也需不斷與時俱進。大數(shù)據(jù)測試基準(zhǔn)仍然面臨著諸多挑戰(zhàn),還需要政府、學(xué)術(shù)界和工業(yè)界的緊密合作。

參考文獻

[1] Big data: Science in the petabyte era. Nature, 2008, 455: 1-136

[2] www.tpc.org

[3] www.dca.org.cn

[4] 金澈清, 錢衛(wèi)寧, 周敏奇, 周傲英,數(shù)據(jù)管理系統(tǒng)評測基準(zhǔn):從傳統(tǒng)數(shù)據(jù)庫到新興大數(shù)據(jù),計算機學(xué)報, 2014.

[5] M. Barata, etc, Survey on Big Data and Decision Support Benchmarks, LNCS 8645, 174–182, 2014.

[6] 陳旦,葉曉俊,施霖, TPC-DS性能測試工具的實現(xiàn), 計算機應(yīng)用,第31 卷,第9期, 2011.
 

作者介紹:復(fù)旦計算機學(xué)士、美國杜克計算機碩士。美國微軟總部服務(wù)13年,是數(shù)據(jù)分析、數(shù)據(jù)挖掘、產(chǎn)品研發(fā)及管理、互聯(lián)網(wǎng)廣告和互聯(lián)網(wǎng)營銷方面的專家?!禢ew Internet:大數(shù)據(jù)挖掘》《數(shù)據(jù)掘金:電商數(shù)據(jù)運營》兩書作者。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號