天天看點

資料庫“自動駕駛”,騰訊雲原生資料庫 X AI 探索與突破!

導語 | 騰訊雲原生資料庫團隊最新研究成果入選國際頂會SIGMOD,資料庫結合AI形成自治大腦,并在2022年智能調優人機大賽中戰績不菲,标志着騰訊雲在資料庫自治領域取得重大突破,實作性能領先。

加入AI技術,形成資料庫自治大腦

—— 周可/華中科技大學教授

周可教授表示,在海量資料的大背景下,DBA(人工運維)的增長遠遠跟不上資料的增長,且使用者負載具有多樣性和動态性,一成不變的運維方式已不能夠滿足使用者的需求。把AI加入到資料庫,形成資料庫的自治大腦,符合資料庫自治的發展方向。

實作資料庫自治的基本架構包括觀察、分析、決策三個方面。用更低的成本收集負載資料,根據收集到的資料選擇合适的方法進行分析,最後決策部分解決何時部署,量化操作以便于模型處理,進行回報操作使模型能夠進行自學習,自優化,進而使自治資料庫可以在不需要人工輔助的前提下,針對特定的資料和負載自動地進行配置、管理和優化。

未來,資料庫自治面臨的挑戰有三方面:

資料庫負載動态多樣,需要保證資料庫的高效适應性;

用更少的資源,保證資料庫的性能穩定性;

資料庫自治操作具有可解釋性,以便幫助系統管理者從中學習,還可以促進系統的優化發展。

以盡可能少的時間,獲得較好的調優效果

—— 邢家樹/TEG資料庫研發部/雲原生資料庫研發中心/進階工程師

資料庫的參數多,調優難度大,運維人時成本高;現存工具功能有限,耗時久且效果一般;部分使用者沒有專職運維團隊,參數調優更是難以實作。針對種種困難,騰訊雲資料庫團隊推出參數調優服務,端到端地自動調優資料庫參數。相比于現存方法,CDBTune(騰訊雲MySQL混合調優系統)無需細分負載類型,無需積累大量樣本,可智能學習參數調優過程,獲得較好的參數調優效果 。

原理上采用深度強化學習模型。通過對資料庫進行壓測,記錄資料庫的内外部名額,生成樣本進行學習。使用遺傳算法和專家經驗進行快速預熱,通過并行架構顯著提升調優速度。實行端到端的設計,簡單、高效且易于訓練,易于實作服務化,能夠在盡可能少的時間裡,為使用者找到最佳調優方向。

落地到工程實踐應用層面。分離服務排程和任務執行工作,由worker執行具體的任務。Learner任務負責抽取樣本,計算網絡梯度,更新神經網絡,為Actor推薦資料庫參數。Actor則負責與訓練執行個體互動,設定參數,回放流量,并收集性能資料;每完成一輪,從Learner擷取新的參數推薦,形成閉環。整體上實作為并行架構,具備高可用、可擴充、任務自動恢複等能力。

資料庫自治“監控-診斷-解決”AI技術實踐

—— 張遠/TEG資料庫研發部/雲原生資料庫研發中心/專家工程師

在資料庫服務中,資料庫資源包括記憶體/IO/CPU,資源的監控,異常的識别、檢測非常重要,隻有合理地使用資料庫資源,才能保持資料庫服務的穩定高效。騰訊雲MySQL的異常檢測能力,可自動發現異常(記憶體分析、核心埋點、io延遲硬體資源統計),對異常進行識别,實作異常檢測内部閉環,降低運維壓力。

騰訊雲MySQL可設定SQL限流功能,在發現異常請求之後,對異常業務SQL進行限流,進而保證正常SQL語句能夠運作;改進MySQL官方原有直方圖,推出Compressed直方圖,避免了因資料傾斜導緻統計資訊不準,選錯計劃而導緻的問題;推出Statment Outline功能,将使用者需要的查詢計劃固化下來,不需要修改SQL語句,從Outlint表中即可查詢到對應的計劃,進而提升使用者使用體驗;對建立索引進行并行優化,推出并行排序優化,并行建構btree,與官方mysql對比,性能更好(加速比最高可到15,是官方mysql的5倍),功能更全;優化器自治方面,跟蹤業務SQL性能資料 (SQL标簽,性能埋點,變化跟蹤),自動産生優化政策(統計資訊,虛拟索引,計劃幹預),驗證優化政策并灰階生效,實作SQL調優閉環,降低規模化營運壓力。

針對特定業務場景性能問題,對死鎖場景優化,設定死鎖檢測開關,豐富死鎖資訊,對事務鎖優化,降低發生死鎖的機率同時減少了鎖資源占用;對電商業務的秒殺場景,動态一鍵開啟熱點更新保護功能,使業務無感覺,秒殺場景性能提升50倍;遷移切換場景優化,通過主備緩存同步優化解決HA預熱時間長等問題,使HA業務平滑過度,減少抖動。

資料庫“智能化”,以适應任何業務場景構

—— 程昌明/CSIG雲産品一部/資料庫中心/進階産品經理

由于業務系統的千差萬别,針對業務的參數調優是令資料庫管理者頭痛的難題,往往需要借助經驗去構築一套相對“有效”的參數模版,往往模闆無法應對所有情況。“智能”以适應任何業務場景。

騰訊雲MySQL在2019和2022年發表2篇SIGMOD頂級論文:

2019年,騰訊雲資料庫産品團隊首度提出基于深度強化學習(DRL)的端到端雲資料庫參數調優系統CDBTune,該研究論文“An End-to-End Automatic Cloud Database Tuning System Using Deep Reinforcement Learning”入選SIGMOD Research Full Paper(研究類長文)

2022年,騰訊雲資料庫産品團隊最新研究成果入選 SIGMOD Research Full Paper(研究類長文),論文題目為“HUNTER: An Online Cloud Database Hybrid Tuning System for Personalized Requirements”,标志着騰訊雲資料庫團隊在資料庫AI智能化上取得進一步突破,實作性能領先。

通過AI智能分析的方式,能夠獲得最佳的調參效果;通過“一鍵”方式,完成複雜的調參過程,獲得最佳參數設定建議。根據業務情況,業務每個階段需要的特性是不一樣的。騰訊雲MySQL的最佳實踐可對應到業務的以下三個階段:

執行個體新購階段:針對每一種場景訓練最優配置,盡可能比對業務特征,不同的工作負載上有15%-50%的提升。

業務快速疊代階段:确定業務類型,不同的場景根據自身情況完全自定義,預估優化結果,一鍵快速應用到執行個體。以遊戲為例,開局時玩家瘋狂湧入;以電商為例,購物峰值的産生;有預見性地提前設定好最佳參數以應對即将到來的資料庫峰值壓力。

業務穩定運作階段:通過對資料庫的工作負載特征捕獲、重放,對監控名額、SQL運作狀态進行監控分析,不斷通過深度學習調整參數值以最終輸出最佳參數值。

資料庫自治未來的“智能”展望 ,除了資料庫參數,還有各種各樣的因素影響着資料庫的高效運作,SQL執行效率、索引是否合理、鎖、資源配置等都可以通過“AI”的方式得到解決。

騰訊雲MySQL“智能調參”将于5月份對外發出公測邀請,敬請期待!

資料庫專家怎麼說