謝秋琪 吳斌 梁俊杰 董錦繪 曹磊
摘 要:為推動數(shù)據(jù)庫高質(zhì)量、國際化發(fā)展,本文通過分析國內(nèi)外數(shù)據(jù)庫檢測相關(guān)技術(shù)標(biāo)準(zhǔn)現(xiàn)狀,在剖析國外公認(rèn)基準(zhǔn)模 型原理的基礎(chǔ)上,結(jié)合國內(nèi)國產(chǎn)軟硬件情況,闡述研制基于國產(chǎn)基礎(chǔ)軟硬件的數(shù)據(jù)庫性能檢測標(biāo)準(zhǔn)的思路,對建立國內(nèi)統(tǒng)一 的數(shù)據(jù)庫評價機制與標(biāo)準(zhǔn)化探索方向提出建議。
關(guān)鍵詞:數(shù)據(jù)庫基準(zhǔn),基準(zhǔn)測試標(biāo)準(zhǔn)化,數(shù)據(jù)庫檢測
DOI編碼:10.3969/j.issn.1002-5944.2024.03.004
1 數(shù)據(jù)庫基準(zhǔn)測試標(biāo)準(zhǔn)化缺失的痛點 和難點
數(shù)據(jù)庫作為存儲和管理數(shù)據(jù)的工具,在紛繁復(fù) 雜的業(yè)務(wù)系統(tǒng)中充當(dāng)了非常重要的作用。數(shù)據(jù)庫的 一次出錯或請求處理不及時都可能帶來不可估量 的損失,所以在應(yīng)用之前需要充分考慮數(shù)據(jù)庫的可 靠性和性能瓶頸,性能測試成了必要環(huán)節(jié)。目前對 數(shù)據(jù)庫標(biāo)準(zhǔn)的研究大多在應(yīng)用層面,如具體行業(yè)的 數(shù)據(jù)庫開發(fā)、面向具體應(yīng)用數(shù)據(jù)庫設(shè)計的標(biāo)準(zhǔn)化, 而對于數(shù)據(jù)庫基礎(chǔ)測試標(biāo)準(zhǔn)研究少之又少。國外數(shù) 據(jù)庫性能測試技術(shù)發(fā)展至今相對成熟,一些非營利 的公益組織發(fā)布的基準(zhǔn)全文公開,但部分機構(gòu)發(fā)布 的測試基準(zhǔn)仍然保持商業(yè)姿態(tài),其測試實現(xiàn)方案 都對外保密。國外數(shù)據(jù)庫基準(zhǔn)測試技術(shù)并未全部開 源,完全依賴于國外標(biāo)準(zhǔn)及檢測工具存在很大的安 全隱患。國內(nèi)在完成國產(chǎn)基礎(chǔ)軟硬件環(huán)境搭建后, 缺乏統(tǒng)一的標(biāo)準(zhǔn)對國產(chǎn)數(shù)據(jù)庫性能進行測試。這導(dǎo) 致一方面無法在對不同國產(chǎn)數(shù)據(jù)庫進行比較評判; 另一方面,測試是產(chǎn)品不斷優(yōu)化、質(zhì)量提升的重要 手段,國內(nèi)缺少統(tǒng)一的評價機制,無法形成國產(chǎn)數(shù) 據(jù)庫固定的市場準(zhǔn)入條件,嚴(yán)重制約了國產(chǎn)數(shù)據(jù)庫產(chǎn)業(yè)的發(fā)展。建立國產(chǎn)環(huán)境下的數(shù)據(jù)庫性能檢測標(biāo) 準(zhǔn),統(tǒng)一檢測基準(zhǔn)的測試規(guī)則已迫在眉睫。國內(nèi)數(shù) 據(jù)庫測試技術(shù)的研究既要滿足自主可控,又要有利 于國產(chǎn)數(shù)據(jù)庫走出國門,基于國產(chǎn)基礎(chǔ)軟硬件的數(shù) 據(jù)庫性能檢測標(biāo)準(zhǔn)研究的難點正是要統(tǒng)籌解決好 基準(zhǔn)測試模型方法論同源與國產(chǎn)環(huán)境下產(chǎn)品檢測 自主可控之間的矛盾與平衡。
2 數(shù)據(jù)庫性能測試國外標(biāo)準(zhǔn)反向溯源 研究
國外標(biāo)準(zhǔn)現(xiàn)狀是,當(dāng)前在針對數(shù)據(jù)庫性能評測 領(lǐng)域國際上主要有兩個權(quán)威機構(gòu),分別是事務(wù)處理 性能委員會(TPC)和標(biāo)準(zhǔn)性能評估組織(SPEC)。 他們的檢測標(biāo)準(zhǔn)也就慢慢形成了業(yè)內(nèi)的“事實標(biāo) 準(zhǔn)”,其中業(yè)界內(nèi)廣泛認(rèn)可的是TPC組織制定的標(biāo) 準(zhǔn)。TPC是由數(shù)10家主要計算機軟硬件廠家會員公 司創(chuàng)建的非營利組織,專門制定商務(wù)應(yīng)用基準(zhǔn)程序 的標(biāo)準(zhǔn)規(guī)范、性能和價格度量,并管理測試結(jié)果的 發(fā)布[1]。TPC的測試標(biāo)準(zhǔn)主要包括TPC-C、TPC-H、 TPC-DS等,其中TPC-C主要用于評估在線事務(wù)處 理系統(tǒng)(OLTP)的性能,TPC-H主要用于評估決策 支持系統(tǒng)(DSS)的性能,TPC-DS則是一種新型的 決策支持基準(zhǔn)測試,它可以模擬更加復(fù)雜和真實的 決策支持應(yīng)用[2]。TPC評測基準(zhǔn)已經(jīng)成為國際上權(quán) 威的標(biāo)準(zhǔn)之一,也是應(yīng)用最廣泛數(shù)據(jù)庫測試事實標(biāo) 準(zhǔn),其測試結(jié)果不僅是數(shù)據(jù)庫軟件性能的評測,也 是服務(wù)器硬件性能的體現(xiàn)。
國內(nèi)標(biāo)準(zhǔn)化現(xiàn)狀是,主要在具體行業(yè)數(shù)據(jù)庫 開發(fā)設(shè)計統(tǒng)一規(guī)范較多,而在數(shù)據(jù)庫檢測領(lǐng)域, 雖有對關(guān)系數(shù)據(jù)庫管理系統(tǒng)的檢測依據(jù),如GB/T 28821—2012《關(guān)系數(shù)據(jù)管理系統(tǒng)技術(shù)要求》,針對 關(guān)系型數(shù)據(jù)庫的功能性、可靠性、易用性、維護性、 標(biāo)準(zhǔn)依從性五個方面提出具體要求,適用于數(shù)據(jù)庫 產(chǎn)品的研制、測試、評估和采購過程。GB/T 30994— 2014《關(guān)系數(shù)據(jù)庫管理系統(tǒng)檢測規(guī)范》,直接針對 GB/T 28821—2012進行標(biāo)準(zhǔn)的符合性測試。RB/T 020—2019《實時數(shù)據(jù)庫管理系統(tǒng)安全評價要求》 (行業(yè)標(biāo)準(zhǔn))適用于實時數(shù)據(jù)庫管理系統(tǒng)在安全方 面的評估。然而,針對數(shù)據(jù)庫性能專項的測試,國內(nèi) 暫無對數(shù)據(jù)庫基礎(chǔ)領(lǐng)域研究測試標(biāo)準(zhǔn),也無具有基 礎(chǔ)性的數(shù)據(jù)庫性能測試實施細(xì)則及相關(guān)規(guī)范。
如上所述,考慮到標(biāo)準(zhǔn)化研究初衷既要滿足自 主可控,又要有利于國產(chǎn)數(shù)據(jù)庫走出國門,在建立 國內(nèi)數(shù)據(jù)庫性能檢測統(tǒng)一標(biāo)準(zhǔn)時,就必須考慮先理 解國外公認(rèn)的統(tǒng)一標(biāo)準(zhǔn)的原理,準(zhǔn)確把握方法論核 心,在測試模型上保持同源。在國外對技術(shù)封鎖的 情況下,我們通過對已經(jīng)公開的測試程序文檔與測 試服務(wù)標(biāo)準(zhǔn)進行反向溯源的研究,針對各類數(shù)據(jù)庫 標(biāo)準(zhǔn),通過深入地研究測試場景和測試方法,區(qū)分 出各類標(biāo)準(zhǔn)的重點關(guān)注項,選擇權(quán)威公認(rèn)的方法 同源模型原理,用同一把尺子基準(zhǔn)對數(shù)據(jù)庫進行 度量。這是確保測試過程科學(xué)和測試結(jié)果合理的 關(guān)鍵。
3 基于國產(chǎn)基礎(chǔ)軟硬件的數(shù)據(jù)庫性能 檢測標(biāo)準(zhǔn)化研究思路
開展數(shù)據(jù)庫性能基準(zhǔn)標(biāo)準(zhǔn)的研究思路如圖1所 示。通過研究國外面向聯(lián)機事務(wù)處理過程(OLAP) 的事務(wù)型數(shù)據(jù)庫基準(zhǔn)測試技術(shù)和分析型數(shù)據(jù)庫基 準(zhǔn)測試技術(shù)已公開的部分,提煉已公開的TPC-E、 TPC-DS數(shù)據(jù)庫標(biāo)準(zhǔn)化測試部分的關(guān)鍵點和難點。
3.1 標(biāo)準(zhǔn)核心指標(biāo)研究思路
如前分析,先對國外權(quán)威事實標(biāo)準(zhǔn)進行反向溯 源,對TPC-E基準(zhǔn)從數(shù)據(jù)模型、業(yè)務(wù)模型、執(zhí)行模 型、度量模型四個方面深入解讀標(biāo)準(zhǔn)內(nèi)在邏輯。對 TPC-DS基準(zhǔn)的研究主要從測試數(shù)據(jù)的生成加載、 測試流程的控制,以及測試度量等方面著手研究其 模型原理,形成標(biāo)準(zhǔn)草案中的核心評測指標(biāo)。
數(shù) 據(jù)庫為軟件的一種,已有國家標(biāo)準(zhǔn)GB / T 25000.10—2016《系統(tǒng)與軟件工程 系統(tǒng)與軟件質(zhì) 量要求和評價(SQuaRE) 第10部分:系統(tǒng)與軟件 質(zhì)量模型》要求對產(chǎn)品性能效率的考察要從時間 特性、資源利用性、容量以及性能效率的依存性這 幾個方面來進行測試,并且GB/T 28821—2012《關(guān) 系數(shù)據(jù)管理系統(tǒng)技術(shù)要求》規(guī)定關(guān)系數(shù)據(jù)庫在性 能方面需要做到運行穩(wěn)定、支持事務(wù)并行處理、支 持大數(shù)據(jù)量。綜合上述要求和規(guī)定,我們決定使用 事務(wù)吞吐率、數(shù)據(jù)吞吐量、并發(fā)用戶數(shù)、數(shù)據(jù)加載 時間、響應(yīng)時間、性價比這六個指標(biāo)作為測試數(shù)據(jù) 庫性能的核心指標(biāo)。除了以上核心測度指標(biāo)能夠全 面、準(zhǔn)確地評估數(shù)據(jù)庫系統(tǒng)的性能,客觀指標(biāo)選擇 上可從并發(fā)處理能力、數(shù)據(jù)處理速度、用戶體驗和 經(jīng)濟效益等方向選擇。
3.2 關(guān)于基于場景的測試模型標(biāo)準(zhǔn)化研究
數(shù)據(jù)庫在不同應(yīng)用場景中呈現(xiàn)的性能水平是 不同的。數(shù)據(jù)庫是組織和管理數(shù)據(jù)的工具,除其本 身設(shè)計與實現(xiàn)的機制以外,應(yīng)用場景關(guān)乎數(shù)據(jù)庫 表的復(fù)雜程度、表之間的關(guān)聯(lián)關(guān)系、字段的復(fù)雜程 度、數(shù)據(jù)處理請求的復(fù)雜程度和動態(tài)并發(fā)等,這些 都會使數(shù)據(jù)庫的性能呈現(xiàn)一定的差異。所以數(shù)據(jù)庫 性能測試不能一概而論,而應(yīng)構(gòu)造不同的場景進行 測試。而標(biāo)準(zhǔn)化的關(guān)鍵正在于,必須對同一使用場 景下的選取能測試出性能特性的各類操作封裝成 標(biāo)準(zhǔn)化的事務(wù)請求,用同一標(biāo)準(zhǔn)去測試數(shù)據(jù)庫性能 水平。因此,在數(shù)據(jù)庫性能基準(zhǔn)測試標(biāo)準(zhǔn)草案的形 成過程中,所謂“基準(zhǔn)”很大程度就依賴于“場景 測試模型”標(biāo)準(zhǔn)化的確定。
通過解構(gòu)國外權(quán)威測試的“事實標(biāo)準(zhǔn)”中描 述的業(yè)務(wù)場景,標(biāo)準(zhǔn)研究將從操作型場景和分析 型場景兩方面進行標(biāo)準(zhǔn)化。根據(jù)操作型場景具有 高并發(fā)、高交互的特點,選取金融交易作為代表模 型場景,包含C2B(客戶與企業(yè)的商業(yè)模式)和B2B (企業(yè)與企業(yè)的商業(yè)模式)的業(yè)務(wù)場景。模擬客戶 在業(yè)務(wù)系統(tǒng)中的各類操作封裝成事務(wù),進而形成數(shù) 據(jù)庫請求,系統(tǒng)裝載一定的客戶量運行指定天數(shù), 形成數(shù)據(jù)庫初始數(shù)據(jù),不同的事務(wù)代表不同的客戶 操作,不同的混合比和頻次模擬現(xiàn)實業(yè)務(wù)系統(tǒng)的運 行,達到測試仿真,系統(tǒng)平穩(wěn)運行,最后通過核心 事務(wù)吞吐率來衡量系統(tǒng)的性能,一方面顯示了系統(tǒng) 處理業(yè)務(wù)的能力,另一方面顯示了數(shù)據(jù)庫的性能水 平,吞吐率指標(biāo)結(jié)合并發(fā)數(shù)、響應(yīng)時間等輔助指標(biāo) 綜合衡量性能,以此形成操作型場景的數(shù)據(jù)庫性 能測試模型。
根據(jù)分析型場景具有重查詢低并發(fā)的特點,選 取商品零售行業(yè)作為代表模型場景。該場景中數(shù)據(jù) 規(guī)模大并且包含大量查詢,用戶的操作通過構(gòu)造大 量復(fù)雜的SQL語句來表示,相同SQL語句集的不同排 列模擬多用戶的并發(fā)查詢,當(dāng)系統(tǒng)執(zhí)行完所有的查 詢語句,即表示測試結(jié)束,最后通過加權(quán)的單位時 間內(nèi)執(zhí)行的查詢數(shù)據(jù)量來表示吞吐率。整個測試模 擬了決策者或管理者統(tǒng)計查詢的過程[3],查詢的結(jié)果 是決策者做出決策的重要支撐。該方法能模擬查詢 場景,吞吐率能反映系統(tǒng)的查詢性能,并結(jié)合數(shù)據(jù) 加載時間、每條SQL語句的響應(yīng)時間等指標(biāo)綜合分 析,以此形成分析型場景的數(shù)據(jù)庫性能測試模型。
3.3 關(guān)于測試流程標(biāo)準(zhǔn)化的研究
如上所述在進行核心評價指標(biāo)、場景模型進 行標(biāo)準(zhǔn)化后,進一步深入改進目前國際上普遍認(rèn)可 的基準(zhǔn)測試流程。經(jīng)研究,測試流程應(yīng)分為環(huán)境準(zhǔn) 備、測試、驗證、統(tǒng)計、報告五個步驟。從流程上進 行統(tǒng)一,不同檢測機構(gòu)檢測人員通過不同平臺管理 節(jié)點選擇不同的基準(zhǔn)測試工具,調(diào)取對應(yīng)基準(zhǔn)測試 類型的業(yè)務(wù)模型,并驅(qū)動數(shù)據(jù)生成器生成對應(yīng)的業(yè)務(wù)數(shù)據(jù),代理服務(wù)器模擬用戶請求、執(zhí)行測試腳 本、統(tǒng)計返回結(jié)果并收集相關(guān)性能參數(shù)等。通過上 述操作得到的檢測結(jié)果有可比性。在對流程進行標(biāo) 準(zhǔn)化的基礎(chǔ)上,對測試報告與測試方法進行一定程 度的標(biāo)準(zhǔn)化,以確保不同檢測實驗室之間能進行比 較,達到“基準(zhǔn)”形成的目的。
3.4 國產(chǎn)適配標(biāo)準(zhǔn)化研究
在開展國產(chǎn)數(shù)據(jù)庫測試驗證、操作型數(shù)據(jù)庫 和分析型數(shù)據(jù)庫性能測試模型的研究基礎(chǔ)上,針對 國產(chǎn)CPU和國產(chǎn)操作系統(tǒng)多樣性的特點,從頂層上 研究數(shù)據(jù)庫性能測試,從“搭建跨平臺架構(gòu)設(shè)計的 測試環(huán)境”“采用測試工具”“支持異構(gòu)處理器”和 “多款操作系統(tǒng)”等方面入手,進行測試方法的國 產(chǎn)環(huán)境適配標(biāo)準(zhǔn)化研究。最終總結(jié)方法,形成數(shù)據(jù) 庫性能測試方法論,將數(shù)據(jù)庫性能測試方法提煉 為標(biāo)準(zhǔn),形成《基于國產(chǎn)軟硬件數(shù)據(jù)庫測試基準(zhǔn)標(biāo) 準(zhǔn)》草案。
4 探索與展望
數(shù)據(jù)庫直接影響到應(yīng)用軟件的運行效率、可拓 展性、靈活度和可靠性,對于應(yīng)用軟件的開發(fā),選 擇合適的數(shù)據(jù)庫是非常重要的環(huán)節(jié),基準(zhǔn)測試的標(biāo) 準(zhǔn)化利于數(shù)據(jù)庫選型。國外主流數(shù)據(jù)庫核心技術(shù)壟 斷,對我國形成封鎖。數(shù)據(jù)庫性能測試基準(zhǔn)統(tǒng)一使 可比性對比測試得以實現(xiàn),能為數(shù)據(jù)庫研制提供思 路,有助于國產(chǎn)數(shù)據(jù)庫核心技術(shù)的自主創(chuàng)新,擺脫 受制于人的局面。鑒于數(shù)據(jù)庫系統(tǒng)在國產(chǎn)化軟硬件 系統(tǒng)研發(fā)的重要地位,我國還需繼續(xù)加快建設(shè)和完 善該領(lǐng)域標(biāo)準(zhǔn),只有通過標(biāo)準(zhǔn)先行、行業(yè)規(guī)范、第 三方檢測檢驗,才能有效提升質(zhì)量水平,助力該領(lǐng) 域技術(shù)創(chuàng)新呈螺旋式上升,保障經(jīng)濟發(fā)展健康、有 序、可持續(xù),盡快實現(xiàn)高質(zhì)量發(fā)展目標(biāo)。
在標(biāo)準(zhǔn)化為技術(shù)創(chuàng)新護航層面,數(shù)據(jù)庫隨著數(shù) 據(jù)處理的需求不斷變化,早期是一致性的數(shù)據(jù),隨 著互聯(lián)網(wǎng)、云計算、AI的發(fā)展,非結(jié)構(gòu)數(shù)據(jù)重要性 開始提升,數(shù)據(jù)庫也經(jīng)歷了由集中式向分布式的演 化;另外,互聯(lián)網(wǎng)對于低成本數(shù)據(jù)庫的需求,催生了 開源數(shù)據(jù)庫的興起;隨著工業(yè)大數(shù)據(jù)時代的到來, 通過網(wǎng)絡(luò)采集的大量信息被源源不斷地發(fā)往云端, 數(shù)據(jù)庫中匯聚了海量的數(shù)據(jù),其中時序數(shù)據(jù)庫的數(shù) 據(jù)帶有明顯的時間標(biāo)簽,并且按照時間戳進行存 放。物聯(lián)網(wǎng)、監(jiān)控領(lǐng)域是時序數(shù)據(jù)庫最典型的應(yīng)用 場景;主流的云服務(wù)廠商,很多都有自己研發(fā)的數(shù) 據(jù)庫產(chǎn)品,也成為行業(yè)內(nèi)的一股新興勢力,傳統(tǒng)的 關(guān)系型數(shù)據(jù)庫地位也受到一定的沖擊。所以本項目 前述的研究集中在目前常用的關(guān)系型數(shù)據(jù)庫的基準(zhǔn) 測試的標(biāo)準(zhǔn)化研究,內(nèi)容也可向自主可控非關(guān)系型 數(shù)據(jù)庫、時序數(shù)據(jù)庫、面向多模數(shù)據(jù)庫的測試基準(zhǔn) 領(lǐng)域拓展,進一步做好新型數(shù)據(jù)庫基準(zhǔn)測試標(biāo)準(zhǔn)化 的研究工作。
參考文獻
Transaction Processing Performance Council(TPC). TPC BENCHMARK? C Standard Specification Revision 5.11[EB/OL].(2010-02-10)[2022-07-15]. http://tpc.org/ tpc_documents_current_versions/pdf/tpc-c_v5.11.0.pdf .
Transaction Processing Performance Council(TPC). TPC BENCHMARK? E Standard Specification Version 1.14.0 [EB/OL].(2015-04-10)[2022-01-07]. http://tpc.org/tpc_ documents_current_versions/pdf/tpc-e_v1.14.0.pdf/.
LAN H, BAO Z, PENG Y. A survey on advancing the DBMS query optimizer: Cardinality estimation, cost model, and plan enumeration [J]. Data Science and Engineering, 2021, 6(1): 86-101.
作者簡介
謝秋琪,正高級工程師,研究方向為標(biāo)準(zhǔn)化、信息化。
梁俊杰,教授,研究方向為國產(chǎn)數(shù)據(jù)庫、測試工具研發(fā)。
(責(zé)任編輯:張佩玉)