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