好消息,騰訊雲資料庫團隊智能調參CDBTune產品現已進入內測階段,歡迎資料庫愛好者、使用者、開發者前來測試。 CDBTune(cloud database tune)是基於2019至2021年間騰訊雲資料庫團隊連續發表兩篇頂級論文的研究成果,對雲資料庫進行調優的一整套解決方案,旨在充分藉助深度學習 ...
好消息,騰訊雲資料庫團隊智能調參CDBTune產品現已進入內測階段,歡迎資料庫愛好者、使用者、開發者前來測試。
CDBTune(cloud database tune)是基於2019至2021年間騰訊雲資料庫團隊連續發表兩篇頂級論文的研究成果,對雲資料庫進行調優的一整套解決方案,旨在充分藉助深度學習技術提升資料庫的運行效率。
在現實場景中,由於業務系統的千差萬別以及大量參數帶來的可設置範圍複雜度,往往需要藉助經驗去構築一套相對較為優異且通用的參數模板。因此,資料庫當前運行參數往往也不是業務所需的最佳參數。同時,資料庫參數調優能力也是專家級資料庫管理者的專屬技能,這也就意味著調優性能受限於人力。除此之外,資料庫參數調優還存在以下常見問題:
參數非常多:例如 MySQL,有幾百個配置項,調優難度大。
人力成本高:需要專職 DBA,依靠專家經驗,人時成本高。
工具普適性:現存工具功能有限,耗時久效果一般。
雲上新需求:部分用戶沒有專職運維團隊,參數調優很難實現。
騰訊雲資料庫團隊通過不斷強化學習演算法來解決資料庫參數設置的問題,目標是使用有限的樣本,構建端到端的模型,輸入為當資料庫當前狀態,輸出為推薦的配置,並且將時間成本控制到儘可能的短。基於此,團隊構建了一個使用深度強化學習的雲資料庫調優系統,通過設置性能目標獎勵,比如TPS上升,QPS上升或者延遲降低,認為是獲得獎勵,使得AI像玩游戲一樣來調整參數,最終資料庫獲得更高的一個性能。
在整個過程中,資料庫上執行推薦配置資料庫的當前狀態將發生變化。內部指標可用於衡量與強化學習狀態相對應的資料庫的運行時的行為。而外部指標可評估資料庫的性能或獎勵,不斷重覆整個過程,直到模型收斂。從調優效果比對圖中可以看出,CDBTune在所有的情況下均體現了更好的性能,響應時間普遍降低50%以上。
同時也得益於騰訊雲充沛且完善的硬體基礎設施,以及遺傳演算法、專家經驗、定型價格,使得只能調參得以產品化,不僅僅停留在理論層面。
智能調參CDBTune服務於資料庫適應業務的各個階段,所能實現的功能也正對應著每一階段的特性。具體如下:
實例新購階段,可針對每一種場景訓練出最優配置,並且考慮到業務特征支持靈活自定義,在不同的工作負載上有15%-50%的性能提升。
在未知併發量、負載的情況下,CDBTune支持交易類場景、OLTP性能測試場景、壓力測試場景選擇。
在已有最佳性能參數的情況下,CDBTune支持針對性調優,不覆蓋原有最佳性能參數設置,不影響客戶手工指定最優參數。
在特殊業務場景下,應用程式必須適配特殊場景,參數調整不影響參數模版的使用。
業務的快速迭代階段,可主動判斷業務類型,當適應快速迭代後,僅需2-3小時即可獲得調優結果。
當業務特征快速變化時,主動確定業務類型,減少逐一匹配帶來的資源損耗。
不同的場景可以根據自身情況進行完全自定義,針對具體場景進行專項調用。
預估優化結果,一鍵快速應用至實例。
穩定運行階段,整個資料庫運行的負載及特性明確,該階段主要目標為降低TCO。
根據長期運行監控分析工作負載特征。
記錄工作負載相關SQL信息。
記錄工作負載相關資源信息。
整體而言,CDBTune具體優勢如下:
全生命周期:CDBTune支持在新購階段以及運行階段進行分析,覆蓋資料庫實例全生命周期。
靈活易操作:針對不同的場景可以根據實際需求進行負載特征的調整,適配多樣化的業務場景。
快速可靠:對比傳統的深度學習演算法要獲取最佳參數建議時長減少60%以上。
優越性能:針對性優化,獲得更好更準確的參數建議,實現更優的參數設置。