導(dǎo)語|騰訊云原生數(shù)據(jù)庫團(tuán)隊(duì)最新研究成果入選國(guó)際頂會(huì)SIGMOD,數(shù)據(jù)庫結(jié)合AI形成自治大腦,并在2022年智能調(diào)優(yōu)人機(jī)大賽中戰(zhàn)績(jī)不菲,標(biāo)志著騰訊云在數(shù)據(jù)庫自治領(lǐng)域取得重大突破,實(shí)現(xiàn)性能領(lǐng)先。
加入AI技術(shù),形成數(shù)據(jù)庫自治大腦
——周可/華中科技大學(xué)教授
周可教授表示,在海量數(shù)據(jù)的大背景下,DBA(人工運(yùn)維)的增長(zhǎng)遠(yuǎn)遠(yuǎn)跟不上數(shù)據(jù)的增長(zhǎng),且用戶負(fù)載具有多樣性和動(dòng)態(tài)性,一成不變的運(yùn)維方式已不能夠滿足用戶的需求。把AI加入到數(shù)據(jù)庫,形成數(shù)據(jù)庫的自治大腦,符合數(shù)據(jù)庫自治的發(fā)展方向。
實(shí)現(xiàn)數(shù)據(jù)庫自治的基本框架包括觀察、分析、決策三個(gè)方面。用更低的成本收集負(fù)載數(shù)據(jù),根據(jù)收集到的數(shù)據(jù)選擇合適的方法進(jìn)行分析,最后決策部分解決何時(shí)部署,量化操作以便于模型處理,進(jìn)行反饋操作使模型能夠進(jìn)行自學(xué)習(xí),自優(yōu)化,從而使自治數(shù)據(jù)庫可以在不需要人工輔助的前提下,針對(duì)特定的數(shù)據(jù)和負(fù)載自動(dòng)地進(jìn)行配置、管理和優(yōu)化。
未來,數(shù)據(jù)庫自治面臨的挑戰(zhàn)有三方面:
·數(shù)據(jù)庫負(fù)載動(dòng)態(tài)多樣,需要保證數(shù)據(jù)庫的高效適應(yīng)性;
·用更少的資源,保證數(shù)據(jù)庫的性能穩(wěn)定性;
·數(shù)據(jù)庫自治操作具有可解釋性,以便幫助系統(tǒng)管理員從中學(xué)習(xí),還可以促進(jìn)系統(tǒng)的優(yōu)化發(fā)展。
以盡可能少的時(shí)間,獲得較好的調(diào)優(yōu)效果
——邢家樹/TEG數(shù)據(jù)庫研發(fā)部/云原生數(shù)據(jù)庫研發(fā)中心/高級(jí)工程師
數(shù)據(jù)庫的參數(shù)多,調(diào)優(yōu)難度大,運(yùn)維人時(shí)成本高;現(xiàn)存工具功能有限,耗時(shí)久且效果一般;部分用戶沒有專職運(yùn)維團(tuán)隊(duì),參數(shù)調(diào)優(yōu)更是難以實(shí)現(xiàn)。針對(duì)種種困難,騰訊云數(shù)據(jù)庫團(tuán)隊(duì)推出參數(shù)調(diào)優(yōu)服務(wù),端到端地自動(dòng)調(diào)優(yōu)數(shù)據(jù)庫參數(shù)。相比于現(xiàn)存方法,CDBTune(騰訊云MySQL混合調(diào)優(yōu)系統(tǒng))無需細(xì)分負(fù)載類型,無需積累大量樣本,可智能學(xué)習(xí)參數(shù)調(diào)優(yōu)過程,獲得較好的參數(shù)調(diào)優(yōu)效果。
原理上采用深度強(qiáng)化學(xué)習(xí)模型。通過對(duì)數(shù)據(jù)庫進(jìn)行壓測(cè),記錄數(shù)據(jù)庫的內(nèi)外部指標(biāo),生成樣本進(jìn)行學(xué)習(xí)。使用遺傳算法和專家經(jīng)驗(yàn)進(jìn)行快速預(yù)熱,通過并行架構(gòu)顯著提升調(diào)優(yōu)速度。實(shí)行端到端的設(shè)計(jì),簡(jiǎn)單、高效且易于訓(xùn)練,易于實(shí)現(xiàn)服務(wù)化,能夠在盡可能少的時(shí)間里,為用戶找到最佳調(diào)優(yōu)方向。
落地到工程實(shí)踐應(yīng)用層面。分離服務(wù)調(diào)度和任務(wù)執(zhí)行工作,由worker執(zhí)行具體的任務(wù)。Learner任務(wù)負(fù)責(zé)抽取樣本,計(jì)算網(wǎng)絡(luò)梯度,更新神經(jīng)網(wǎng)絡(luò),為Actor推薦數(shù)據(jù)庫參數(shù)。Actor則負(fù)責(zé)與訓(xùn)練實(shí)例交互,設(shè)置參數(shù),回放流量,并收集性能數(shù)據(jù);每完成一輪,從Learner獲取新的參數(shù)推薦,形成閉環(huán)。整體上實(shí)現(xiàn)為并行架構(gòu),具備高可用、可擴(kuò)展、任務(wù)自動(dòng)恢復(fù)等能力。
數(shù)據(jù)庫自治“監(jiān)控-診斷-解決”AI技術(shù)實(shí)踐
——張遠(yuǎn)/TEG數(shù)據(jù)庫研發(fā)部/云原生數(shù)據(jù)庫研發(fā)中心/專家工程師
在數(shù)據(jù)庫服務(wù)中,數(shù)據(jù)庫資源包括內(nèi)存/IO/CPU,資源的監(jiān)控,異常的識(shí)別、檢測(cè)非常重要,只有合理地使用數(shù)據(jù)庫資源,才能保持?jǐn)?shù)據(jù)庫服務(wù)的穩(wěn)定高效。騰訊云MySQL的異常檢測(cè)能力,可自動(dòng)發(fā)現(xiàn)異常(內(nèi)存分析、內(nèi)核埋點(diǎn)、io延遲硬件資源統(tǒng)計(jì)),對(duì)異常進(jìn)行識(shí)別,實(shí)現(xiàn)異常檢測(cè)內(nèi)部閉環(huán),降低運(yùn)維壓力。
騰訊云MySQL可設(shè)置SQL限流功能,在發(fā)現(xiàn)異常請(qǐng)求之后,對(duì)異常業(yè)務(wù)SQL進(jìn)行限流,從而保證正常SQL語句能夠運(yùn)行;改進(jìn)MySQL官方原有直方圖,推出Compressed直方圖,避免了因數(shù)據(jù)傾斜導(dǎo)致統(tǒng)計(jì)信息不準(zhǔn),選錯(cuò)計(jì)劃而導(dǎo)致的問題;推出Statment Outline功能,將用戶需要的查詢計(jì)劃固化下來,不需要修改SQL語句,從Outlint表中即可查詢到對(duì)應(yīng)的計(jì)劃,從而提升用戶使用體驗(yàn);對(duì)新建索引進(jìn)行并行優(yōu)化,推出并行排序優(yōu)化,并行構(gòu)建btree,與官方mysql對(duì)比,性能更好(加速比最高可到15,是官方mysql的5倍),功能更全;優(yōu)化器自治方面,跟蹤業(yè)務(wù)SQL性能數(shù)據(jù)(SQL標(biāo)簽,性能埋點(diǎn),變化跟蹤),自動(dòng)產(chǎn)生優(yōu)化策略(統(tǒng)計(jì)信息,虛擬索引,計(jì)劃干預(yù)),驗(yàn)證優(yōu)化策略并灰度生效,實(shí)現(xiàn)SQL調(diào)優(yōu)閉環(huán),降低規(guī)?;\(yùn)營(yíng)壓力。
針對(duì)特定業(yè)務(wù)場(chǎng)景性能問題,對(duì)死鎖場(chǎng)景優(yōu)化,設(shè)置死鎖檢測(cè)開關(guān),豐富死鎖信息,對(duì)事務(wù)鎖優(yōu)化,降低發(fā)生死鎖的概率同時(shí)減少了鎖資源占用;對(duì)電商業(yè)務(wù)的秒殺場(chǎng)景,動(dòng)態(tài)一鍵開啟熱點(diǎn)更新保護(hù)功能,使業(yè)務(wù)無感知,秒殺場(chǎng)景性能提升50倍;遷移切換場(chǎng)景優(yōu)化,通過主備緩存同步優(yōu)化解決HA預(yù)熱時(shí)間長(zhǎng)等問題,使HA業(yè)務(wù)平滑過度,減少抖動(dòng)。
數(shù)據(jù)庫“智能化”,以適應(yīng)任何業(yè)務(wù)場(chǎng)景構(gòu)
——程昌明/CSIG云產(chǎn)品一部/數(shù)據(jù)庫中心/高級(jí)產(chǎn)品經(jīng)理
由于業(yè)務(wù)系統(tǒng)的千差萬別,針對(duì)業(yè)務(wù)的參數(shù)調(diào)優(yōu)是令數(shù)據(jù)庫管理者頭痛的難題,往往需要借助經(jīng)驗(yàn)去構(gòu)筑一套相對(duì)“有效”的參數(shù)模版,往往模板無法應(yīng)對(duì)所有情況。“智能”以適應(yīng)任何業(yè)務(wù)場(chǎng)景。
騰訊云MySQL在2019和2022年發(fā)表2篇SIGMOD頂級(jí)論文:
2019年,騰訊云數(shù)據(jù)庫產(chǎn)品團(tuán)隊(duì)首度提出基于深度強(qiáng)化學(xué)習(xí)(DRL)的端到端云數(shù)據(jù)庫參數(shù)調(diào)優(yōu)系統(tǒng)CDBTune,該研究論文“An End-to-End Automatic Cloud Database Tuning System Using Deep Reinforcement Learning”入選SIGMOD Research Full Paper(研究類長(zhǎng)文)
2022年,騰訊云數(shù)據(jù)庫產(chǎn)品團(tuán)隊(duì)最新研究成果入選SIGMOD Research Full Paper(研究類長(zhǎng)文),論文題目為“HUNTER:An Online Cloud Database Hybrid Tuning System for Personalized Requirements”,標(biāo)志著騰訊云數(shù)據(jù)庫團(tuán)隊(duì)在數(shù)據(jù)庫AI智能化上取得進(jìn)一步突破,實(shí)現(xiàn)性能領(lǐng)先。
通過AI智能分析的方式,能夠獲得最佳的調(diào)參效果;通過“一鍵”方式,完成復(fù)雜的調(diào)參過程,獲得最佳參數(shù)設(shè)置建議。根據(jù)業(yè)務(wù)情況,業(yè)務(wù)每個(gè)階段需要的特性是不一樣的。騰訊云MySQL的最佳實(shí)踐可對(duì)應(yīng)到業(yè)務(wù)的以下三個(gè)階段:
實(shí)例新購階段:針對(duì)每一種場(chǎng)景訓(xùn)練最優(yōu)配置,盡可能匹配業(yè)務(wù)特征,不同的工作負(fù)載上有15%-50%的提升。
業(yè)務(wù)快速迭代階段:確定業(yè)務(wù)類型,不同的場(chǎng)景根據(jù)自身情況完全自定義,預(yù)估優(yōu)化結(jié)果,一鍵快速應(yīng)用到實(shí)例。以游戲?yàn)槔_局時(shí)玩家瘋狂涌入;以電商為例,購物峰值的產(chǎn)生;有預(yù)見性地提前設(shè)置好最佳參數(shù)以應(yīng)對(duì)即將到來的數(shù)據(jù)庫峰值壓力。
業(yè)務(wù)穩(wěn)定運(yùn)行階段:通過對(duì)數(shù)據(jù)庫的工作負(fù)載特征捕獲、重放,對(duì)監(jiān)控指標(biāo)、SQL運(yùn)行狀態(tài)進(jìn)行監(jiān)控分析,不斷通過深度學(xué)習(xí)調(diào)整參數(shù)值以最終輸出最佳參數(shù)值。
數(shù)據(jù)庫自治未來的“智能”展望,除了數(shù)據(jù)庫參數(shù),還有各種各樣的因素影響著數(shù)據(jù)庫的高效運(yùn)行,SQL執(zhí)行效率、索引是否合理、鎖、資源配置等都可以通過“AI”的方式得到解決。