阿裏雲數據庫CloudDBA的自動運維與智能優化探索
數據庫診斷優化是提高數據庫性能和穩定性的關鍵技術之一。過去幾年阿裏巴巴集團數據庫規模急劇增長並且業務變化越來越快,傳統DBA人工加工具的診斷和優化方法在規模如此之大,業務場景如此複雜的今天麵臨極大的挑戰。於是,自動化、智能化的運維方法和工具的需求就尤為迫切。
阿裏巴巴技術團隊在這方麵不斷摸索與嚐試,並推出了CloudDBA智能化運維產品,將技術專家的運維智慧和經驗凝聚成產品的規則引擎,並利用機器學習學習算法為產品導入智能化模塊,從而將大量的數據庫的診斷分析和優化工作都自動完成,不僅將DBA從繁冗的工作中解救出來,還能夠幫助企業數據庫快速上雲。
數據庫的問題診斷和性能分析對於DBA來說,一直是一件困難的事情。阿裏的技術專家講其原因總結為以下三點:
- 第一難:獲取信息難,問題診斷和性能優化都需要依賴於大量的係統數據,甚至是長期的曆史數據,隻有基於完備的信息才能給出準確的解法。架構一套完善的數據庫監控體係,可不是一件易事,信息收集的全麵深入則就更困難了。
- 第二難:分析信息難,需要多年的經驗才能給出準確的解法,也需要多樣的場景才能覆蓋比較全麵的問題類型。經驗與場景,一不好傳承,二變化較快,三他人理解不易。
- 第三難:優化手段難,找出問題了,知道怎麼辦了,也並不意味著就能馬上解決問題,甚至有些解法是要深入到數據庫引擎層代碼優化,這可不是一朝一夕就能做好的。
那麼阿裏的雲數據庫是如何解決這些問題的呢?
針對獲取信息難的問現狀,為了給問題的診斷提供更詳盡完整的基礎數據,阿裏的CloudDBA設計了特有的監控體係。
常見的監控如下圖所示,圖一是主動拉取監控信息方式,圖二是由agent定期上報監控信息形式,一般圖二架構也可以是圖一基礎上增加agent部分。
阿裏雲數據庫監控體係要更深一步,監控內容麵更廣,同時監控手段更先進,內核團隊針對監控特別優化,可以獲取完整的數據庫執行語句詳情和數據庫全局快照,而對性能影響微乎其微,最多帶來2%的性能差異。
同時利用阿裏雲大數據技術能力,實現了冷熱數據的計算加速,大量曆史數據可以快速完成計算工作,可以很快給出分析結果,架構如下圖,增加了從數據庫到日誌文件的寫入部分強調阿裏雲特有的內核日誌優化工作。
其次,針對數據庫問題的分析,在產品中導入智能算法,並形成特有的四大引擎。
阿裏雲DBA專家多年優化診斷經驗就沉澱在CloudDBA的規則引擎係統上,通過規則引擎可輕鬆實現一種業務場景的問題、條件與解法的研發。並且利用了機器學習能力,自動去抽象各業務的獨有特色,可以很方便的實現獨立業務和普適規則的匹配,為業務特有場景輕鬆推薦最優的優化解法。由於阿裏雲業務的快速發展,目前數據庫實例已經超過10萬,規則引擎中的優化模型越來越完備,而差異算法可輕鬆識別新的業務場景,若真出現沒有遇見過的“遺漏”,也可最快兼容。
圖四就是CloudDBA的四大引擎工作架構圖,將專家知識庫作為規則引擎工作的原材料,這是阿裏雲數據庫服務海量實例的特有數據。
四大引擎解釋說明如下:
規則引擎:後台靈活配置各種性能規則,問題、條件和解法,可快速實現新場景的優化方案開發。
性能分析引擎:實時分析潛在性能風險,每種性能都有預先可定製的性能規則。
實時診斷引擎:實時響應用戶診斷具體對象問題,每個資源都有一係列定製化的檢查規則列表。
SQL優化引擎:基於曆史數據,分析SQL、事務、鎖等核心DB資源的性能問題,並給出優化改進建議。
同時,在產品化的界麵上,數據庫的分析及診斷通過完善的報告形式展示給用戶,如下圖所示:
而廣大DBA最關注的問題莫過於數據庫能否真的實現自動優化,尤其是oow上推出了Oracle 18c自治數據庫之後。那麼阿裏的雲數據庫能否做到真的自動優化呢?(你可能感興趣:深入解讀Oracle 18c對於DBA的影響及應對措施)
客觀上講,阿裏的雲數據庫目前在自動性能優化的方麵仍在不斷的探索當中,目前的自動優化功能主要是幫助數據庫尋找最佳執行路徑,將其優化成更為簡潔和高效的視圖:
也就是將其解析為DBA以外的人員更能理解的視圖。包括產品、架構師、開發等。
自動優化的實例如下:
隨著技術的發展和業務的創新,海量非結構化數據和高並發場景成為企業迫切需要關注的問題,而人工的運維和管理遠遠不能滿足業務的需求,正在這種情況下,數據庫係統的運維終將朝著自動化和智能化的方向不斷演進。
更多你想了解的技術細節在這裏:
今年第七屆數據技術嘉年華上,我們有幸邀請到了來自**阿裏的產品專家胡航麗**為大家帶來 圍繞CloudDBA的主題分享,將圍繞CloudDBA產品,解讀阿裏在數據庫的自動化和智能話運維上的探索嚐試及成果,分享CloudDBA產品的核心的技術及設計理念。分享主題:CloudDBA-數據庫智能優化服務。
原文發布時間為:2017-10-29
本文作者:Roman Trusov
本文來自雲棲社區合作夥伴“數據和雲”,了解相關信息可以關注“數據和雲”微信公眾號
最後更新:2017-10-30 15:33:49