91一级特黄大片|婷婷中文字幕在线|av成人无码国产|日韩无码一二三区|久久不射强奸视频|九九九久久久精品|国产免费浮力限制

5
點(diǎn)贊
0
評論
0
轉(zhuǎn)載
我要入駐

TKDE 2025 | OpDiag:數(shù)據(jù)庫性能異常的算子級診斷

TKDE(IEEE Transactions on Knowledge and Data Engineering)是數(shù)據(jù)庫與數(shù)據(jù)科學(xué)領(lǐng)域影響力最高的學(xué)術(shù)期刊之一,也是CCF推薦的A類學(xué)術(shù)期刊之一。PKU-DAIR實驗室論文《OpDiag: Unveiling Database Performance Anomalies through Query Operator Attribution》被TKDE錄用。

OpDiag: Unveiling Database Performance Anomalies through Query Operator Attribution

作者:Shiyue Huang, Ziwei Wang, Yinjun Wu, Yaofeng Tu, Jiankai Wang, Bin Cui

代碼鏈接:https://github.com/hjhhsy120/opdiag

 

一、問題背景與動機(jī)

在現(xiàn)代數(shù)據(jù)庫應(yīng)用中,性能異常是影響系統(tǒng)運(yùn)行效率與穩(wěn)定性的重要因素,通常涉及復(fù)雜的診斷與修復(fù)過程,需要大量的人力開銷。現(xiàn)有的自動診斷工具,例如DBSherlock [1]、ISQUAD [2]等,大多只能定位異常性能指標(biāo),判斷異常類型,而無法為異常修復(fù)提供細(xì)節(jié)指導(dǎo)。2023年的研究工作BALANCE [3]具有定位異常查詢的功能,但仍然無法提供更細(xì)粒度的診斷信息。

以索引缺失異常為例,DBSherlock的診斷報告僅包含異常指標(biāo)與異常類型,數(shù)據(jù)庫管理員(DBA)需要進(jìn)行查詢事務(wù)和數(shù)據(jù)庫表的排查,才能確定哪個列需要添加索引。BALANCE能夠定位異常查詢,但是對于復(fù)雜查詢,DBA仍然需要排查其涉及的表列,帶來一定的人力開銷。理想的診斷報告應(yīng)直接指出哪個表的哪個列缺少了索引,這樣DBA可以直接添加索引進(jìn)行修復(fù),避免繁瑣的排查與試錯過程。

經(jīng)觀察,性能異常修復(fù)所需的細(xì)粒度信息通常與查詢算子相綁定。例如,缺失的索引與相關(guān)表列上的scan算子是綁定的。因此,我們考慮設(shè)計數(shù)據(jù)庫性能異常的算子級診斷方案,為后續(xù)修復(fù)提供直接指導(dǎo),從而減少人力開銷,提高運(yùn)維效率。

二、方法

1. 框架流程

我們提出的算子級診斷方案OpDiag框架如圖1所示。該框架分為離線訓(xùn)練與在線診斷兩部分。

離線訓(xùn)練階段,在數(shù)據(jù)庫上運(yùn)行benchmark,采集性能指標(biāo)與查詢計劃信息,訓(xùn)練query encoder、aggregator和classifier模型。

在線診斷階段,data collector持續(xù)從系統(tǒng)中采集性能指標(biāo),輸入classifier模型判斷是否發(fā)生異常。一旦發(fā)生異常,data collector立即采集查詢計劃信息,開始診斷流程,包括性能指標(biāo)重要度、可疑查詢、可疑算子的定位。最后,輸出診斷報告,為后續(xù)修復(fù)提供指導(dǎo)。

圖1. OpDiag框架

2. 細(xì)粒度建模

OpDiag針對查詢算子與性能異常之間的關(guān)系,進(jìn)行了細(xì)粒度建模。

首先,query encoder以查詢計劃為輸入,使用Tree-CNN模型[4]進(jìn)行編碼,輸出單個查詢的編碼向量。Tree-CNN的正向計算過程如圖2所示,其主要優(yōu)勢在于,在保留樹結(jié)構(gòu)信息的同時,不會受到樹深的過度影響。

其次,aggregator以多個并發(fā)查詢的編碼向量為輸入,使用DNN進(jìn)行聚合,輸出系統(tǒng)性能指標(biāo)的預(yù)測值。在訓(xùn)練過程中,query encoder與aggregator作為一個整體進(jìn)行訓(xùn)練,feature為查詢算子特征,label為性能指標(biāo)。

最后,classifier以性能指標(biāo)為輸入,使用隨機(jī)森林模型,判斷異常是否發(fā)生。我們對每個異常使用一個二分類器,以避免互相干擾。訓(xùn)練時,classifier以真實性能指標(biāo)為feature,而不是前面的預(yù)測值,這樣可以引入更多監(jiān)督信號,提高準(zhǔn)確率。

由此,OpDiag實現(xiàn)了查詢算子、查詢、性能指標(biāo)、異常類型判斷的多層次細(xì)粒度建模,為后續(xù)的歸因方法奠定了基礎(chǔ)。

圖2. Tree-CNN模型

3. 細(xì)粒度歸因

在線診斷過程中,OpDiag采用模型解釋算法,對現(xiàn)場數(shù)據(jù)與模型進(jìn)行細(xì)粒度歸因,以判斷模型的哪部分輸入對模型輸出的影響最大,從而進(jìn)行異常根因的定位。其流程如圖3所示。

首先,OpDiag對classifier的樹模型進(jìn)行解釋,獲得性能指標(biāo)重要度。

其次,將aggregator輸出的性能指標(biāo)按重要度加權(quán)求和,然后使用梯度積分法[5],獲得查詢編碼向量的重要度。根據(jù)重要度排名,即可定位可疑查詢。

接著,選取可疑查詢,對query encoder使用梯度積分法進(jìn)行模型解釋,獲得算子重要度,從而定位可疑算子。

最后,綜合各步驟的結(jié)果,輸出完整的診斷報告,其中包含異常類型、異常性能指標(biāo)、可疑查詢、可疑算子信息,可為異常修復(fù)提供直接指導(dǎo)。

圖3. 細(xì)粒度歸因流程

三、實驗結(jié)果

我們選取了三種常見性能異常進(jìn)行評測,它們分別是索引缺失、表膨脹、鎖等待。在索引缺失與表膨脹的復(fù)現(xiàn)中,我們不僅注入了缺失索引表上的查詢,還注入了同等規(guī)模的正常表上的查詢作為對照。若對照組的可疑度排名高于目標(biāo)異常查詢,則視為診斷錯誤。

查詢級診斷結(jié)果如表1所示。OpDiag能在Top-2查詢中準(zhǔn)確檢出所有案例,比現(xiàn)有工作BALANCE [3]的準(zhǔn)確率更高。表中之所以有較多的100%,是因為我們復(fù)現(xiàn)異常時注入的查詢相對于背景負(fù)載較為突出,更容易被定位到。

表1. 查詢級診斷結(jié)果

算子級診斷方面,OpDiag同樣能在Top-2查詢中準(zhǔn)確檢出所有案例。圖4展示了一個索引缺失案例的診斷報告。其中排名第一的算子為append,表示兩表查詢結(jié)果的拼接,不影響修復(fù)過程的判斷。排名第二的算子為缺索引表A上的scan算子,順位高于正常表B上的scan算子,驗證了結(jié)果的正確性。

圖4. 診斷報告案例

除了上述實驗外,我們還邀請了來自中興通訊的6名專業(yè)DBA,選取了3個工業(yè)案例,評估了在有/無OpDiag輔助的條件下,進(jìn)行診斷與修復(fù)的耗時。如表2所示,OpDiag可大幅節(jié)省異常處理時間。其中,案例3的算子級診斷之所以未節(jié)省時間,是因為該案例的修復(fù)涉及復(fù)雜的查詢改寫,導(dǎo)致異常算子信息無法提供幫助。

表2. 工業(yè)案例節(jié)省時間百分比

 

四、總結(jié)

在本研究中,我們提出了數(shù)據(jù)庫性能異常的算子級診斷方案OpDiag。該方案通過細(xì)粒度建模與歸因算法,實現(xiàn)了可疑查詢與算子的定位,用于直接指導(dǎo)異常修復(fù)。實驗表明,OpDiag的診斷準(zhǔn)確率高,優(yōu)于現(xiàn)有方法,有助于節(jié)省人工修復(fù)時間,從而提升現(xiàn)代數(shù)據(jù)庫的運(yùn)維效率。

 

參考文獻(xiàn):

[1] Dong Young Yoon, Ning Niu, Barzan Mozafari. DBSherlock: A Performance Diagnostic Tool for Transactional Databases. SIGMOD, 2016.

[2] Minghua Ma, Zheng Yin, Shenglin Zhang, Sheng Wang, Christopher Zheng, Xinhao Jiang, Hanwen Hu, Cheng Luo, Yilin Li, Nengjun Qiu, Feifei Li, Changcheng Chen, Dan Pei. Diagnosing Root Causes of Intermittent Slow Queries in Large-Scale Cloud Databases. VLDB, 2020.

[3] Chaoyu Chen, Hang Yu, Zhichao Lei, Jianguo Li, Shaokang Ren, Tingkai Zhang, Silin Hu, Jianchao Wang, Wenhui Shi. BALANCE: Bayesian Linear Attribution for Root Cause Localization. SIGMOD 2023.
[4] Ryan Marcus, Parimarjan Negi, Hongzi Mao, Chi Zhang, Mohammad Alizadeh, Tim Kraska, Olga Papaemmanouil, Nesime Tatbul. Neo: A Learned Query Optimizer. VLDB, 2019.

[5] Mukund Sundararajan, Ankur Taly, Qiqi Yan. Axiomatic Attribution for Deep Networks. ICML, 2017.

 

 

實驗室簡介

 

北京大學(xué)數(shù)據(jù)與智能實驗室(Data And Intelligence Research Lab at Peking Univeristy,PKU-DAIR實驗室)由北京大學(xué)計算機(jī)學(xué)院崔斌教授領(lǐng)導(dǎo),長期從事數(shù)據(jù)庫系統(tǒng)、大數(shù)據(jù)管理與分析、人工智能等領(lǐng)域的前沿研究,在理論和技術(shù)創(chuàng)新以及系統(tǒng)研發(fā)上取得多項成果,已在國際頂級學(xué)術(shù)會議和期刊發(fā)表學(xué)術(shù)論文200余篇,發(fā)布多個開源項目。課題組同學(xué)曾數(shù)十次獲得包括CCF優(yōu)博、ACM中國優(yōu)博、北大優(yōu)博、微軟學(xué)者、蘋果獎學(xué)金、谷歌獎學(xué)金等榮譽(yù)。PKU-DAIR實驗室持續(xù)與工業(yè)界展開卓有成效的合作,與騰訊、阿里巴巴、蘋果、微軟、百度、快手、中興通訊等多家知名企業(yè)開展項目合作和前沿探索,解決實際問題,進(jìn)行科研成果的轉(zhuǎn)化落地。

 


北京大學(xué)數(shù)據(jù)與智能實驗室,PKU-DAIR,Peking University Data And Intelligence Research Lab,負(fù)責(zé)人為北京大學(xué)計算機(jī)學(xué)院崔斌教授。
返回頂部