TPC-C基準(zhǔn)(數(shù)據(jù)庫)
時(shí)間:2022-11-25 02:30:02 | 來源:信息時(shí)代
時(shí)間:2022-11-25 02:30:02 來源:信息時(shí)代
TPC-C基準(zhǔn) : TPC組織(Transaction Processing Performance Council)發(fā)布的在線事務(wù)處理性能評(píng)價(jià)基準(zhǔn)。基準(zhǔn)通過嚴(yán)格定義的數(shù)據(jù)邏輯、事務(wù)邏輯以及實(shí)現(xiàn)細(xì)節(jié),綜合測(cè)試數(shù)據(jù)庫系統(tǒng)的在線事務(wù)處理性能。基準(zhǔn)描述了典型聯(lián)機(jī)應(yīng)用系統(tǒng),并定義了在應(yīng)用場(chǎng)景中度量數(shù)據(jù)庫系統(tǒng)性能的規(guī)范。
基準(zhǔn)草案6.6版于1992年6月22日完成,此后TPC組織不斷地對(duì)其進(jìn)行修正和更新,該基準(zhǔn)日趨完善,目前的最新版本是5.8.0,發(fā)布于2006年12月14日?;鶞?zhǔn)版本修訂記錄如下:
1992年6月22日: 草案版6.6;
1992年8月13日: 修訂版1.0;
1993年6月1日: 修訂版1.1;
1993年10月20日: 修訂版2.0;
1995年2月15日: 修訂版3.0;
1996年6月4日: 修訂版3.1;
1996年8月27日: 修訂版3.2;
1996年9月12日: 修訂版3.2.1;
1997年1月15日: 修訂版3.2.2;
1997年2月6日: 修訂版3.2.3;
1997年4月8日: 修訂版3.3;
1997年4月9日: 修訂版3.3.1;
1997年6月25日: 修訂版3.3.2;
1998年4月16日: 修訂版3.3.3;
1998年8月24日: 修訂版3.4;
1999年8月25日: 修訂版3.5;
2000年10月18日: 修訂版5.0;
2000年12月6日: 修訂版5.0;
2001年2月26日: 修訂版5.0;
2002年12月11日: 修訂版5.1;
2003年12月11日: 修訂版5.2;
2004年4月22日: 修訂版5.3;
2005年4月21日: 修訂版5.4;
2005年10月20日: 修訂版5.5;
2005年12月8日: 修訂版5.6;
2006年4月21日: 修訂版5.7;
2006年12月14日: 修訂版5.8.0。
TPC-C基準(zhǔn)以一個(gè)大型的批發(fā)銷售公司業(yè)務(wù)為背景。該公司分布在多個(gè)地理轄區(qū),并且基于倉庫管理。當(dāng)業(yè)務(wù)擴(kuò)展的時(shí)候,公司將添加新的倉庫。每個(gè)倉庫負(fù)責(zé)十個(gè)轄區(qū)的供貨,每個(gè)轄區(qū)為3000個(gè)客戶服務(wù)。每個(gè)倉庫維護(hù)公司銷售的100000種商品的庫存記錄,如圖1所示。
圖1 TPC-C數(shù)據(jù)庫邏輯結(jié)構(gòu)圖
圍繞批發(fā)銷售公司的業(yè)務(wù),基準(zhǔn)為被測(cè)系統(tǒng)中的數(shù)據(jù)庫定義了九張表,它們之間的關(guān)系如圖2所示。表框里的數(shù)字表示該表將要存放多少條記錄,倉庫數(shù)w決定數(shù)據(jù)庫所支持的數(shù)據(jù)規(guī)模,表間數(shù)據(jù)規(guī)模的比例關(guān)系由箭頭上的數(shù)字表示。
表1描述了表的設(shè)計(jì)規(guī)模,包括記錄規(guī)模和數(shù)據(jù)規(guī)模等。表中,“歷史記錄”可以有小量的變化,因?yàn)闇y(cè)試過程將會(huì)插入新記錄或者刪除現(xiàn)有記錄;“商品”為固定個(gè)數(shù),它表示商品的種類,不隨著倉庫的增減而變化; “典型記錄長度”和“典型表大小”只是實(shí)現(xiàn)中的一個(gè)示例,并且沒有包括存儲(chǔ)和訪問所需的額外空間; “訂單”由于數(shù)據(jù)裝載的隨機(jī)因素,記錄數(shù)可以有1%的變化。
圖2 TPC-C數(shù)據(jù)庫表邏輯結(jié)構(gòu)
表1 TPC-C數(shù)據(jù)量估算表
數(shù)據(jù)表名稱 | 記錄條數(shù) | 典型記錄 長度(字節(jié)) | 典型表大小 (千字節(jié)) |
倉庫 | 1 | 89 | 0.089 |
轄區(qū) | 10 | 95 | 0.950 |
客戶 | 30 000 | 655 | 19 650 |
歷史記錄 | 30 000 | 46 | 1 380 |
訂單 | 30 000 | 24 | 720 |
新訂單 | 9 000 | 8 | 72 |
訂單明細(xì) | 300 000 | 54 | 16 200 |
庫存 | 100 000 | 306 | 30 600 |
商品 | 100 000 | 82 | 8 200 |
TPC-C基準(zhǔn)中的事務(wù)模型由五種事務(wù)構(gòu)成,涵蓋了插入、刪除、更新和查詢等各種數(shù)據(jù)庫操作。標(biāo)準(zhǔn)中定義的五種事務(wù)如下:
(1)新訂單: 從固定的倉庫中隨機(jī)選取5~15件商品,創(chuàng)建新訂單,其中1%要求由于假想的用戶操作失敗而回滾。其特點(diǎn)是: 中量級(jí),讀寫事務(wù),執(zhí)行頻繁,要求快速響應(yīng)。
(2)支付:從固定倉庫隨機(jī)選取一個(gè)轄區(qū)及其內(nèi)用戶,采用隨機(jī)的金額支付一筆訂單,并作相應(yīng)歷史記錄。其特點(diǎn)是: 輕量級(jí),讀寫事務(wù),執(zhí)行頻繁,要求快速響應(yīng)。
(3)訂單狀態(tài)查詢:從固定倉庫隨機(jī)選取一個(gè)轄區(qū)及其內(nèi)用戶,讀取其最后一條訂單,顯示訂單內(nèi)每件商品的狀態(tài)。其特點(diǎn)是: 中量級(jí),只讀事務(wù),執(zhí)行不頻繁,要求快速響應(yīng)。
(4)發(fā)貨:隨機(jī)選取一個(gè)發(fā)貨包,更新被處理訂單的用戶賬戶余額,并把該訂單從新訂單中刪除。其特點(diǎn)是: 10個(gè)批量,讀寫事務(wù),執(zhí)行不頻繁,較寬松的響應(yīng)時(shí)間。
(5)庫存查詢: 從固定的倉庫和轄區(qū)選取最后20條訂單,檢查訂單中所有貨物的庫存。計(jì)算并顯示所有庫存低于隨機(jī)生成域值的商品數(shù)量。其特點(diǎn)是: 重量級(jí),只讀事務(wù),執(zhí)行不頻繁,較為寬松的響應(yīng)時(shí)間。
TPC-C的一個(gè)重要設(shè)計(jì)思想是采用延遲來模擬真實(shí)環(huán)境,要求每個(gè)模擬終端在執(zhí)行每個(gè)事務(wù)的時(shí)候,模擬用戶的鍵盤輸入延遲和思考延遲。
圖3描述了一個(gè)循環(huán)模擬的流程與模擬延遲在循環(huán)里的位置關(guān)系。此外還有一個(gè)非模擬延遲即服務(wù)器端的響應(yīng)延遲。針對(duì)以上提到的鍵盤輸入延遲、思考延遲和服務(wù)端的響應(yīng)延遲,TPC-C標(biāo)準(zhǔn)對(duì)模擬延遲給出了模擬的均值分布等要求,對(duì)響應(yīng)延遲給出了90%界限下響應(yīng)延遲必須滿足的約束條件,另外還對(duì)各種事物所占的比例進(jìn)行了規(guī)定。
圖3 事務(wù)運(yùn)行流程與模擬延遲
表2給出了事務(wù)的混合比例與延遲要求。
基準(zhǔn)規(guī)定了三個(gè)衡量指標(biāo):
(1)MQTh(maximum qualified throughput),單位是tpm C(transactions-per-minute-C)。
(2)每個(gè)tpmC所需的花費(fèi),即性能價(jià)格比。
(3)有效日期。
作為一項(xiàng)以O(shè)LTP性能測(cè)試為目標(biāo)的評(píng)價(jià)基準(zhǔn),TPC-C的主要測(cè)試指標(biāo)就是tpmC,即每分鐘的事務(wù)處理數(shù)。在TPC-C標(biāo)準(zhǔn)中,這里的事務(wù)僅指新訂單事務(wù)。由于存在模擬延遲,每一個(gè)模擬終端單位時(shí)間只能產(chǎn)生一定數(shù)量的事務(wù)。為了給被測(cè)數(shù)據(jù)庫系統(tǒng)增加事務(wù)壓力,就要增加模擬終端的數(shù)目。
表2 事務(wù)混合比例與響應(yīng)時(shí)間約束
事務(wù) 類型 | 比例 下界 | 鍵盤輸入 延遲下界 | 90%事務(wù) 響應(yīng)延遲 | 思考延遲分 布均值下界 |
新訂單 | 無規(guī)定 | 18秒 | 5秒 | 12秒 |
支付 | 43% | 3秒 | 5秒 | 12秒 |
訂單狀態(tài) 查詢 | 4% | 2秒 | 5秒 | 10秒 |
發(fā)貨 | 4% | 2秒 | 5秒 | 5秒 |
庫存查詢 | 4% | 2秒 | 20秒 | 5秒 |
基準(zhǔn)描述了各事務(wù)要求滿足的ACID屬性的各項(xiàng)測(cè)試及規(guī)范。只有每個(gè)事務(wù)都通過這些測(cè)試規(guī)范后,TPC-C測(cè)試結(jié)果才能被認(rèn)為有效。
此外TPC-C基準(zhǔn)還描述了測(cè)試系統(tǒng)的基本架構(gòu),被測(cè)系統(tǒng)和驅(qū)動(dòng)系統(tǒng)終端以及其連接通信方式,系統(tǒng)計(jì)價(jià)的方法,測(cè)試過程的審計(jì)以及測(cè)試報(bào)告發(fā)布的相關(guān)規(guī)范。
TPC-C基準(zhǔn)目前為國際上大多數(shù)軟硬件廠商和組織所認(rèn)可。