HTAP 測試工具-HyBench 初探
原創(chuàng)隨著IoT、手機(jī)應(yīng)用、人工智能等發(fā)展帶來數(shù)據(jù)爆炸式增長,越來越多的場景需要通過高效的數(shù)據(jù)管理和處理獲得即時見解,HTAP因而成為全球數(shù)據(jù)技術(shù)的熱門趨勢。HTAP(即混合事務(wù)/分析處理)數(shù)據(jù)庫能夠同時支撐在線事務(wù)處理(OLTP)和在線分析處理(OLAP)場景,避免了傳統(tǒng)架構(gòu)中在線與離線數(shù)據(jù)庫之間大量的數(shù)據(jù)交互。具體而言,OLTP實(shí)現(xiàn)在線交易處理,典型場景如銀行轉(zhuǎn)賬業(yè)務(wù);OLAP用于數(shù)據(jù)分析和報告。兩種數(shù)據(jù)庫本是相互獨(dú)立的系統(tǒng),而HTAP數(shù)據(jù)庫將傳統(tǒng)的OLTP和OLAP模式合二為一,基于一站式架構(gòu)同時處理事務(wù)請求和查詢分析請求,不僅消除了從關(guān)系型數(shù)據(jù)庫到數(shù)據(jù)庫倉庫的數(shù)據(jù)抽取、轉(zhuǎn)換和加載過程,還支持實(shí)時地分析最新事務(wù)數(shù)據(jù),以靈活、高效、易用方式助力企業(yè)應(yīng)對數(shù)字化時代挑戰(zhàn)。
圖片
1. HTAP 評測
HTAP數(shù)據(jù)庫核心的技術(shù)評價主要包括處理混合負(fù)載的性能、OLAP與OLTP之間的數(shù)據(jù)同步延遲(數(shù)據(jù)新鮮度)兩大方面。雖然目前針對HTAP型數(shù)據(jù)庫,有CH-benCHmark、HTAPBench、OLXPBench、HATrick等測試基準(zhǔn),但這些測試基準(zhǔn)在數(shù)據(jù)模型、工作負(fù)載、評測指標(biāo)方面無法支撐對HTAP的核心技術(shù)進(jìn)行評價。
圖片
2. 測試工具-HyBench
HyBench是由中國軟件評測中心、清華大學(xué)聯(lián)合牽頭,北京奧星貝斯科技有限公司、武漢達(dá)夢數(shù)據(jù)庫股份有限公司、華為技術(shù)有限公司、騰訊云計(jì)算有限公司、阿里云計(jì)算有限公司共同研發(fā),為數(shù)據(jù)庫廠商和第三方評測機(jī)構(gòu)提供HTAP數(shù)據(jù)庫基準(zhǔn)性能的評價方法及工具。
HyBench的出現(xiàn),使用戶可以客觀地評價HTAP數(shù)據(jù)庫性能;幫助數(shù)據(jù)庫廠商在數(shù)據(jù)庫研發(fā)過程中進(jìn)行面向HTAP場景的性能評價和壓測;為第三方評測機(jī)構(gòu)提供客觀的數(shù)據(jù)庫性能測試服務(wù)。如何權(quán)衡負(fù)載隔離性與數(shù)據(jù)新鮮度并取得平衡,是HTAP數(shù)據(jù)庫在設(shè)計(jì)過程中的最大挑戰(zhàn),同時也決定了其核心的技術(shù)評價為處理OLTP與OLAP混合負(fù)載的能力(性能)和OLAP與OLTP之間的數(shù)據(jù)同步延遲(數(shù)據(jù)新鮮度)兩大方面,此外還應(yīng)該具備基本的單獨(dú)處理OLTP和OLAP負(fù)載的能力。
1)HyBench 架構(gòu)
圖片
2)基準(zhǔn)模型
基準(zhǔn)模型基于在線金融應(yīng)用,模擬轉(zhuǎn)賬業(yè)務(wù)與風(fēng)控結(jié)合的場景,是典型的HTAP數(shù)據(jù)庫技術(shù)的應(yīng)用場景,測試數(shù)據(jù)根據(jù)真實(shí)情況采用傾斜分布,工作負(fù)載設(shè)計(jì)了在線事務(wù)轉(zhuǎn)賬與實(shí)時數(shù)據(jù)分析,評測指標(biāo)方面,提出了基于事務(wù)處理吞吐量、查詢處理吞吐量、混合處理吞吐量以及新鮮度的統(tǒng)一度量指標(biāo),使得HTAP數(shù)據(jù)庫的評價更全面、準(zhǔn)確。
圖片
3)評測指標(biāo)
HyBench選取了OLTP的性能、OLAP的性能、OLTP與OLAP混合負(fù)載性能以及數(shù)據(jù)新鮮度作為衡量指標(biāo),以下為各測評指標(biāo)的定義。
圖片
? 數(shù)據(jù)新鮮度
數(shù)據(jù)新鮮度指標(biāo)反映OLAP負(fù)載訪問到的數(shù)據(jù)的實(shí)時性,一般有兩種衡量方式:
- 統(tǒng)計(jì)OLAP分析的最新元組數(shù)目與OLTP所有更新的元組數(shù)目的比率,最高為1
- 計(jì)算OLAP查詢到最新數(shù)據(jù)的延遲時間
HyBench基準(zhǔn)選擇了延遲時間作為數(shù)據(jù)新鮮度的衡量指標(biāo),具體的計(jì)算方式為:在每個表單中有一個時間戳字段,在執(zhí)行混合負(fù)載時,經(jīng)過間隔時間段同時在OLTP與OLAP負(fù)載上進(jìn)行查詢,對比結(jié)果集的數(shù)據(jù)差異與時間戳差異,并將最大的時間戳差值作為數(shù)據(jù)新鮮度測量值。時間戳差值越小,代表延遲時間越短,則數(shù)據(jù)新鮮度指標(biāo)越優(yōu)。新鮮度是基于 OLXP 負(fù)載測試的性能度量指標(biāo),描述了查詢結(jié)果集數(shù)據(jù)中的最大時間戳與最新事務(wù)數(shù)據(jù)時間戳間的差距,理想情況下,查詢操作總是能讀到最新的數(shù)據(jù),即查詢結(jié)果時間與最新事務(wù)時間完全一致,此時性能達(dá)到最優(yōu)。根據(jù)上述描述,可將新鮮度的計(jì)算公式定義為:
圖片
其中,TM 是最新事務(wù)數(shù)據(jù)的時間戳,TQ 是查詢結(jié)果集 Q 的最大時間戳,W 是所查詢的實(shí)例(OLTP 實(shí)例或 OLAP 實(shí)例)。由于數(shù)據(jù)間同步往往有延遲,故新鮮度以整體數(shù)據(jù)查詢最大延遲時間的平均值作為評價指標(biāo),以更好的評估 OLXP 負(fù)載的性能優(yōu)劣。
? H-Score
H-Score指標(biāo)綜合了事務(wù)處理吞吐量TPS、分析查詢吞吐量QPS、混合負(fù)載吞吐量XPS、數(shù)據(jù)新鮮度以及數(shù)據(jù)規(guī)模因子SF,公式表示如下:
圖片
H-Score是一個具有創(chuàng)新意義的衡量指標(biāo),它較全面的包含了量化 HTAP 數(shù)據(jù)庫性能的各方面因素。H-Score的計(jì)算方式在本質(zhì)上反映工作負(fù)載隔離和數(shù)據(jù)新鮮度之間的權(quán)衡,即工作負(fù)載隔離越好,混合負(fù)載性能 XPS 越高,但數(shù)據(jù)新鮮度指標(biāo)也可能更差。因此 H-Score 作為 HyBench 基準(zhǔn)的測評指標(biāo)是客觀合理的。
4)工具原理
圖片
3. HyBench實(shí)踐
1)執(zhí)行方法
圖片
2)配置文件
圖片
圖片
3)測試過程及結(jié)果
這里構(gòu)造個簡單模擬環(huán)境,驗(yàn)證 HyBench 工具的使用。環(huán)境中使用 MySQL 主從庫,分別模擬 OLTP 和OLAP 環(huán)境。
圖片
測試的結(jié)果輸出如下:
圖片
圖片