謝秋琪 吳斌 梁俊杰 董錦繪 曹磊

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