李 梁, 吳 剛, 劉輝林, 王國仁
(東北大學(xué) 信息科學(xué)與工程學(xué)院,沈陽110819)
從20世紀(jì)80年代以來,數(shù)據(jù)庫技術(shù)在商業(yè)領(lǐng)域的巨大成功刺激了其他領(lǐng)域?qū)?shù)據(jù)庫技術(shù)需求的迅速增長.隨著用戶應(yīng)用需求的提高、硬件技術(shù)以及Web2.0等技術(shù)的快速發(fā)展,促進(jìn)了很多新型數(shù)據(jù)庫的快速發(fā)展.這里比較有代表性的有內(nèi)存數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫NoSQL等.傳統(tǒng)的關(guān)系數(shù)據(jù)庫在應(yīng)付Web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的Web2.0純動態(tài)網(wǎng)站時(shí)已經(jīng)顯得力不從心,暴露了很多難以克服的問題.新型數(shù)據(jù)庫的快速發(fā)展很好地解決了這些問題[1].
隨著各種新型數(shù)據(jù)庫層出不窮的出現(xiàn),按照統(tǒng)一的基準(zhǔn)進(jìn)行性能測試就顯得很有必要.數(shù)據(jù)庫的應(yīng)用類型主要分為OLTP和OLAP兩種,TPC-C和TPC-H基準(zhǔn)分別可以測試數(shù)據(jù)庫在OLTP和OLAP方面的處理性能.目前,對于數(shù)據(jù)庫性能測試工作大多是基于命令行的方式進(jìn)行展開,配置和操作過程都比較繁瑣.本文將基于TPC-C和TPC-H基準(zhǔn),開發(fā)一套自動化的可視化測試工具VisualDBBench,直觀方便地對各種數(shù)據(jù)庫性能進(jìn)行結(jié)果對比,定性地了解新型數(shù)據(jù)庫,特別是內(nèi)存數(shù)據(jù)庫,所具有的性能優(yōu)勢.
1.1.1 TPC-C基準(zhǔn)介紹
TPC-C[3,4]是由 TPC[2](Transaction processing Performance Council,事務(wù)處理委員會)組織發(fā)布的基準(zhǔn)測試標(biāo)準(zhǔn).TPC-C是一種旨在衡量OLTP系統(tǒng)性能與可伸縮性的行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測試項(xiàng)目.這種基準(zhǔn)測試項(xiàng)目將對包括查詢、更新及隊(duì)列式小批量事務(wù)在內(nèi)的廣泛數(shù)據(jù)庫功能進(jìn)行測試.
1.1.2 TPC-C商業(yè)模型
TPC-C測試規(guī)范中模擬了一個比較復(fù)雜并具有代表意義的OLTP應(yīng)用環(huán)境:假設(shè)有一個倉庫和訂單管理系統(tǒng),它擁有若干個分布在不同區(qū)域的倉庫;通常每個倉庫供貨覆蓋10家地區(qū)分公司;每個分公司銷售點(diǎn)給3 000個客戶提供服務(wù);平均每個客戶的一個訂單有10項(xiàng)產(chǎn)品;所有訂單中約1%的產(chǎn)品在其直接所屬的倉庫中沒有存貨,需要由其他區(qū)域的倉庫來供貨.圖1描述了TPC-C商業(yè)模型的邏輯結(jié)構(gòu).
圖1 TPC-C商業(yè)模型Fig.1 Business Model of TPC-C
1.1.3 數(shù)據(jù)庫表規(guī)劃
TPC-C的事務(wù)處理在一個以9張表為基礎(chǔ)的數(shù)據(jù)庫上實(shí)現(xiàn)處理過程,其數(shù)據(jù)量及其對應(yīng)關(guān)系如圖2所示.
1.1.4 5種測試事務(wù)
TPC-C共定義了5種測試事務(wù),在這個環(huán)境中,以一個新訂單事務(wù)為核心活動,并輔以執(zhí)行其他四種事務(wù):支付操作事務(wù)、訂單狀態(tài)查詢事務(wù)、發(fā)貨事務(wù)、庫狀態(tài)查詢事務(wù).整個測試流程就是不斷地執(zhí)行事務(wù).
圖2 TPC-C數(shù)據(jù)量及其對應(yīng)關(guān)系Fig.2 The amount of data about TPC-C and the relations between the tables
1.1.5 度量指標(biāo)
基準(zhǔn)的性能度量用每分鐘新增訂單事務(wù)數(shù)(tpmC)表示,為了與TPC-C標(biāo)準(zhǔn)一致,TPC-C結(jié)果的所有參考值必須包括tpmC值、與之相關(guān)的每個tpmC的價(jià)格和給定系統(tǒng)價(jià)格的可用日期.
1.2.1 TPC-H基準(zhǔn)介紹
TPC-H[5-7]是TPC發(fā)布的基準(zhǔn)測試標(biāo)準(zhǔn),用于評價(jià)數(shù)據(jù)庫系統(tǒng)的復(fù)雜查詢性能.它的主要目的是評價(jià)特定查詢的決策支持能力,強(qiáng)調(diào)服務(wù)器在數(shù)據(jù)挖掘、分析處理方面的能力.
1.2.2 商業(yè)和應(yīng)用環(huán)境
TPC Benchmark H測試由一系列商業(yè)查詢組成,這些查詢在某種意義上代表復(fù)雜的商業(yè)分析應(yīng)用.這些查詢給出了一個實(shí)際的環(huán)境,描繪了批發(fā)商的活動以幫助讀者將該基準(zhǔn)的組件聯(lián)系起來.圖3說明了TPC-H所對應(yīng)的商用環(huán)境,并且突出了TPC-H測試和其他TPC測試的根本區(qū)別.
TPC-H不代表任何特定商業(yè)領(lǐng)域里的活動,而是可以被應(yīng)用到任何需要管理、銷售或在全球范圍銷售某種商品的行業(yè)(比如汽車租賃,食品銷售,供應(yīng)商等).但TPC-H并不是如何構(gòu)建實(shí)際信息分析系統(tǒng)的模型.
TPC-H數(shù)據(jù)庫由八個單獨(dú)的表(基本表)組成.這些表的列與列之間的關(guān)系如圖4所示.
1.2.3 測試過程說明
TPC-H測試主要包括22個SELECT查詢.這些SELECT語句的復(fù)雜程度超過大多數(shù)實(shí)際的OLTP應(yīng)用,在22個查詢執(zhí)行的同時(shí),還有一對更新操作RF1和RF2并發(fā)地執(zhí)行.
TPC-H測試包括3個子測試:數(shù)據(jù)裝載測試、Power測試和Throughput測試.建立測試數(shù)據(jù)庫的過程被稱為裝載數(shù)據(jù),裝載測試是測試DBMS裝載數(shù)據(jù)的能力.測試裝載數(shù)據(jù)的時(shí)間,這項(xiàng)操作非常耗時(shí).Power測試要求22個查詢順序執(zhí)行一遍,與此同時(shí)執(zhí)行一對RF1和RF2操作.與Power測試相比,Throughput測試對SUT系統(tǒng)的壓力有非常大的增加,有多個查詢語句組,同時(shí)有一對RF1和RF2更新流.
圖3 TPC-H商業(yè)環(huán)境Fig.3 Business Environment of TPC-H
圖4 TPC-H模式Fig.4 TPC-H Schema
1.2.4 度量指標(biāo)
測試時(shí),裝載數(shù)據(jù)的全過程需要測量所用時(shí)間,并計(jì)入到數(shù)據(jù)裝載時(shí)間中.一般情況下,需要記時(shí)的操作有建表、插入數(shù)據(jù)和建立索引.
(1)功率測試指標(biāo)
Power@Size是Power測試的結(jié)果,被定義為查詢時(shí)間和更改時(shí)間的幾何平均值的倒數(shù),公式如下:
其中,QI(i,0)為功率測試中單一查詢流中查詢Qi的秒級時(shí)間間隔;RI(j,0)為功率測試中單一查詢流中更新流RFj的秒級時(shí)間間隔;Size為用于測量的已選數(shù)據(jù)庫規(guī)模,SF為相應(yīng)的規(guī)模大小.
(2)吞吐量測試指標(biāo)
吞吐量測試結(jié)果用來計(jì)算在已選數(shù)據(jù)庫規(guī)模下的TPC-H吞吐量,其定義為整個執(zhí)行的查詢數(shù)與測量間隔長度的比,需如下計(jì)算:
其中Ts為測量間隔;S為在吞吐量測試中使用的查詢流數(shù)量;Size為已選則的數(shù)據(jù)庫規(guī)模,SF為相關(guān)的比例因子.
(3)TPC-H合成的每小時(shí)查詢性能度量指標(biāo)
數(shù)字值TPC-H功率和TPC-H吞吐量結(jié)合形成TPC-H合成的每小時(shí)查詢性能測試,需如下計(jì)算:
Database Benchmark[8]基準(zhǔn)測試程序可以被用來測試不同數(shù)據(jù)庫在大數(shù)據(jù)工作流負(fù)載環(huán)境下的處理性能.工具整體以壓力測試的方式隨機(jī)插入大量記錄,按照主鍵讀取插入的記錄,測試數(shù)據(jù)庫的負(fù)載能力.程序測試指標(biāo)主要關(guān)注記錄的插入速度和讀取速度,以及最終數(shù)據(jù)庫的數(shù)據(jù)空間開銷.
工具面向接口設(shè)計(jì),可以實(shí)現(xiàn)多個數(shù)據(jù)庫的擴(kuò)展功能,不同數(shù)據(jù)庫只要實(shí)現(xiàn)抽象類Benchmark并實(shí)現(xiàn)以下四個基本函數(shù)Init(),Write(),Read(),F(xiàn)inish()即可.工具可視化界面豐富,直觀爽朗.然而工具并不是基于TPC-C測試基準(zhǔn)設(shè)計(jì)實(shí)現(xiàn),與本文描述的工具在測試方法上不同.
BenchmarkSQL[9]是一款經(jīng)典的開源數(shù)據(jù)庫測試工具,內(nèi)嵌了TPC-C測試腳本,可以對EnterpriseDB、PostgreSQL、MySQL、Oracle以及SQL Server等數(shù)據(jù)庫直接進(jìn)行測試.工具通過配置文件可以插拔式的連接多個不同的數(shù)據(jù)庫,通用性得到了很大的保證.工具以日志的形式展示測試結(jié)果,沒有實(shí)現(xiàn)可視化展示功能.
HammerOra[10]內(nèi)嵌了兩套標(biāo)準(zhǔn)測試腳本TPC-C和TPC-H,也可以自己開發(fā)和擴(kuò)充測試腳本,開發(fā)語言是Tcl.HammerOra測試工具相對完善,而且圖形界面也比較直觀.但只能對少數(shù)數(shù)據(jù)庫可以進(jìn)行直接測試,對其他數(shù)據(jù)庫則需要用戶自行編輯測試腳本,開發(fā)語言Tcl不易掌握,增加學(xué)習(xí)成本.
為了實(shí)現(xiàn)自動化的數(shù)據(jù)庫基準(zhǔn)測試工具,本文設(shè)計(jì)實(shí)現(xiàn)了一個基于TPC-C和TPC-H測試基準(zhǔn)規(guī)范的可視化工具,VisualDBBench.針對TPC-C和TPC-H,分別有兩個測試界面,稱為VisualDBBench-C和VisualDBBench-H.按照規(guī)范指出,整個測試的流程如圖5所示.程序在啟動時(shí)可以自動加載用戶配置,然后對多個數(shù)據(jù)庫依次加載待測數(shù)據(jù),對多個數(shù)據(jù)庫測試結(jié)束后,為了方便用戶,要能直觀地顯示測試結(jié)果.
圖5 VisualDBBench測試流程Fig.5 The progress of VisualDBBench
仔細(xì)分析工具的功能需求,具體來講,本系統(tǒng)主要有以下幾個功能:
(1)配置待測數(shù)據(jù)庫的個數(shù);
(2)配置單個數(shù)據(jù)庫的參數(shù),主要包括數(shù)據(jù)庫連接所用到URL參數(shù)和用戶名以及密碼等;
(3)測試數(shù)據(jù)庫:該模塊主要包括創(chuàng)建數(shù)據(jù)庫表,加載基本測試數(shù)據(jù)和創(chuàng)建數(shù)據(jù)庫索引并開啟測試過程;
(4)實(shí)時(shí)顯示測試結(jié)果:為了直觀地反應(yīng)測試結(jié)果,必須有實(shí)時(shí)的可視化顯示界面;
(5)加載SQL語句:這個模塊主要是負(fù)責(zé)配置系統(tǒng)執(zhí)行時(shí)需要用到的SQL語句;
(6)生成多個數(shù)據(jù)庫對比結(jié)果:以條形圖的形式對比展示多個數(shù)據(jù)庫的性能結(jié)果.
圖6展示了工具VisualDBBench的系統(tǒng)用例圖.數(shù)據(jù)庫測試人員的需求用例主要包括:完成工具的配置,編輯SQL語句和測試數(shù)據(jù)庫.而測試數(shù)據(jù)庫部分,主要包括創(chuàng)建數(shù)據(jù)庫表,加載測試數(shù)據(jù),給表創(chuàng)建索引以及測試過程.更進(jìn)一步,工具可以反饋給用戶直觀可視化的測試結(jié)果.
雖然TPC-H和TPC-C標(biāo)準(zhǔn)給出測試方法、度量指標(biāo)和測量方法,但并不能直接進(jìn)行測試,必須開發(fā)用于測試的工具程序.
圖6 需求分析Fig.6 Requirements analysis
測試工具的體系結(jié)構(gòu)見圖7,它可以通過GUI界面配置測試參數(shù),自動完成整個基準(zhǔn)測試.測試驅(qū)動模塊根據(jù)測試基準(zhǔn)的不同,還會有各自的不同處,TPC-C測試驅(qū)動主要完成5種基本事務(wù)的執(zhí)行,而TPC-H測試驅(qū)動主要是執(zhí)行22個負(fù)責(zé)查詢語句和兩個更新語句.
圖7 系統(tǒng)架構(gòu)圖Fig.7 System architecture
工具按面向?qū)ο笤O(shè)計(jì),采用Java編程.工具的類圖設(shè)計(jì)如圖8所示.
程序中主要類結(jié)構(gòu)說明:
(1)jTPCC類:承擔(dān)用戶與VisualDBBench的交互,它包括標(biāo)簽、按鈕、文本區(qū)等及響應(yīng)事件.用戶可以在此設(shè)置參數(shù)如DBMS的類型、數(shù)據(jù)庫的連接信息、TPC-C測試終端和數(shù)據(jù)倉庫的個數(shù)以及程序測試時(shí)間和5種測試事務(wù)所占權(quán)重.界面中可以動態(tài)顯示測試進(jìn)度信息和測試結(jié)果信息.
(2)jTPCCTerminal類:根據(jù)用戶的參數(shù)配置,模擬每個終端開啟五種事務(wù)的基本測試.
(3)ExecJDBC類:連接數(shù)據(jù)庫,運(yùn)行特定sql語句文件,考慮到程序通用性的問題,sql腳本語言定義在工程目錄下的文本文件中,對于特定的數(shù)據(jù)庫可以使用不同的腳本.
(4)BarResult類:以柱狀圖的形式顯示對比每個數(shù)據(jù)庫的性能測試結(jié)果.
(5)MemoryPanel類:以儀表盤的形式實(shí)時(shí)顯示JVM內(nèi)存使用情況.
(6)TpmCchartPanel類:獲取測試過程中tpmC的數(shù)值,實(shí)時(shí)顯示給用戶.
圖8 系統(tǒng)類圖Fig.8 System class diagram
界面類主要功能有測試前的參數(shù)配置和測試過程的過程展示,以圖形化界面的方式讓用戶與程序之間進(jìn)行交互.可以配置的主要參數(shù)有:比例因子SF、查詢流數(shù)目、數(shù)據(jù)庫源、連續(xù)測試/單步測試選擇等.
3.4.2 查詢流類
將QGEN產(chǎn)生的查詢語句,通過指定的會話發(fā)送給數(shù)據(jù)庫服務(wù)器.每個查詢需要附帶查詢流編號、查詢編號.
3.4.3 更新流類
將更新操作通過指定的會話發(fā)送給數(shù)據(jù)庫服務(wù)器,注意要保證更新操作成對執(zhí)行.
3.4.4 計(jì)時(shí)器類
記錄每個查詢和更新的執(zhí)行時(shí)間,以秒為單位.根據(jù)查詢流的個數(shù)設(shè)置計(jì)數(shù)器,計(jì)錄的結(jié)果寫入磁盤中,該類可以和VisualDBBench-C程序部分進(jìn)行復(fù)用.
3.4.5 統(tǒng)計(jì)分析類
將計(jì)時(shí)器類得到結(jié)果由統(tǒng)計(jì)分析類處理后,結(jié)果轉(zhuǎn)換成適合存儲的格式和有利于屏幕顯示的格式.為了方便用戶觀察測試的進(jìn)度和分析變化趨勢,將統(tǒng)計(jì)結(jié)果變換后實(shí)時(shí)地輸出在顯示幕上,主要的可視化視圖有Throughput測試中每個查詢流查詢完成數(shù)目;Power測試中每個查詢執(zhí)行時(shí)間.
3.4.6 會話連接類
負(fù)責(zé)建立、管理和撤消Driver與DBMS之間的連接,保證查詢流和更新流與DBMS連接之間的一對一的對應(yīng)關(guān)系.
鑒于VisualDBBench-C和VisualDBBench-H程序在很多模塊功能上類似,因此可以借助復(fù)用的思想,設(shè)計(jì)類結(jié)構(gòu).
相較于傳統(tǒng)數(shù)據(jù)庫,內(nèi)存數(shù)據(jù)庫拋棄了磁盤數(shù)據(jù)管理的傳統(tǒng)方式,基于全部數(shù)據(jù)都在內(nèi)存中重新設(shè)計(jì)了體系結(jié)構(gòu),并且在數(shù)據(jù)緩存、快速算法、并行操作方面也進(jìn)行了相應(yīng)的改進(jìn),所以數(shù)據(jù)處理速度比傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)處理速度要快很多,正常情況下都在十倍以上.其中特別值得一提的是,無需再分離運(yùn)營系統(tǒng)和分析系統(tǒng)[1].內(nèi)存計(jì)算技術(shù)支持對運(yùn)營數(shù)據(jù)進(jìn)行分析,從而簡化軟件和硬件架構(gòu),最終降低總成本.常見的內(nèi)存數(shù)據(jù)庫產(chǎn)品有 MySQL、H2[11]、Redis、VoltDB等.目前內(nèi)存數(shù)據(jù)庫領(lǐng)域還沒有一套完整的測試方案,我們將以TPC組織發(fā)布的基準(zhǔn)規(guī)范對H2等常見內(nèi)存數(shù)據(jù)庫進(jìn)行測試,定性了解內(nèi)存數(shù)據(jù)庫對比于傳統(tǒng)數(shù)據(jù)庫的性能優(yōu)越性.
本次實(shí)驗(yàn)的主要目的在于測試傳統(tǒng)數(shù)據(jù)庫和內(nèi)存數(shù)據(jù)庫在OLTP和OLAP方面的性能差異,因此實(shí)驗(yàn)中選取了幾個被廣泛使用且具有代表性的數(shù)據(jù)庫作為測試對象.表1說明了工具中的開發(fā)與運(yùn)行環(huán)境.
表1 開發(fā)工具與運(yùn)行環(huán)境Tab.1 Development tools and runtime environment
為了實(shí)現(xiàn)工具的通用性、靈活性和可插拔特性,在工具的外部用一個conf.txt的配置文件來管理我們需要測試的多個數(shù)據(jù)庫.另外在每一個數(shù)據(jù)庫對應(yīng)的配置文件內(nèi),記錄測試的四個屬性,分別是待測數(shù)據(jù)庫的名字、JDBC連接的驅(qū)動類、JDBC連接數(shù)據(jù)庫對應(yīng)的url和連接數(shù)據(jù)庫的授權(quán)用戶名和密碼.
在對每個數(shù)據(jù)庫的測試過程中,我們可以在tpmc result選項(xiàng)卡頁面實(shí)時(shí)觀測tpmC變化情況,工具可實(shí)時(shí)顯示當(dāng)前tpmC值和tpmC的平均值.圖9描述了數(shù)據(jù)庫實(shí)時(shí)tpmC的測試結(jié)果.
向?qū)Ы缑娴淖詈髸⑷螠y試結(jié)果做對比.圖10展示了H2數(shù)據(jù)庫、MySQL數(shù)據(jù)庫和H2內(nèi)存數(shù)據(jù)庫的TPC-C測試結(jié)果對比.
對比H2數(shù)據(jù)庫和MySQL數(shù)據(jù)庫的性能結(jié)果并沒有顯著的差別.但相比內(nèi)存模式的H2數(shù)據(jù)庫,內(nèi)存數(shù)據(jù)庫在單位時(shí)間內(nèi)處理事務(wù)的能力則出現(xiàn)百倍級的提升.
文獻(xiàn)中指出,內(nèi)存數(shù)據(jù)庫的性能通常為傳統(tǒng)基于磁盤的數(shù)據(jù)庫性能的百倍以上[1],從圖10可以看出,實(shí)驗(yàn)結(jié)果基本與其吻合.
圖9 實(shí)時(shí)顯示tpmC數(shù)值Fig.9 Show tpmC value in real time
圖10 多個數(shù)據(jù)庫TPC-C基準(zhǔn)測試結(jié)果對比Fig.10 TPC-C Benchmark results compared with multiple databases
VisualDBBench-H測試程序主體按照TPC-H基準(zhǔn)進(jìn)行測試.實(shí)驗(yàn)中分別選取MySQL磁盤數(shù)據(jù)庫和MySQL數(shù)據(jù)庫內(nèi)存模式作為測試對象,對比分析內(nèi)存數(shù)據(jù)庫在聯(lián)機(jī)分析處理方面的性能特點(diǎn).圖11是VisualDBBench-H程序測試對比結(jié)果.從圖中我們可以看出,內(nèi)存模式下,數(shù)據(jù)庫作復(fù)雜語句查詢的耗時(shí)更少.
本文分析了TPC-C和TPC-H基準(zhǔn)規(guī)范測試的原理,主要包括對TPC-C與TPC-H基準(zhǔn)的適用范圍、內(nèi)部結(jié)構(gòu)進(jìn)行了闡述和分析.針對兩個基準(zhǔn)對多個數(shù)據(jù)庫系統(tǒng)進(jìn)行了性能測試,得出性能對比的圖形化對比結(jié)果.實(shí)現(xiàn)了一個自動化的測試工具VisualDBBench.實(shí)現(xiàn)自動化的測試數(shù)據(jù)庫性能,使用戶無需深入了解測試規(guī)范就能實(shí)現(xiàn)測試過程.測試過程表明,內(nèi)存數(shù)據(jù)庫對比與傳統(tǒng)數(shù)據(jù)庫,在OLAP和OLTP方面都有非常顯著的優(yōu)越性,具有很好的市場潛力.
圖11 MySQL數(shù)據(jù)庫TPC-H基準(zhǔn)測試結(jié)果對比Fig.11 MySQL database TPC-H benchmark results contrast
本文的不足之處在于,數(shù)據(jù)庫的性能評測和性能優(yōu)化是一項(xiàng)復(fù)雜而又艱巨的任務(wù),本文只做了很小的一部分工作,其中還有很多地方需要進(jìn)一步完成.
需要進(jìn)一步研究和改進(jìn)的地方有:
1.在測試中,未包括GUI的響應(yīng)時(shí)間,因此測試得到的時(shí)延并不是系統(tǒng)真正的時(shí)延,只能大體上表示系統(tǒng)的時(shí)延.要使測試結(jié)果真實(shí),就必須測量GUI的響應(yīng)時(shí)間,在測試中如何減少用戶時(shí)間的干擾,有待于進(jìn)一步的研究.
2.跟蹤國際最新的評測工具和分析數(shù)據(jù)庫性能的方法,摸索出一套實(shí)用的瓶頸測試方法,對應(yīng)用程序優(yōu)化、內(nèi)存優(yōu)化、I/O優(yōu)化等問題進(jìn)一步討論,考慮更通用的解決方案.
3.參數(shù)配置也是數(shù)據(jù)庫性能調(diào)整的一個大類,涉及的參數(shù)很多,原因也很復(fù)雜,在研究過程中應(yīng)該作為重點(diǎn)來規(guī)劃.
[1] 哈索,亞歷山大·蔡爾.內(nèi)存數(shù)據(jù)管理[M].北京:清華大學(xué)出版社,2009.
[2] TPC.Transaction processing performance council[EB/OL].[2014-6-30].http://www.tpc.org.
[3] 孫雪祥,蔣艷凰,張 怡.TPC-C測試系統(tǒng)的實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2006,32(20):81-83.
[4] 王良,蔡榮.基于 TPC-C標(biāo)準(zhǔn)的自動化測試工具 TPCCLoader[J].計(jì)算機(jī)工程與應(yīng)用,2006,41(25):102-105.
[5] 王良,栗躍鵬,楊政.TPC-H 自動測試工具 TPCHDriver的研究[J].計(jì)算機(jī)工程,2009,35(2):18-20.
[6] 康強(qiáng)強(qiáng),江舟,金澈清,等.TPCHSuite:一個TPC-H自動化測試工具的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)研究與發(fā)展,2013,50(Suppl):394-398.
[7] 宋欽宇.數(shù)據(jù)庫 TPC-H 測試系統(tǒng)的設(shè)計(jì)與分析[J].長春大學(xué)學(xué)報(bào),2008,18(2):62-65.
[8] Database benchmark[EB/OL].[2014-07-02].http://database-benchmark.com/.
[9] BenchmarkSQL[EB/OL].[2014-07-02].http://benchmarksql.sourceforge.net/.
[10] SHAW S.HammerDB[EB/OL].[2014-06-28].http://sourceforge.net/projects/hammerora/.
[11] H2 Database Engine[CP/OL].[2014-07-01].http://www.h2database.com/html/main.html.